在我的PC上,这很好,但是在某些PC上,文件不能打开,WebBrowser显示一个错误,文件在默认的PDF程序中打开,而不是WebBrowser。我的代码:
Uri GuideURI = new Uri(String.Format("file:///{0}/../PDFs/" + link + ".pdf", Directory.GetCurrentDirectory()));
PDF_Web_Browser.Navigate(GuideURI);
发布于 2014-10-26 07:44:25
解决这个问题的一个方法可能是不依赖PC的PDF阅读器软件。您可以使用MuPDF作为库从PDF中提取文本,并可能以XML格式编写其中的内容,然后导航到文件。
如果您不想走到这一步,当您试图在PC上显示一个不具备在WebBrowser (来源)中打开它所需的特性的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文件,您可以编写一条类似于“”的消息,然后在MuPDF库的帮助下显示生成的MuPDF文件。
发布于 2014-10-26 07:26:37
也许是因为WebBrowser使用了Interneet的引擎。如果那个人没有为此安装扩展,或者有更老版本的IE,他就无法在WebBrowser中打开PDF。
https://stackoverflow.com/questions/26570731
复制相似问题