Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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
Java iText 5.5.3 PdfPTable.keepRowsTogether()不是';设置SETSKIPFIRSTEADER(真)时,t按预期工作_Java_Itext - Fatal编程技术网

Java iText 5.5.3 PdfPTable.keepRowsTogether()不是';设置SETSKIPFIRSTEADER(真)时,t按预期工作

Java iText 5.5.3 PdfPTable.keepRowsTogether()不是';设置SETSKIPFIRSTEADER(真)时,t按预期工作,java,itext,Java,Itext,我在iText中得到了一个有趣的场景,在这个场景中,位于columnText底部的一个表意外地拆分了行。我已经编写了一些代码来模拟我看到的情况,生成的结果如下图所示: 可以使用以下代码再现上述图像: Document document = new Document(new Rectangle(400, 220)); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(new File("test.pdf

我在iText中得到了一个有趣的场景,在这个场景中,位于columnText底部的一个表意外地拆分了行。我已经编写了一些代码来模拟我看到的情况,生成的结果如下图所示:

可以使用以下代码再现上述图像:

Document document = new Document(new Rectangle(400, 220));
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(new File("test.pdf")));

document.open();

PdfPTable table = new PdfPTable(1);

table.setWidthPercentage(100);
table.setHeaderRows(2);
table.setSplitLate(false);
table.setSplitRows(true);
table.setSkipFirstHeader(true);

table.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);

table.addCell("Header (Continued)");
table.addCell("Subheader (Continued)");

table.getDefaultCell().setBackgroundColor(BaseColor.WHITE);

table.addCell("Header");
table.addCell("Subheader");
table.addCell("Row 1");
table.addCell("Row 2");
table.addCell("Row 3");
table.addCell("Row 4");

ColumnText columnText = new ColumnText(writer.getDirectContent());
columnText.addElement(table);

columnText.setSimpleColumn(36, 158, 364, 184);
columnText.go();

columnText.setSimpleColumn(36, 36, 364, 148);
columnText.go();

document.close();

请注意,标记为标题的实际行已高亮显示为灰色。我尝试过一起使用
table.keeprowster(newint[]{1})
table.keepRowsTogether(新的int[]{3})
和偶数
表。保持同步(0)但拆分仍会发生。我最初认为带有
标题
副标题
的行也是标题行的一部分,但实际上它们只是模拟第一页上单独标题文本的行。你知道如何将第二个非标题行与第一个非标题行保持一致吗?

原来这是一个错误。我曾与iText支持团队在这方面合作,他们能够想出一个解决方案。修复程序似乎已经进入了5.5.6版本。

考虑过它之后,我实际上想要
table.keepRowsTogether(新的int[]{1,2})
将假标题和副标题以及
行1
保持在一起,但这也不起作用。