阻止iText表在新页面上拆分

Shu*_*orn 3 java android itextpdf android-tablelayout

我正在开发一个生成Android的应用程序pdf.

itextpdf用来生成pdf.

我有以下问题:

我有一个有3行的表,当这个表靠近页面的末尾时,有时会在一页上放一行,在下一页放两行.

有没有办法强制这个表在下一页开始,所以我可以在下一页上有完整的表格?

谢谢

rhe*_*ens 11

作为Bruno将表嵌套在单元格表中以防止拆分的方法的替代方法,您还可以使用PdfPTable.setKeepTogether(true)在新页面不适合当前页面时启动表格.

使用类似的例子:

Paragraph p = new Paragraph("Test");
PdfPTable table = new PdfPTable(2);
for (int i = 1; i < 6; i++) {
    table.addCell("key " + i);
    table.addCell("value " + i);
}
for (int i = 0; i < 40; i++) {
    document.add(p);
}
// Try to keep the table on 1 page
table.setKeepTogether(true);
document.add(table);
Run Code Online (Sandbox Code Playgroud)

两种方法(嵌套在1单元格表中并使用setKeepTogether())在我的测试中表现完全相同.这包括当表太大而无法放在新页面上并且仍然需要拆分时,例如在上面的示例中添加50而不是5行时.