c# - 从 Winform 显示 pdf 文件

标签 c# winforms pdf

我只是用 C#(Windows 窗体)创建一个简单的计算器

我创建了一个“用户帮助”,它是一个 pdf 文件,我想要的是在用户单击 WinForm 中的“帮助”按钮时显示该 pdf 文件。如果假设用户的机器上预装了 Adob​​e 阅读器....

如何在winForm中点击按钮打开pdf文件?

我不打算在用户的硬盘上提供此 pdf 文件。这意味着我必须将此 pdf 嵌入到计算器 (winForm) 中,并且必须在单击按钮时显示它。

请指导我在 winForm 中显示嵌入式文件的最佳实践。

最佳答案

您可以引用 Adob​​e Reader ActiveX 控件并将其与您的应用程序捆绑在一起。

只需将 AcroPDF.PDF.1 从 COM Components 选项卡添加到您的工具箱(右键单击工具箱并单击 Choose Items...),然后将一个实例拖到您的Winform 让设计师为您创建代码。或者,在添加必要的引用后,您可以使用以下代码:

AxAcroPDFLib.AxAcroPDF pdf = new AxAcroPDFLib.AxAcroPDF();
pdf.Dock = System.Windows.Forms.DockStyle.Fill;
pdf.Enabled = true;
pdf.Location = new System.Drawing.Point(0, 0);
pdf.Name = "pdfReader";
pdf.OcxState = ((System.Windows.Forms.AxHost.State)(new System.ComponentModel.ComponentResourceManager(typeof(ViewerWindow)).GetObject("pdfReader.OcxState")));
pdf.TabIndex = 1;

// Add pdf viewer to current form        
this.Controls.Add(pdf);

pdf.LoadFile(@"C:\MyPDF.pdf");
pdf.setView("Fit");
pdf.Visible = true;

关于c# - 从 Winform 显示 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2220134/

相关文章:

php - 禁用 PDF 文件的快速 Web 查看

java - 将PDF转换为Base64并将数据存储到数据库的BLOB

c# - 如何在 C# 中使用 html 在 pdf 文件中设置背景颜色和表格边框

winforms - 复杂的多线程接口(interface)

c# - 将泛型对象转换为强类型 T

c# - 无法从 DataGridView 获取值到另一个表单

c# - 表单不响应 KeyDown 事件

java - 向 pdf 添加文本?

c# - 如何在 ReSharper 中重置 foreach 自动完成行为

c# - 如何修复 windbg 执行中显示的这个异常?