是否有免费的库可以让我在winform项目中打开PDF并显示?我知道我可以在Adobe Reader或其他类似软件中打开它,但对我来说它总是显得非常臃肿,并且我要依赖于其是否已安装。是否有一个漂亮的轻量级替代品,我可以只需在我的项目中包含一个dll或类似物,避免外部依赖。
我不需要太多功能,只需要查看、更改页面缩放等。
我见过一些库,但它们似乎是关于创建PDF而不是查看。
是否有免费的库可以让我在winform项目中打开PDF并显示?我知道我可以在Adobe Reader或其他类似软件中打开它,但对我来说它总是显得非常臃肿,并且我要依赖于其是否已安装。是否有一个漂亮的轻量级替代品,我可以只需在我的项目中包含一个dll或类似物,避免外部依赖。
我不需要太多功能,只需要查看、更改页面缩放等。
我见过一些库,但它们似乎是关于创建PDF而不是查看。
首先需要引用Adobe Reader ActiveX控件。
Adobe Acrobat浏览器控件类型库1.0
%programfiles&\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll
然后您只需从工具箱中将其拖入Windows窗体中。
并使用以下代码初始化ActiveX控件。
private void InitializeAdobe(string filePath)
{
try
{
this.axAcroPDF1.LoadFile(filePath);
this.axAcroPDF1.src = filePath;
this.axAcroPDF1.setShowToolbar(false);
this.axAcroPDF1.setView("FitH");
this.axAcroPDF1.setLayoutMode("SinglePage");
this.axAcroPDF1.Show();
}
catch (Exception ex)
{
throw;
}
}
确保在表单关闭时,您处理 ActiveX 控件的释放。
this.axAcroPDF1.Dispose();
this.axAcroPDF1 = null;
安装了Acrobat Reader的ActiveX控件应该可以使用,可以通过设计器将其拖入或使用此类工具。
这需要在客户端安装相应版本的阅读器,但由于您表示您可以自己启动阅读器,所以这不应该是一个问题。 阅读器
将WebBrowser控件放置在您的表单上。 strPdfFile =“C:\ SomeFile.pdf” webBrowser.Url = new Uri(strPdfFile);
这在我们尝试Win7-64位系统之前效果很好。现在需要进行一些调试。
这是一个猜测。
浏览器使用插件来渲染 PDF 的方式。我不确定是否需要安装应用程序。
您可以使用 Foxit Reader 或 Sumatra PDF。
另外,您可以在 Windows 窗体上托管浏览器控件。