我使用iText 5.1.0
在java中创建PDF。我有3块表,其大小可能会动态变化
Table 1
.
.
.
Table 2
.
.
.
.
End of page
现在我需要计算表2 下方空间的方法。我使用的页面大小为A4
最初是这样打印的,
但是当前面表格中的数据增加时,它就像第二张一样。 所以我想在插入表格之前计算下面的空格
非常感谢任何建议。
谢谢
答案 0 :(得分:2)
PdfWriter
中有一种称为getVerticalPosition()
的方法。它需要一个布尔参数来告诉iText确保新行。如果您不确定新行(false
),则会获得当前的Y,但这可能不是您需要的位置。如果您确保换行(true
),则会添加一个新行,并获得新行开始的位置。
当您从头开始创建A4页面时,当Y轴指向上方时,您需要从此垂直位置减去底部边距,以找出新表格的剩余空间。
请注意,我们对iText的getVerticalPosition()
方法不满意:使用 getter 更改文档内容并不是很优雅。在像您这样的情况下,我们更喜欢与ColumnText
合作来负责布局过程,而不是让iText决定在哪里拆分表。