作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 itext v5.5.3 创建一个包含大表格的 pdf。
我需要:
使用下面的代码,一切正常:
Document document = new Document(PageSize.LETTER);
PdfWriter.getInstance(document, baos);
document.open();
PdfPTable table = new PdfPTable(5);
table.setHeaderRows(1);
//table.setSplitRows(false);
//table.setComplete(false);
for (int i = 0; i < 5; i++) {table.addCell("Header " + i);}
for (int i = 0; i < 500; i++) {
table.addCell("Test " + i);
//if (i%5 == 0) {document.add(table);}
}
//table.setComplete(true);
document.add(table);
document.close();
如果我添加内存管理(每 5 个单元格添加表格以记录文档),我将丢失第一个 header :
Document document = new Document(PageSize.LETTER);
PdfWriter.getInstance(document, baos);
document.open();
PdfPTable table = new PdfPTable(5);
table.setHeaderRows(1);
//table.setSplitRows(false);
table.setComplete(false);
for (int i = 0; i < 5; i++) {table.addCell("Header " + i);}
for (int i = 0; i < 500; i++) {
table.addCell("Test " + i);
if (i%5 == 0) {document.add(table);}
}
table.setComplete(true);
document.add(table);
document.close();
如果我添加内存管理+ setSplitRows(false),我会丢失所有标题和一些行:
Document document = new Document(PageSize.LETTER);
PdfWriter.getInstance(document, baos);
document.open();
PdfPTable table = new PdfPTable(5);
table.setHeaderRows(1);
table.setSplitRows(false);
table.setComplete(false);
for (int i = 0; i < 5; i++) {table.addCell("Header " + i);}
for (int i = 0; i < 500; i++) {
table.addCell("Test " + i);
if (i%5 == 0) {document.add(table);}
}
table.setComplete(true);
document.add(table);
document.close();
我已经做了一些测试,并且使用 itext 版本 2.1.7.js2,所有三个测试用例都正常工作。
那么,到底是 bug 还是不是 bug?我该怎么做才能使其正常工作?
谢谢
最佳答案
如果您更换,您的问题就不会出现
if (i % 5 == 0) {
document.add(table);
}
由
int x = 5; // or any other value higher than your PdfPTable number of columns
if (i % 10 == x) {
document.add(table);
}
此问题的明显原因是 iText 不希望包含仅包含标题和部分行的表格。目前这是一种解决方法,但我们正在寻找核心问题并解决它。
关于java - Itext LargeElement 和 splitRows 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26774513/
我正在尝试使用 itext v5.5.3 创建一个包含大表格的 pdf。 我需要: 内存管理 重复标题(1 行) 禁用行拆分 使用下面的代码,一切正常: Document document =
我是一名优秀的程序员,十分优秀!