Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表行是从itext pdf中的新页面开始的_Pdf_Itext_Pdfptable - Fatal编程技术网

表行是从itext pdf中的新页面开始的

表行是从itext pdf中的新页面开始的,pdf,itext,pdfptable,Pdf,Itext,Pdfptable,我正在使用PdfPTable以pdf格式创建一个表。表中只有一行。在我的行中,最后一列的数据高度超过了页面的剩余高度。因此,行从下一页开始,而表标题位于上一页,并且在第一页的标题下有很大的空白 谁能建议我如何将行拆分为多页 谢谢请阅读我的浏览器或网上丰富的文档 默认情况下,不拆分表行。iText将尝试向当前页面添加一个完整的行,如果该行不适合,它将在下一页重试。只有当它不适合下一页时,它才会拆分该行。这是默认行为,因此您不应该对应用程序中看到的内容感到惊讶 您可以更改此默认行为。有一种方法允许您

我正在使用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);