我有一个WPF应用程序,它使用标准的WebBrowser控件实现一个简单的Web浏览器。当用户导航到PDF文档时,文档将在MSIE的标准Adobe Reader插件中的WebBrowser控件中内嵌显示。现在我需要以编程方式打印文件。我该怎么做?
我知道Adobe Reader有一个带有print命令的COM接口。这个界面也可以在MSIE插件中使用吗?如何从WPF代码访问它,我只能访问WebBrowser控件?
感谢您的建议!
答案 0 :(得分:1)
这是在WPF WebBrowser控件中打印文档的方式,无论它是HTML还是PDF:
private void Print_Click(object sender, RoutedEventArgs e)
{
// Try to print it as Html
var doc = webBrowser.Document as IHTMLDocument2;
if (doc != null)
{
doc.execCommand("Print", true, 0);
return;
}
// Try to print it as PDF
var pdfdoc = webBrowser.Document as AcroPDFLib.AcroPDF;
if (pdfdoc != null)
{
pdfdoc.Print();
}
}
对于PDF打印,您必须将AcroPDFLib添加到项目的参考文献中。