2

我正在使用iText(在最新版本 5.4.4 中)进行用户界面的通用打印。

我在某些 UI 上遇到问题,收到 NullPointerException:

23.10.2013 14:53:23.066  - ERROR -Container.doAdd()
com.itextpdf.text.DocumentException: java.lang.NullPointerException
...
Caused by: java.lang.NullPointerException
    at com.itextpdf.text.pdf.ColumnText.setSimpleVars(ColumnText.java:312)
    at com.itextpdf.text.pdf.ColumnText.setACopy(ColumnText.java:305)
    at com.itextpdf.text.pdf.ColumnText.duplicate(ColumnText.java:294)
    at com.itextpdf.text.pdf.PdfPCell.<init>(PdfPCell.java:255)
    at com.itextpdf.text.pdf.PdfPRow.<init>(PdfPRow.java:131)
    at com.itextpdf.text.pdf.PdfPTable.<init>(PdfPTable.java:261)
    at com.itextpdf.text.pdf.ColumnText.setSimpleVars(ColumnText.java:347)
    at com.itextpdf.text.pdf.ColumnText.setACopy(ColumnText.java:305)
    at com.itextpdf.text.pdf.ColumnText.duplicate(ColumnText.java:294)
    at com.itextpdf.text.pdf.PdfPCell.getMaxHeight(PdfPCell.java:968)
    at com.itextpdf.text.pdf.PdfPRow.calculateHeights(PdfPRow.java:209)
    at com.itextpdf.text.pdf.PdfPRow.getMaxHeights(PdfPRow.java:592)
    at com.itextpdf.text.pdf.PdfPTable.getRowHeight(PdfPTable.java:990)
    at com.itextpdf.text.pdf.PdfPTable.getRowHeight(PdfPTable.java:971)
    at com.itextpdf.text.pdf.ColumnText.goComposite(ColumnText.java:1821)
    at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:882)
    at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:877)
    at com.itextpdf.text.pdf.PdfPRow.splitRow(PdfPRow.java:736)
    at com.itextpdf.text.pdf.ColumnText.goComposite(ColumnText.java:1662)
    at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:882)
    at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:877)
    at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:866)
    at com.itextpdf.text.pdf.PdfDocument.addPTable(PdfDocument.java:2602)
    at com.itextpdf.text.pdf.PdfDocument.add(PdfDocument.java:727)
    ... 24 more

经过几天调试我自己的代码和 iText 的代码后,我想我在 com.itextpdf.text.pdf.PdfPRow 类的第 699 行中找到了负责的行:

newCells[k].setColumn(null);

我在 iText-API 中删除了这一行,并且 NullPointer 不再出现。然后程序再次生成PDF,但仍然存在垂直空间过多的问题,我还无法修复。

有没有人有同样的问题?它是 iText 中的错误吗?

感谢帮助!

马库

4

0 回答 0