使用IHTMLDocument2在不弹出对话框的情况下打印

3

我一直在开发一个自动打印HTML账单的项目。这个项目特别具有挑战性,因为我需要保留CSS格式。

根据建议,我开始使用IHTMLDocument2来进行打印。我应该能够:

mshtml.IHTMLDocument2 doc = new mshtml.HTMLDocument() as mshtml.IHTMLDocument2;
doc.write(htmlContent); //htmlContent is a string of HTML
doc.execCommand("PRINT", false, null);

第二个参数指定是否生成“打印机选项”框,但它没有起到作用。我已经阅读过使用PRINT将始终导致对话框的说法了 - 但是我还没有找到替代方案。
有任何想法吗?
1个回答

2
根据MSDN的说明:
打印
打开打印对话框,以便用户可以打印当前页面。
所以我认为没有办法规避这种行为。尝试使用其他类来进行应用程序操作或在打印期间打开打印对话框。
请注意,在execCommand方法中,您必须提供第二个参数(showUI [in, optional])为true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接