WebBrowser打印预览命令

时间:2016-07-14 20:33:08

标签: c# wpf webbrowser-control print-preview

我只是想获取Web浏览器控件中包含的html文档的打印预览。我已成功使用以下代码打印正在显示的文档:

IHTMLDocument2 doc = WebBrowser.Document as IHTMLDocument2; doc.execCommand("Print", false, null);

我意识到还有其他方法可以打印文档,例如创建一个xps文档,然后将其交给paginator,但是这个解决方案似乎非常好。

现在我只是想知道为什么没有类似的命令来显示打印预览。我查看了命令标识符列表:https://msdn.microsoft.com/en-us/library/ms533049(v=vs.85).aspx并没有设法找到打印预览命令...或打印命令哈哈,这让我觉得我在找错了地方,虽然该列表似乎与我正在使用的对象相对应,因为它们是execCommand函数的命令标识符。

这个问题的最佳答案:Displaying Print Preview of HTML Document without DocumentViewer为我工作,我成功地能够显示打印预览。但是,代码令人困惑,看起来很臃肿。

有没有办法使用上述方法显示打印预览?另外,execCommand函数的实际命令列表在哪里?

感谢。

1 个答案:

答案 0 :(得分:0)

支持的完整命令标识符列表记录为here on MSDN

记录不充分的是这是命令标识符列表,而不是execCommand使用的字符串。您正在调用IDM_EXECPRINT,其名称为"Print"。大多数其他字符串都被映射到命令标识符,而没有" IDM _"标识符的一部分。

正如您从该列表中看到的那样,没有打印预览的版本,所以我担心您需要找到另一种解决方案。