首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大于6列的Java iText PdfPTable

大于6列的Java iText PdfPTable
EN

Stack Overflow用户
提问于 2015-04-20 19:15:15
回答 1查看 2.3K关注 0票数 0

我希望修改一个由iText生成的表,使之有多一个列。

但是,当我将构造函数参数更改为:

代码语言:javascript
复制
PdfPTable table = new PdfPTable(6);

至:

代码语言:javascript
复制
PdfPTable table = new PdfPTable(7);

并向它添加内容,就像向其他列添加内容一样:

代码语言:javascript
复制
cell1 = new PdfPCell(new Phrase(name));
    cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell1);

生成的PDF中不存在该表。为什么会这样呢?我猜它不符合文件的宽度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-20 19:44:10

假设这起作用(我知道它确实有效):

代码语言:javascript
复制
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列的表。

如果像这样更改此代码段,则不会添加任何表:

代码语言:javascript
复制
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);

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

您有两个选项,要么添加:

代码语言:javascript
复制
table.completeRow();

或者你再加上:

代码语言:javascript
复制
table.addCell("7");

就在将table添加到document之前。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29756472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档