来自C#中的CLI应用程序(或库),我可以向打印机发送内容,选择它等(使用PrintDocument
和PrinterSettings
。
如何向打印机发送呈现的HTML页面?喜欢在内存IE中实例化并使用它来呈现/打印页面?这没有打开实际的浏览器窗口(例如,从命令行执行所有操作)。
这是我到目前为止的地方:
using mshtml;
string sWebPage = System.IO.File.ReadAllText(@"C:\Users\me\Desktop\h.html");
object[] oPageText = { sWebPage };
HTMLDocumentClass myDoc = new HTMLDocumentClass();
IHTMLDocument2 oMyDoc = (IHTMLDocument2)myDoc;
oMyDoc.write(oPageText);
//oMyDoc.execCommand("print", false, 0); <- does not wok
由于
答案 0 :(得分:1)
您可以通过COM使用Internet Explorer并将浏览器的可见性设置为false
如果您需要一个实际的代码示例,请告诉我。
using SHDocVw;
InternetExplorer ie = new InternetExplorer();
ie.Visible = false;
ie.Navigate("http://xxx");
Thread.Sleep(1000);
while (ie.Busy)
{
Thread.Sleep(1000);
}
,,, ...
答案 1 :(得分:1)
有一个WebBrowser控件,看起来它可以让你加载和渲染一些HTML,并且有一个Print方法,但它是一个表单控件,因此在非Forms项目中使用它可能很难。 / p>
答案 2 :(得分:-1)
使用Javascript
,window.print()
会将HTML页面发送到打印机。查看W3Schools reference