繁体   English   中英

在WPF WebBrowser中显示PDF

[英]Display PDF in WPF WebBrowser

在我的PC上可以正常工作,但是在某些PC上无法打开该文件,WebBrowser显示错误,并且该文件在默认的PDF程序而非WebBrowser中打开。 我的代码:

Uri GuideURI = new Uri(String.Format("file:///{0}/../PDFs/" + link + ".pdf", Directory.GetCurrentDirectory()));
PDF_Web_Browser.Navigate(GuideURI);

也许是因为WebBrowser使用了Interneet Explorer引擎。 如果该人没有为此安装扩展程序,或者没有安装较旧版本的IE,则无法在WebBrowser中打开PDF。

解决此问题的一种方法可能是不依赖PC的PDF阅读器软件。 您可以将MuPDF用作库,以从PDF中提取文本,也可以将其内容编写为XML格式,然后导航到该文件。

如果您不想走这么远,当尝试在不具备在WebBrowser中打开它的必需功能的PC上显示PDF文件时,您可能会显示一条错误消息( )。

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        string url = e.Url.ToString();
        if (url.StartsWith("res://ieframe.dll/navcancl.htm") && url.EndsWith("pdf"))
        {
            e.Cancel = true;
            MessageBox.Show("Cannot open PDF!");
        }
    }

或者,您甚至可以将这些混合使用。 万一WebBroswer无法打开PDF文件,您可以编写诸如“未检测到PDF插件”之类的消息,然后显示在MuPDF库的帮助下生成的XML文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM