如何从.net 3.5 SP1中提供的wpf WebBrowser打印?

时间:2009-04-28 15:14:49

标签: c# html wpf browser printing

我们目前在WindowsFormsHost中的应用程序中使用winforms WebBrowser控件,并通过调用'WebBrowser.ShowPrintDialog()进行打印我们遇到的问题是对话框似乎不是模态的,父窗口可以是如果以后尝试打印,则被解雇导致问题。

我正在查看新的wpf webbrowser控件,希望他们在自己做类似的事情时能解决这个问题,但却无法从中进行打印..

我发现有人在网上谈论这样做:

        PrintDialog printDialog = new PrintDialog();
        printDialog.PrintDocument(((IDocumentPaginatorSource)webBrowser.Document).DocumentPaginator, "My App");  

但由于WebBrowser.Document不支持IDocumentPaginatorSource接口,因此抛出异常。

有什么办法可以从wpf网页浏览器控件中打印出来吗?

感谢

1 个答案:

答案 0 :(得分:4)

我正在使用它,它有效:

    mshtml.IHTMLDocument2 doc = webBrowser.Document as mshtml.IHTMLDocument2;
    doc.execCommand("Print", true, null);