1

我正在尝试为我的应用程序创建一个 Pdf。我正在创建一个表如下: -

    boolean isTableHeaderCreated = false;
    PdfPTable playerTable = null;

    Set<String> keySet = playersListMap.keySet();
    for(String key:keySet) {
        List<String> playerNames = playersListMap.get(key);
        if(!isTableHeaderCreated) {
            playerTable = createPlayerTableHeaderColumns(playerNames.size()+1);
            isTableHeaderCreated = true;
        }
    }
    document.add(playerTable);
    document.close();


 private PdfPTable createPlayerTableHeaderColumns(int size) {
    // TODO Auto-generated method stub
    PdfPTable playerTable = new PdfPTable(size + 1);
    playerTable.setWidthPercentage(100);
    for(int i=0;i<=size;i++) {
        playerTable.addCell("Player "+i);
    }
    playerTable.setHeaderRows(1);
    return playerTable;
}

我已经调试了代码并验证了 createPlayerTableHeaderColumns 方法正在为 Size = 5 执行,甚至我在 Document 中添加表格但仍然出现以下异常:

java.io.IOException: The document has no pages.
at com.itextpdf.text.pdf.PdfPages.writePageTree(PdfPages.java:113)
at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1174)

我知道当 pdf 中没有可写的内容时会发生此异常,但在这里我正在将表格写入文档中,那么为什么我会收到此异常。

任何人都可以帮我解决这个问题。

谢谢

4

0 回答 0