caca
caca

Reputation: 197

Getting table height dynamically in iText

Is there a way of getting the height of a table before adding it to the document?

At first glance, I supposed that the number of rows in the table is enough to calculate height since I know the font size. However, some rows break that rule. For instance, one cell might store a paragraph that has more than one line. Hence, what I need to know is the total of the heights of every row.

Upvotes: 4

Views: 8620

Answers (2)

Terry
Terry

Reputation: 143

If you want to get table's height dynamically you can do so only after you have added all the content to it. In order to make this work you have to set its fixed width property and locked width property first.

e.g.

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

after this you can get table's height by using its table.getTotalHeight() method

Upvotes: 3

caca
caca

Reputation: 197

Yeah, answer was not complicated.

In order to get the height of a table, one must set the width of the table first. In other words,

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

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

does give the height of the table.

Upvotes: 6

Related Questions