- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 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.keepRowsTogether(new int[] { 1 });
、table.keepRowsTogether(new int[] { 3 });
甚至 table.keepRowsTogether(0);
但 split 仍然发生。我最初感到困惑,认为带有 Header
和 Subheader
的行也是标题行的一部分,但实际上它们只是模拟第一页上单独标题文本的行。有什么想法如何将第二个非标题行与第一个非标题行保留在一起吗?
最佳答案
事实证明这是一个错误。我与 iText 支持团队合作解决了这个问题,他们找到了一个解决方案。该修复似乎已进入 5.5.6 版本。
关于java - 设置 setSkipFirstHeader(true) 时,iText 5.5.3 PdfPTable.keepRowsTogether() 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660583/
当我尝试将 iText 表格中的行保持在一起时,我得到了意想不到的结果。下面是一些独立的代码,可以用我看到的结果创建一个 PDF。 FileOutputStream out = new FileOut
我在 iText 中遇到了一个有趣的场景,其中 columnText 底部的表格意外地分割了行。我编写了一些代码来模拟我所看到的情况,产生的结果如下图所示: 可以使用以下代码重现上面的图像: Docu
我是一名优秀的程序员,十分优秀!