2016-07-14 128 views
0

我只是想获得一个Web浏览器控件中包含的HTML文档的打印预览。我能够成功地打印文档使用此代码显示:WebBrowser打印预览命令

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

我意识到,还有其他的方法来打印文档,例如然而这创建XPS文档,然后交给它的分页程序,解决方案似乎非常好。

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

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

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

谢谢。

回答

0

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

这个记录不好的位是这是命令标识符列表,而不是execCommand使用的字符串。你打电话给IDM_EXECPRINT,它的字符串别名为"Print"。大多数其他字符串都映射到命令标识符,只是没有标识符的“IDM_”部分。

从列表中可以看到,没有版本的打印预览,因此恐怕您需要找到另一个解决方案。

+0

小d d,谢谢你的帮助! – Galactasm