WPF WebBrowser控件中的访问特定PDF页面

时间:2014-09-09 12:43:54

标签: wpf pdf itextsharp webbrowser-control

我的应用程序中有一个webbrowser控件,用于显示已在iTextSharp中创建的pdf文件,并存储在本地硬盘驱动器上。

我希望能够从我的应用程序中导航文件(next,previous,first,last,toc),而不是在浏览器中使用阅读器的内置导航。

我已经看到您可以使用

导航到特定页面
Browser.Navigate("filename.pdf#page=?);

这是第一次运行但是当尝试导航到另一个页面时,它会使浏览器完全消失而没有错误。但是,如果我在文件网址上没有#page=?后缀,我可以毫无问题地重新加载文件。关于这个的任何想法?

或者,在iTextSharp中是否存在向文件中添加内容以允许从外部命令导航的内容?

1 个答案:

答案 0 :(得分:1)

Adob​​e发布的文档中列出了?字符后使用查询字符串中的参数可用于浏览PDF的所有官方参数:Parameters for Opening PDF Files

您已经提到了page参数。另一种选择可能是使用命名目的地:nameddest=destination。在这种情况下,您需要使用iTextSharp将名为destination anchor 添加到文件中。

请注意,并非所有观看者都实现这些参数。 Adobe在Adobe Reader和Adobe Reader插件中支持它们,但无法保证它们可以在pdf.js(Firefox),Pdfium(谷歌浏览器)中使用,...如果使用打开参数时浏览器消失,您可能遇到导致浏览器崩溃的浏览器或查看器插件中的错误。 iTextSharp和iText可能会导致浏览器崩溃; - )

没有其他方法可以从外部应用程序导航PDF。您唯一能做的就是向PDF添加JavaScript,以便始终在同一页面打开。这是使用打开操作完成的。我不认为这可以解决您的问题,因为这意味着您每次要在不同的页面打开时都必须更改PDF文件。

相关问题