You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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.


处理步骤及代码实现

  1. 反转义HTML内容
    先把转义字符(<、>)还原成正常的HTML标签,可用HttpUtility.HtmlDecode完成这一步。

  2. 处理换行与格式标签
    原始内容中的换行符可以替换为<br>标签,确保PDF中能正确换行;iTextSharp的HtmlConverter会自动识别<strong>标签并生成粗体文本。

  3. 生成PDF
    使用HtmlConverter将处理后的HTML直接转换为PDF文档。

示例代码

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Html2pdf;
using System.Web;

// 原始转义HTML字符串
string escapedHtml = "&lt;p&gt;This is a &lt;strong&gt;bold text&lt;/strong&gt; and also\n this is a new line.&lt;/p&gt;";

// 反转义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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:50:27