iText PDFWriter - 如果少数表行转到新页面,则写表头

时间:2015-09-15 09:50:19

标签: itext

我正在使用PdfWriter来创建PDF文档。我在PDF文档中添加了PdfPTable。此表具有标题行,然后是实际数据行。如果表很大,那么它的一部分会被转移到新页面。我希望这个页面也有表头行。但是,只有当表数据进入新页面时,我才想要这个标题行。

1 个答案:

答案 0 :(得分:3)

这是创建带标题行的表的方法:

// table with 2 columns:
PdfPTable table = new PdfPTable(2);
// header row:
table.addCell("Key");
table.addCell("Value");
table.setHeaderRows(1);
// many data rows:
for (int i = 1; i < 51; i++) {
    table.addCell("key: " + i);
    table.addCell("value: " + i);
}
document.add(table);

在这种情况下,表格需要多个页面。当您使用setHeaderRows() 1作为参数时,第一行将重复:

Screen shot

如果您不希望标题出现在第一页上,则必须添加一行:table.setSkipFirstHeader(true);

// table with 2 columns:
PdfPTable table = new PdfPTable(2);
// header row:
table.addCell("Key");
table.addCell("Value");
table.setHeaderRows(1);
table.setSkipFirstHeader(true);
// many data rows:
for (int i = 1; i < 51; i++) {
    table.addCell("key: " + i);
    table.addCell("value: " + i);
}
document.add(table);

现在表格如下:

enter image description here