我们目前以纯文本或html格式发送电子邮件通知。我们的环境是C#/。NET / SQL Server。
我想知道是否有人推荐特定解决方案。我看到两种方法:
或
我对第三方图书馆持开放态度(特别是如果它们是开源和免费的)。 SSRS似乎是最简单,最简单的方法。有人有任何提示吗?
答案 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是低效且相当大的文件格式。