0

我有一个 WPF 应用程序,它使用标准的 WebBrowser 控件实现了一个简单的 Web 浏览器。当用户导航到 PDF 文档时,该文档将在 MSIE 的标准 Adob​​e Reader 插件的 WebBrowser 控件中内嵌显示。现在我需要以编程方式打印文件。我该怎么做?

我知道 Adob​​e Reader 有一个带有打印命令的 COM 接口。这个接口在 MSIE 插件中也可用吗?如何从我只能访问 WebBrowser 控件的 WPF 代码访问它?

感谢您的建议!

4

1 回答 1

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 添加到项目的引用中。

于 2013-04-18T12:14:05.720 回答