iText - проблема setSplitRows - PullRequest
       16

iText - проблема setSplitRows

0 голосов
/ 28 января 2020

Я пытаюсь сгенерировать отчет iText PDF, используя PdfPTable. Существует проблема со строками таблицы. Я не хочу иметь разделенную строку между двумя страницами, поэтому я установил table.setSplitRows (false); , но одна из моих строк в таблице была удалена (или скрыта)! Я не знаю почему. Я подозреваю, что может быть причина, связанная с методом table.setHeaderRows, потому что я хочу повторить мой заголовок на каждой странице. Когда я устанавливаю setSplitRows (true), тогда все мои строки становятся видимыми, но если есть строка с двухстрочным описанием, она пересекается между двумя страницами. Любой совет?

PdfPTable table = new PdfPTable(2);
table.setHeaderRows(1);
table.setSplitRows(false);
table.addCell(new Phrase("HEADER"));
table.addCell(new Phrase("HEADER2"));
table.addCell(new Phrase("Row1-a"));
table.addCell(new Phrase("Row1-b"));
...(many rows here)...
table.addCell(new Phrase("RowN-a")); <--last row on first page (disapeared)
table.addCell(new Phrase("RowN-b")); <--last row on first page (disapeared)
table.addCell(new Phrase("RowN+1-a")); <--first row on second page
table.addCell(new Phrase("RowN+1-b")); <--first row on second page
pdfDoc.add(table);

Строка, помеченная как «последняя строка на первой странице», разбивается на две страницы, если table.setSplitRows (true) ;. Если table.setSplitRows (false); тогда этот ряд удаляется! Это всего лишь небольшой ряд из двух строк. В чем причина удаления этого ряда?!

1 Ответ

0 голосов
/ 13 февраля 2020

Оказалось, что это поведение предназначено для iText https://livebook.manning.com/book/itext-in-action-second-edition/chapter-4/157 Есть информация:

image Цитата ">

Так Мне пришлось поместить внутреннюю таблицу в каждую ячейку и предотвратить ее разделение. Для внешней таблицы было установлено значение setSplitRow (true). Это мой обходной путь. Тяжелый, но работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...