在winforms应用程序中如何显示/预览PDF?(使用C#)

3
我希望在一个winforms应用程序中展示/预览本地pdf文件。目前,我正在使用Webbrowser控件并尝试了Navigate(uri)方法,但它会用第三方界面启动PDF文件。下面是一些与上下文相关的高票答案,但不幸的是,它们没有帮助到我,因为解决方案涉及使用已安装的pdf查看器(Acrobat / Nirto / IE等)来显示pdf的依赖项。请告诉我是否可能在不使用第三方包的情况下显示pdf。 使用C#在Windows窗体中查看PDF 从Winform中显示pdf文件

所以你基本上想在没有安装任何查看器的情况下显示PDF文件,我理解得对吗? - Mong Zhu
1
如果不需要更改PDF文档,您可以从文件中创建图像并显示它。 - Andre Hofmeister
@MongZhu 是的,你是正确的! - Soumyaansh
如果您不能依赖用户拥有阅读器,则似乎需要为您的应用程序提供一个阅读器(正如您已经发布的答案所建议的那样),或者您可以采用@hofmeister提出的图像解决方案。 - Mong Zhu
可能是在Winform中显示pdf文件的重复问题。 - Bobrovsky
1个回答

2

第一种方法:

使用 Adobe PDF 阅读器 COM 组件

  1. 导航到工具箱,右键单击并选择“选择项目”
  2. 选择“COM 组件”选项卡
  3. 选择“Adobe PDF 阅读器”,然后单击“确定”
  4. 将控件拖放到要查看 PDF 的窗体中
  5. 通过修改“src”属性来指定要读取的 PDF 文件

第二种方法:

在您的窗体中添加一个 WebBrowser 控件,使用 Navigate 方法打开文件 AddedwebBrowserControl.Navigate(@"c:\IntroductiontoSqlServer.pdf");

编辑:如果您的机器上没有安装 Adobe Reader,则 第一种方法 将不起作用。


我猜 Adobe PDF Reader COM 组件需要一个本地化的 Adobe PDF Reader,对吗? - Andre Hofmeister
第二种方法也行不通,正如我所提到的,我想在我的应用程序内显示/预览 PDF,而你的方法将使用第三方接口启动 PDF。 - Soumyaansh
第二种方法将在WebBrowser内打开PDF。 - Yahfoufi
@m.yahfoufi,不,它不会在WebControl内打开PDF文件,它是在Acrobat中启动该文件。如果您遇到这种情况,那么这意味着您的系统内部正在使用第三方PDF查看器来呈现该文件。 - Soumyaansh
我认为WebBrowser控件取决于您计算机上安装的Internet Explorer版本。我已经安装了版本11。 - Yahfoufi
阅读这篇文章,其中包含一些解决方法。 - Yahfoufi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接