我们目前在WindowsFormsHost中的应用程序中使用winforms WebBrowser控件,并通过调用'WebBrowser.ShowPrintDialog()进行打印我们遇到的问题是对话框似乎不是模态的,父窗口可以是如果以后尝试打印,则被解雇导致问题。
我正在查看新的wpf webbrowser控件,希望他们在自己做类似的事情时能解决这个问题,但却无法从中进行打印..
我发现有人在网上谈论这样做:
PrintDialog printDialog = new PrintDialog();
printDialog.PrintDocument(((IDocumentPaginatorSource)webBrowser.Document).DocumentPaginator, "My App");
但由于WebBrowser.Document不支持IDocumentPaginatorSource接口,因此抛出异常。
有什么办法可以从wpf网页浏览器控件中打印出来吗?
感谢
答案 0 :(得分:4)
我正在使用它,它有效:
mshtml.IHTMLDocument2 doc = webBrowser.Document as mshtml.IHTMLDocument2;
doc.execCommand("Print", true, null);