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

标签 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

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

最佳答案

您在 webbrowser MSDN 类(class)上走在了正确的轨道上,我认为您可以很容易地做到这一点。

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

2) 然后简单地触发 Print 函数 http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.print%28v=vs.100%29.aspx

附注通过我提供的链接,我假设您使用的是 .Net 4.0。

关于c# - 使用 C# 格式化和打印 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115645/

相关文章:

c# - Xpath标记化函数内部包含函数

c# - Azure 计算模拟器上的 Web API 失败

元素跨列的 CSS 问题

html - 如何将一个元素移近另一个元素。 CSS

JavaScript:如何在执行条件的特定持续时间后清除间隔

尽管用户选择,C# 打印对话框始终使用默认打印机

c# - 如何强制 XmlSerializer 将元素序列化为编译类型的属性?

c# - 使方法代码行更少

c++ - 在C++中将数组打印为表格

c# - 如何使用 C#.net 获取客户端 PC 打印机名称