我有一个test.pdf,我想在我的表单中显示它。
我的代码非常简单:
public Form1()
{
InitializeComponent();
this.wbPdf.Navigate(@"file:///<fullpath>\test.pdf#toolbar=0");
}
它没有用。它向我展示了一个带有&#34; X&#34;。
的白页但如果我这样做了:
this.wbPdf.Navigate(@"file:///<fullpath>\test.pdf#toolbar=0", true);
IE打开了,它显示了我的pdf。当然,我尝试在第二个参数中使用false
,但它无效。
另外,如果我尝试做类似
的事情this.wbPdf.Navigate(@"http://www.google.com");
它向我展示了谷歌,所以我认为Web Browser Control
有什么想法吗?我将无法安装Acrobat Reader,因此使用ActiveX组件不是一个选项(此项目也在x64
中,并且我已经读过这个组件工作不正常在x64
)。
我想显示pdf仅用于在表单内查看,而不是在另一个窗口中查看。
答案 0 :(得分:4)
AFAIK,WinForms中的Web浏览器控件依赖于默认的PDF阅读器(通常是Acrobat Reader)来显示PDF文件。如果您需要显示PDF文件而无需安装任何其他软件,则可能需要在应用程序中使用PDF呈现库。 PDF渲染库的一些示例:
另一种选择是创建一个本地HTML5页面,使用项目pdf.js呈现PDF文件,然后将该页面嵌入Web浏览器控件。但是this will only work on Windows systems with IE 9.0 or above。