我只是想获取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函数的实际命令列表在哪里?
感谢。
答案 0 :(得分:0)
支持的完整命令标识符列表记录为here on MSDN。
记录不充分的是这是命令标识符列表,而不是execCommand
使用的字符串。您正在调用IDM_EXECPRINT
,其名称为"Print"
。大多数其他字符串都被映射到命令标识符,而没有" IDM _"标识符的一部分。
正如您从该列表中看到的那样,没有打印预览的版本,所以我担心您需要找到另一种解决方案。