使用C#格式化和打印HTML页面

时间:2013-01-02 00:35:16

标签: c# html printing

我正在做一些HTML工作,我想打印(在纸上)这些HTML文件,实际上,文件不存在,一切都保存在字符串中,所有文本都是HTML,但我想打印,已经格式化......

例如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string HTML =
"<html>" +
"<head>" +
"    <style type=\"text/css\">" +
"    .title {" +
"        color: blue;" +
"        text-decoration: bold;" +
"        text-size: 1em;" +
"    }" +
"    .author {" +
"        color: gray;" +
"    }" +
"    </style>" +
"</head>" +
"<body>" +
"    <p>" +
"    <span class=\"title\">{0}</span>" +
"    <span class=\"author\">{1}</span>" +
"    </p>" +
"</body>" +
"</html>";

            // Just a sample of what I whant to do...
            // PseudoCode
            //Render the HTML code
            RenderHTML aa = new RenderHTML(string.Format(HTML, "Alexandre", "Bencz"));
            aa.PrintDocumentInPaper();
        }
    }
}

我发现:http://msdn.microsoft.com/en-us/library/w290k23d.aspx

但是,我想知道是否有另一种方法可以做到这一点,更好的方式......?

1 个答案:

答案 0 :(得分:1)

你使用webbrowser MSDN课程走在正确的轨道上,我认为你可以很容易地做到这一点。

1)您需要通过Stream(文本字符串)填充其文档内容,而不是保存的文件。 http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documentstream%28v=vs.100%29.aspx

2)然后只需触发打印功能 http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.print%28v=vs.100%29.aspx

P.S。通过我提供的链接,我假设您正在使用.Net 4.0。