C#如何将呈现的HTML页面发送到打印机

时间:2010-06-29 13:58:44

标签: c# html printing

来自C#中的CLI应用程序(或库),我可以向打印机发送内容,选择它等(使用PrintDocumentPrinterSettings

如何向打印机发送呈现的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

由于

3 个答案:

答案 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)

使用Javascriptwindow.print()会将HTML页面发送到打印机。查看W3Schools reference