表行是从itext pdf中的新页面开始的
我正在使用PdfPTable以pdf格式创建一个表。表中只有一行。在我的行中,最后一列的数据高度超过了页面的剩余高度。因此,行从下一页开始,而表标题位于上一页,并且在第一页的标题下有很大的空白 谁能建议我如何将行拆分为多页 谢谢请阅读我的浏览器或网上丰富的文档 默认情况下,不拆分表行。iText将尝试向当前页面添加一个完整的行,如果该行不适合,它将在下一页重试。只有当它不适合下一页时,它才会拆分该行。这是默认行为,因此您不应该对应用程序中看到的内容感到惊讶 您可以更改此默认行为。有一种方法允许您删除不匹配的内容(这不是您想要的),还有一种方法允许您在不适合当前页面时分割行(这是您想要的) 您所需的方法用于:表行是从itext pdf中的新页面开始的,pdf,itext,pdfptable,Pdf,Itext,Pdfptable,我正在使用PdfPTable以pdf格式创建一个表。表中只有一行。在我的行中,最后一列的数据高度超过了页面的剩余高度。因此,行从下一页开始,而表标题位于上一页,并且在第一页的标题下有很大的空白 谁能建议我如何将行拆分为多页 谢谢请阅读我的浏览器或网上丰富的文档 默认情况下,不拆分表行。iText将尝试向当前页面添加一个完整的行,如果该行不适合,它将在下一页重试。只有当它不适合下一页时,它才会拆分该行。这是默认行为,因此您不应该对应用程序中看到的内容感到惊讶 您可以更改此默认行为。有一种方法允许您
默认情况下,
setSplitLate()
的值为true
:iText将尽可能晚地拆分行。通过将此默认值更改为false
,iText将立即拆分行。非常感谢Bruno。它现在工作完全正常。根据doc,如果splitlate为true,则仅当它是空页中的第一行时,行才会拆分。我没有得到这一行。这是否意味着如果它是第一行,那么只有它才会被拆分。规则1:如果您将split late设置为true
,iText将不会拆分一行,而是将其转发到下一页。然而:假设一行不适合一页,那么您将有一个无止境的循环,因为您总是将该行转发到下一页。这就是为什么规则1需要用规则2修改的原因:如果一行是空白页面上的第一行,那么该行仍将被拆分。但我认为我需要同时删除pTable.keepRowsTogether(0,contentList.size()-1);我的密码里的lso。正确的?是的,那一行需要删除(我不知道它在那里,因为你没有共享任何代码)。
PdfPTable table = getTable(...);
table.setSplitLate(false);