【问题标题】:iText PDF template dynamic row insertion on tablesiText PDF模板在表格上动态插入行
【发布时间】:2020-10-05 09:30:35
【问题描述】:

我有一个要求,我需要使用 iText 在 Java 中生成 PDF 文档。 要求是使用 PDF 模板,并在用户设计的 PDF 模板中注入数据值以生成所需的输出 PDF。

iText 网站上的文档不清楚/或者我没有完全搜索它们,因此寻求支持或有关此的文章, 我们的用例是从 PDF 模板生成表格,其中行数由数据确定(即此处为 JSON)。我应该能够根据数据大小动态缩放 PDF 模板中的行数。 这可能吗? 我指的是这篇文章: https://github.com/koendehaen/itext_summit_pdf_templates 在上面的 GITHUB 示例中,行是在 PDF 模板中预填充的,我想要类似下面的屏幕截图,类似于 Handlebars 提供的方式,在 hbs 模板上使用 for 循环,我可以注入数据。

示例: 假设我有一张如下表

但是这里的行数是基于数据集动态的,如何动态缩放表格

注意: 我无法在 HTML 中创建模板,例如把手等... 由于几乎没有技术背景的商务人士将是生成 PDF 模板的用户。

【问题讨论】:

  • 您好,请查看 iText DITO 模板解决方案,它看起来适合您的需求:itextpdf.com/en/products/itext-dito
  • 谢谢@AlexeySubach 我确实看过那个 DITO,但我想要一些东西,我可以向 iText 提供模板并为我们创建文档,iText 中是否提供该功能

标签: java itext itext7


【解决方案1】:

您可以搜索 JSON 的所有键值,然后在 PdFTable 中插入此值。就我而言,我得到了 lastCellNum:

行行 = rowIterator.next();

          PdfPTable table = new PdfPTable(row.getLastCellNum());
          Iterator<Cell> cellRow = row.iterator();
          
          while(cellRow.hasNext()) {
          Cell cell = cellRow.next();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 2019-03-14
    • 2014-08-21
    • 2013-03-10
    • 2012-01-02
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多