WebBrowser 打印预览命令

WebBrowser Print Preview Command

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

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 函数的实际命令列表在哪里?

谢谢。

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

记录不完整的一点是这是命令标识符列表,而不是 execCommand 使用的字符串。您正在调用 IDM_EXECPRINT,它的别名为字符串 "Print"。大多数其他字符串都映射到命令标识符,只是没有标识符的 "IDM_" 部分。

正如您从该列表中看到的那样,没有打印预览版本,因此恐怕您需要寻找其他解决方案。