【发布时间】:2018-05-21 13:38:18
【问题描述】:
我正在尝试使用 iTextSharpLGPLv2.Core nuget 库将 HTML 文档转换为 PDF。
我面临的问题是 HTMLWorker 不再支持 iTextSharper。
下面是我的代码。
StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
FileStream fs = new FileStream(@"d:\REPORT.pdf", FileMode.OpenOrCreate);
fs.Write(pdfBytes, 0, pdfBytes.Length);
fs.Close();
}
.Net 核心的 iTextSharper 的任何替代品? 或任何其他方法来解决此问题?
【问题讨论】:
-
如果您阅读问题Converting HTML to PDF using iText,您将大致了解
HTMLWorker的缺陷,这些缺陷已在 XML Worker 中得到修复,以及为什么 XML Worker 被放弃而支持 iText 7 和 pdfHTML 附加组件。这个问题解释了为什么你的问题不能用你正在使用的 非官方 iText 分支 来解决,而最近版本的 真正的官方 iText 是最好的选择用于将 HTML 转换为 PDF。
标签: c# asp.net-web-api .net-core itext