我正在生成一个PDF文档与iText 5.5.8在这个文档中有编号的段落,只包含一个标题段落和PdfPTable.
for (Item item : getItems()) {
Paragraph title = new Paragraph();
Chunk chunk = new Chunk(new Chunk(getIcon(item), 0, 0));
addBookmark(item, chunk);
title.add(chunk);
Chunk chunk2 = new Chunk(getName(item), catFont_u);
title.add(chunk2);
title.setSpacingBefore(20);
title.setSpacingAfter(14);
PdfPTable table = createTable(item); // can be more than a page!
table.setKeepTogether(true);
Section subSection = chapter.addSection(title);
subSection.add(table);
}
现在,当表格大于页面其余部分的空间时,表格将被“移动”到下一页(setKeepTogether())。这很好。但是,我希望标题Paragraph始终与PdfPTable位于同一页上。因此,标题Paragraph也应该被移动到下一页。
我该如何实现这一点?
谢谢你,
卡雷尔
2条答案
按热度按时间4szc88ey1#
你可以创建一个一列的外部表格。然后添加你的段落(标题)。之后创建另一个表格innerTable,在这里你可以放置你的数据,然后添加内部表格到一个单元格,然后添加该单元格到外部表格。这样你的标题和表格将在一起,并使外部表格setsplitLate(false)。
n6lpvg4x2#
iText 7.2.5、Java语言11: