我正在使用iText在java中创建pdf 在我们看来,一切都按照我的想法工作,除了当我使用循环时,我正在使用的段落似乎保存了我存储在其中的所有数据。更清楚一点,这就是我想做的:
PdfPTable table = new PdfPTable();
for(int k=0; k < 3; k++){
Paragraph leftPar = new Paragraph();
leftPar.add(new Paragraph("\n List Object " + k, topicFont));
table_cell = new PdfPCell(leftPar)
table.addCell(table_cell);
}
我想要的表输出是:
List Object 0
-------------
List Object 1
-------------
List Object 2
但我得到的输出是:
List Object 0
-------------
List Object 0
List Object 1
-------------
List Object 0
List Object 1
List Object 2
-------------
我必须将信息放在不同的单元格中,所以我的问题是,当我声明 leftpar = new 段落时,它会创建它的一个新实例,但它似乎保留了我添加的其他内容。我什至尝试过 leftPar = null;然后 leftpar = 新段落 还是什么都没有?有什么想法吗?
谢谢!
最佳答案
答案是表本身保存了所有其他信息。所以我不得不使用方法flushContent();在循环结束时,将表格添加到文档后。
table.flushContent();
关于java - 如何重置 iText 中的段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13673040/