我希望能够动态生成内容并将其呈现为PDF文件。这个过程将在远程托管服务器上进行,因此使用虚拟打印机等工具不可行。有没有人可以推荐一个.NET库(首选C#)可以胜任该任务?
我知道我可以生成一堆PS代码并自己打包,但我更喜欢目前阶段稍微简单一点的东西。
谢谢!
免费的PDF Generator .NET(WkHtmlToPdf包装器)可以使用一行代码从HTML模板生成漂亮的PDF:
var pdfBytes = (new NReco.PdfGenerator.HtmlToPdfConverter()).GeneratePdf(htmlContent);
File.WriteAllBytes()
保存。using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using System.Net.Http;
using PageSize = iTextSharp.text.PageSize;
public static byte[] GenratePdfBytes(string htmlContent)
{
byte[] pdfBytes;
var pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
var html = new StringReader(htmlContent);
var htmlparser = new HTMLWorker(pdfDoc);
using (var memoryStream = new MemoryStream())
{
var writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(html);
pdfDoc.Close();
pdfBytes = memoryStream.ToArray();
}
return pdfBytes;
}
RDLC和报表查看器控件可以在客户端自行决定或服务器命令下生成PDF,然后作为PDF MIME类型提供。