在日历projcet上工作,并使用iText生成一个pdf来打印约会。我可以画出一个有大跨度的细胞,一个有一行跨度的细胞,但是我不能组合它。表的宽度为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,行间距为2。
当前代码:
PdfPTable表=新的PdfPTable(4); PdfPCell单元=新PdfPCell(新短语(“1,1 ")); Table.addCell(细胞); 单元格=新PdfPCell(新短语(“1,2 ")); Table.addCell(细胞); PdfPCell cell23 =新PdfPCell(新短语(“multi1,3和1,4")); cell23.setColspan(2); cell23.setRowspan(2); table.addCell(cell23); PdfPCell=新词组(“2,1”);table.addCell(单元格); 单元格=新PdfPCell(新短语(“2,2 ")); Table.addCell(细胞); // 2、3和2,4应填写,因为1,3有第2排和第2排。 //table.pleteRow();//无影响
但是,这会产生一个错误:
ExceptionConverter: java.io.IOException:文档没有页面。
如果我不开始创建第二行,它只是绘制精细的图(1行,而(1,3)上的单元格具有2的大跨度。因为没有第二行,所以行跨度(2)没有效果。任何帮助都是非常感谢的。谢谢
发布于 2014-06-02 09:11:07
乍一看,我会说:您得到了一个“文档没有页面”的异常,因为您没有在文档中添加任何内容。我看不出来:
document.add(table);代码片段中的任何位置。
我已经将您的代码复制/粘贴到一个完整的示例中,并在这里发布了完整的示例:ColspanRowspan。生成的PDF看起来像这

这似乎是我们想要的行为。我只能想到两个不同之处:(1)您忘记添加实际的表(这是我最初的回答),或者(2)您使用的是一个强大的旧版本的iText,其中没有完全支持行跨度。
https://stackoverflow.com/questions/23989852
复制相似问题