【问题标题】:Java iText PdfPTable larger than 6 columnsJava iText PdfPTable 大于 6 列
【发布时间】:2015-04-20 19:15:15
【问题描述】:

我想修改由 iText 生成的表格,使其多一列。

但是当我改变构造函数参数时:

PdfPTable table = new PdfPTable(6);

到:

PdfPTable table = new PdfPTable(7);

并像我在其他列中一样添加内容:

cell1 = new PdfPCell(new Phrase(name));
    cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell1);

生成的 PDF 中不存在该表。这是为什么?我猜它不适合文档宽度?

【问题讨论】:

  • 您是否添加了足够数量的单元格?

标签: java pdf itext calculated-columns tabular


【解决方案1】:

假设这行得通(它确实行得通,我知道):

PdfPTable table = new PdfPTable(6);
table.addCell("1");
table.addCell("2");
table.addCell("3");
table.addCell("4");
table.addCell("5");
table.addCell("6");
document.add(table);

在这种情况下,将添加一个单行 6 列的表格。

如果你像这样改变这个sn-p,就不会添加任何表:

PdfPTable table = new PdfPTable(7);
table.addCell("1");
table.addCell("2");
table.addCell("3");
table.addCell("4");
table.addCell("5");
table.addCell("6");
document.add(table);

不会添加此表,因为其中只有一行,并且不呈现不完整的行。

你有两个选择,要么添加:

table.completeRow();

或者你添加:

table.addCell("7");

在将table 添加到document 之前。

没有理由可以添加 6 列的表,但不能添加 7 列的表。宽度不是问题:如果您没有为列定义绝对宽度,那么 iText 将自动计算每列的确切宽度。

我不知道我是否有一个包含 7 列表格的文档,但我确实有一个包含 8 列的表格示例:请参阅 SimpleTable 示例和 simple_table.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2014-07-22
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多