如何在iText pdf中了解pdf中的剩余空间

时间:2017-02-11 08:29:54

标签: java itext

我想知道在pdf页面中添加内容后剩下多少个空格。有没有办法让我可以跟踪一些空间,以便我可以在一个页面中容纳3到4行,否则我可以创建一个新的文档页面来放置内容。

我想以下列方式做 -

if( getRemainingSpace() < pageSize)
//Create new page
else
put contents in the same page

1 个答案:

答案 0 :(得分:2)

当您使用代码(不是)时,我假设您使用的是iText 5.5.x。

PdfWriter类提供了一个返回当前垂直位置的方法:

/**
 * Use this method to get the current vertical page position.
 * @param ensureNewLine Tells whether a new line shall be enforced. This may cause side effects
 *   for elements that do not terminate the lines they've started because those lines will get
 *   terminated.
 * @return The current vertical page position.
 */
public float getVerticalPosition(final boolean ensureNewLine)

因此,要检索当前页面上剩余主要内容空间的垂直范围,您只需要检索此垂直位置值并减去底页边距的y位置(可以使用{{1方法Document)。

您获得的值是默认用户空间单位(默认为1/72英寸)。

适合此空间的的数量显然取决于您要在这些行上使用的字体和其他参数(字体大小,前导...)。