【问题标题】:iTextSharp - Outputting a segment of HTML into PDF (into a Table Cell)iTextSharp - 将一段 HTML 输出为 PDF(到表格单元格)
【发布时间】:2010-12-05 00:55:49
【问题描述】:

我正在使用 iTextSharp 为 ASP.NET 应用程序生成 PDF,PDF 生成似乎工作正常,虽然我发现 iTextSharp 使用起来有点不直观,但这是另一回事。

我正在将数据放入我的 PDF 中的表格中,现在我想将 HTML 内容放入表格单元格中并让它保持格式/样式。我已经看到很多示例展示了如何使用 iTextSharp 将 HTML 解析为 PDF 并保持格式,但是这些示例都将内容直接吐出到 document 对象中,例如。 doc.addElement() 我尝试调整代码以将解析的 HTML 内容吐出到表格单元格中,例如。而不是...

objects = HTMLWorker.ParseToList(new StringReader(htmlString), styles);
for (int k = 0; k < objects.Count; ++k)
{
    document.Add((IElement) objects[k]);
}

我正在使用...

Cell cell = new Cell();

objects = HTMLWorker.ParseToList(new StringReader(htmlString), styles);
for (int k = 0; k < objects.Count; ++k)
{
    cell.Add((IElement) objects[k]);
}

table.AddCell(cell);
document.Add(table);

但是,它将所有格式正确的数据放入表格单元格中,但所有内容都重叠并且彼此重叠,而不是间隔开。是不是我做错了什么。

以上代码示例来自本站http://blog.rubypdf.com/2007/10/10/using-htmlworker-to-parse-html-snippets-and-convert-to-pdf/

注意:我不想维护 CSS 样式,只是 &lt;h1&gt; 大致看起来像 &lt;h1&gt; 通常看起来的样子等等。

【问题讨论】:

    标签: html pdf pdf-generation itextsharp


    【解决方案1】:

    使用PdfPTable &amp; PdfPCell 类而不是Table &amp; Cell 类。
    (我尝试使用 Table/Cell,我得到了与您描述的相同的行为,但使用 PdfPtable/PdfPCell 没问题。)

    【讨论】:

    • 太棒了,成功了,谢谢!对于其他阅读者,只需将 Table 替换为 PdfPTable,将 Cell 替换为 PDfPCell,就这么简单。顺便说一句:注意不要将 PdfPTable 和 PdfPCell 与 PdfTable 和 PdfCell 混淆,它们是不同的类型,不会起作用。
    • 我正在使用 PDFPtable,但我仍然看到像

      这样的标签,而不是像在 html 中那样格式化文本!!

    【解决方案2】:

    对于任何寻找更新答案的人,因为 HTMLWorker 现在是绝对的,请参见下文:

    var tableCell= new PdfPCell();
     string styles= "p { text-align: center; }"; 
     foreach (IElement element in XMLWorkerHelper.ParseToElementList(htmlString, styles))
        {
            tableCell.AddElement(element);
        }
    table.AddCell(tableCell);
    document.Add(table);
    

    【讨论】:

    • 如果没有 css 但我的文本包含类似这样的内容怎么办 Basis Weight |磅/1300 英尺2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2014-02-10
    • 2021-07-31
    • 1970-01-01
    • 2014-07-06
    相关资源
    最近更新 更多