首页 文章

结合rowspan和colspan的iText - PDFPTable

提问于
浏览
0

在日历项目上工作并使用iText生成pdf以打印约会 . 我可以绘制一个带有colspan的单元格和一个带有rowspan的单元格,但我无法将它组合在一起 . 表的宽度为4个单元格 . 我希望实现这样的目标:

(A)(B)(C)(C)

(d)(E)(C)(C)

所以(1,1),(1,2)和(2,1)(2,2)是常规细胞 . 但是(1,3)中应该有一个细胞覆盖(1,3)(1,4)(2,3)和(2,4),因此具有2的spspan和2的行距 .

当前代码:

PdfPTable table = new PdfPTable(4); PdfPCell cell = new PdfPCell(new Phrase(“1,1”)); table.addCell(细胞); cell = new PdfPCell(new Phrase(“1,2”)); table.addCell(细胞); PdfPCell cell23 = new PdfPCell(new Phrase(“multi 1,3 and 1,4”)); cell23.setColspan(2); cell23.setRowspan(2); table.addCell(cell23); cell = new PdfPCell(new Phrase(“2,1”)); table.addCell(细胞); cell = new PdfPCell(new Phrase(“2,2”)); table.addCell(细胞); // 2,3和2,4应该被填充,因为1,3有rowspan 2和colspan 2. //table.completeRow(); //没有效果

但是会产生错误:

ExceptionConverter:java.io.IOException:文档没有页面 .

如果我没有开始创建第二行,它只是绘制好(1行,并且(1,3)上的单元格具有2的colspan . 由于没有第二行,rowspan(2)没有效果 . 感谢帮助 . 谢谢

1 回答

  • 2

    乍一看,我会说:你得到一个“文档没有页面”的例外,因为你没有在文档中添加任何内容 . 我没有看到:

    document.add(table);
    

    代码段中的任何位置 .

    我已将您的代码复制/粘贴到一个完整的示例中,我在这里发布了完整的示例:ColspanRowspan . 生成的PDF看起来像this

    enter image description here

    这似乎是理想的行为 . 我只能想到两个不同之处:(1)你忘了添加实际的表(这是我最初的答案),或者(2)你正在使用强大的旧版iText,其中rowspan不完全支持 .

相关问题