PDF生成

时间:2008-12-13 15:42:03

标签: c# .net sql-server pdf reporting-services

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

我想知道是否有人推荐特定解决方案。我看到两种方法:

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

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

我对第三方图书馆持开放态度(特别是如果它们是开源和免费的)。 SSRS似乎是最简单,最简单的方法。有人有任何提示吗?

4 个答案:

答案 0 :(得分:4)

您可以使用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);
        }

    }
}

答案 1 :(得分:0)

iText-Sharp
与java版本非常相似,并且有很好的文档和多本书。

答案 2 :(得分:0)

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

如果您想要更复杂的内容,例如准备多个模板或存储pdf输出的历史记录。查看报告服务器jsreport

答案 3 :(得分:-2)

唉。我厌恶PDF。话虽如此,您当前的纯文本或HTML电子邮件有什么问题? PDF是低效且相当大的文件格式。