我正在尝试使用itext7在PDF文档中创建一个表。但是,如果表格前的内容太大,则表格会在当前页面和下一页面之间分开。我想插入一个 -
document.Add(new AreaBreak())
如果当前页面中没有足够的空间可以完全插入表格。但是,我不知道如何计算可用空间。
任何帮助或指示都将受到高度赞赏。
答案 0 :(得分:3)
根据您的要求避免在表格内部进行分页,我认为Table#setKeepTogether(boolean)
正是您所需要的。
此属性确保,如果可能,具有此属性的元素将被推送到下一个区域(如果它们在区域之间分割)。
这并不是你所要求的,但它似乎是你想要达到的目标。手动检查此用例可能会很棘手。您需要查看iText布局的渲染器机制和内部处理,以获得剩余的可用空间和表所需的空间。您还需要处理案例,例如,如果表格很大,则适合单页。当元素彼此嵌套时,#setKeepTogether(boolean)
也可以工作。