代码之家  ›  专栏  ›  技术社区  ›  mson

PDF生成

  •  1
  • mson  · 技术社区  · 17 年前

    我们目前以纯文本或html格式发送电子邮件通知。我们的环境是C#。NET/SQL服务器。

    我想知道是否有人推荐一个特定的解决方案。我认为有两种方法可以做到这一点:

    • 使用第三方库将当前电子邮件动态转换为pdf,并将pdf作为附件发送

    • 使用SSRS允许用户导出pdf报告(最终可能会有SSRS推送报告)

    我对第三方库持开放态度(特别是如果它们是开源和免费的)。SSRS似乎是最简单、最容易的方法。有人有什么建议吗?

    4 回复  |  直到 6 年前
        1
  •  4
  •   Darin Dimitrov    17 年前

    您可以使用 iTextSharp 将您的html页面转换为pdf。这里有一个例子:

    class Program
    {
        static void Main(string[] args)
        {
            string html = 
    @"<html>
    <head>
      <meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
    </head>
    <body>
      <p style=""color: red;"">Hello World</p>
    </body>
    </html>";
    
            Document document = new Document(PageSize.A4);
            using (Stream output = new FileStream("out.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
            using (StringReader htmlReader = new StringReader(html))
            using (XmlTextReader reader = new XmlTextReader(htmlReader))
            {
                PdfWriter.GetInstance(document, output);
                HtmlParser.Parse(document, reader);
            }
    
        }
    }
    
        2
  •  0
  •   Joel Meador    17 年前

    iText-Sharp
    其工作原理与java版本极为相似,既有出色的文档,也有多本可用的书籍。

        3
  •  0
  •   Jan Blaha    12 年前

    如果您只需要简单的html->pdf转换,看看 wkhtmltopdf 。它是基于webkit的免费开源命令行实用程序。

    如果你想要更复杂的东西,比如准备多个模板或存储pdf输出的历史记录。查看报表服务器 jsreport