Динамическое получение высоты стола в iText

Есть ли способ получить высоту таблицы перед ее добавлением в документ?

На первый взгляд я предположил, что количества строк в таблице достаточно для вычисления высоты, так как я знаю размер шрифта. Однако некоторые строки нарушают это правило. Например, одна ячейка может хранить абзац, имеющий более одной строки. Следовательно, мне нужно знать сумму высот каждого ряда.

2 ответа

Да, ответ не был сложным.

Чтобы получить высоту таблицы, нужно сначала установить ширину таблицы. Другими словами,

table.setTotalWidth((PageSize.A4.getWidth() - document.leftMargin()
- document.rightMargin()) * table.getWidthPercentage() / 100);

System.out.println(table.calculateHeights());

действительно дает высоту стола.

Если вы хотите получить высоту таблицы динамически, вы можете сделать это только после того, как добавите в нее все содержимое. Чтобы сделать это, вы должны сначала установить его свойство фиксированной ширины и свойство заблокированной ширины.

например

table.setTotalWidth(555f);
table.setLockedWidth(true);

после этого вы можете получить высоту стола, используя его table.getTotalHeight() метод

Другие вопросы по тегам