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

C# 使用C格式化和打印HTML页面#,c#,html,printing,C#,Html,Printing,我正在用HTML做一些工作,我想打印(在纸上)这些HTML文件,实际上,文件并不存在,所有内容都保存在字符串中,所有文本都是HTML格式的,但我想打印,已经格式化了 例如: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void

我正在用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();
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
命名空间控制台应用程序1
{
班级计划
{
静态void Main(字符串[]参数)
{
字符串HTML=
"" +
"" +
"    " +
“.title{”+
颜色:蓝色+
“文本装饰:粗体;”+
“文本大小:1em;”+
"    }" +
“.author{”+
颜色:灰色+
"    }" +
"    " +
"" +
"" +
“”+
"    {0}" +
"    {1}" +
“

”+ "" + ""; //只是我不想做的一个例子。。。 //伪码 //呈现HTML代码 RenderHTML aa=新的RenderHTML(string.Format(HTML,“Alexandre”,“Bencz”); aa.PrintDocumentInPaper(); } } }
我发现:


但是,我不知道是否有其他的方法,一个更好的方法

您使用webbrowser MSDN类的方法是正确的,我认为您可以很容易地做到这一点

1) 您需要通过流(文本字符串)而不是保存的文件来填充其文档内容。

2) 然后简单地启动打印功能


p、 通过我提供的链接,我假设您使用的是.NET4.0

请参阅此帖子:。它建议使用HtmlTidy包装器进行所有格式化,然后打印。我知道这可能只是一些示例代码,但我建议在字符串开头使用
@
运算符将其表示为字符串文字,这将允许您使用避免所有连接。如果要连接数据,请确保使用的是
StringBuilder
。祝你好运!