如何在iTextSharp中将HTML内容转换为可读文本?
在.NET Core中使用iTextSharp处理HTML转PDF的文本格式化问题
在.NET Core应用里用iTextSharp生成PDF时,会遇到转义后的HTML内容,需要将其转换成带格式的可读文本再生成PDF。
原始转义HTML内容
<p>This is a <strong>bold text</strong> and also this is a new line.</p>
预期转换效果
This is a bold text and also
this is a new line.
处理步骤及代码实现
反转义HTML内容
先把转义字符(<、>)还原成正常的HTML标签,可用HttpUtility.HtmlDecode完成这一步。处理换行与格式标签
原始内容中的换行符可以替换为<br>标签,确保PDF中能正确换行;iTextSharp的HtmlConverter会自动识别<strong>标签并生成粗体文本。生成PDF
使用HtmlConverter将处理后的HTML直接转换为PDF文档。
示例代码
using iText.Kernel.Pdf; using iText.Layout; using iText.Html2pdf; using System.Web; // 原始转义HTML字符串 string escapedHtml = "<p>This is a <strong>bold text</strong> and also\n this is a new line.</p>"; // 反转义HTML string decodedHtml = HttpUtility.HtmlDecode(escapedHtml); // 替换换行符为<br>,保证PDF中换行显示 decodedHtml = decodedHtml.Replace("\n", "<br>"); // 生成PDF文档 using (PdfWriter writer = new PdfWriter("result.pdf")) { using (PdfDocument pdfDoc = new PdfDocument(writer)) { Document doc = new Document(pdfDoc); HtmlConverter.ConvertToDocument(decodedHtml, pdfDoc); } }
内容的提问来源于stack exchange,提问作者Ermal Baliu
相关产品推荐
相关产品推荐

