【问题标题】:iText - setSplitRows issueiText - setSplitRows 问题
【发布时间】:2020-01-28 13:03:14
【问题描述】:

我正在尝试使用 PdfPTable 生成 iText PDF 报告。表行存在问题。我不想在两页之间有一个拆分行,所以我设置了一个 table.setSplitRows(false); 但我在表格中的一行已被删除(或被隐藏)!我不知道为什么。 我怀疑可能有与 table.setHeaderRows 方法相关的原因,因为我想在每一页上重复我的标题。当我设置 setSplitRows(true) 时,我的所有行都是可见的,但是如果有一行具有两行描述,那么它将在两页之间剪切。有什么建议吗?

PdfPTable table = new PdfPTable(2);
table.setHeaderRows(1);
table.setSplitRows(false);
table.addCell(new Phrase("HEADER"));
table.addCell(new Phrase("HEADER2"));
table.addCell(new Phrase("Row1-a"));
table.addCell(new Phrase("Row1-b"));
...(many rows here)...
table.addCell(new Phrase("RowN-a")); <--last row on first page (disapeared)
table.addCell(new Phrase("RowN-b")); <--last row on first page (disapeared)
table.addCell(new Phrase("RowN+1-a")); <--first row on second page
table.addCell(new Phrase("RowN+1-b")); <--first row on second page
pdfDoc.add(table);

如果 table.setSplitRows(true); 将标记为“第一页的最后一行”的行拆分为两页。如果 table.setSplitRows(false);然后这一行被删除!这只是很小的两行。删除这一行的原因是什么?!

【问题讨论】:

  • 向我们展示您的代码

标签: java pdf itext pdfptable


【解决方案1】:

原来这种行为是 iText https://livebook.manning.com/book/itext-in-action-second-edition/chapter-4/157 有意的 有资料:

所以我不得不把内表放在每个单元格中,并防止这个表被拆分。外表已设置为 setSplitRow(true)。这是我的解决方法。很重,但很有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多