iText PDFWriter - Написание заголовка таблицы, если несколько строк таблицы переходят на новую страницу

Я использую PdfWriter для создания документа PDF. Я добавляю PdfPTable в PDF-документ. В этой таблице есть строка заголовка, а затем строки фактических данных. Если таблица большая, то часть ее переносится на новую страницу. Я хочу, чтобы на этой странице также была строка заголовка таблицы. Однако мне нужна эта строка заголовка только тогда, когда данные таблицы переходят на новую страницу.


person Amit Ware    schedule 15.09.2015    source источник
comment
Я так и не получил отзывов на свой ответ. Разве это не решило твою проблему?   -  person Bruno Lowagie    schedule 23.11.2015


Ответы (1)


Вот как вы создаете таблицу со строкой заголовка:

// 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 в качестве параметра, первая строка будет повторяться:

Снимок экрана

Если вы не хотите, чтобы заголовок отображался на первой странице, вам нужно добавить одну строку: 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);

Теперь таблица выглядит так:

введите описание изображения здесь

person Bruno Lowagie    schedule 15.09.2015