Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java iText组合行span和列span-PDFPTable_Java_Pdf_Itext_Pdfptable - Fatal编程技术网

Java iText组合行span和列span-PDFPTable

Java iText组合行span和列span-PDFPTable,java,pdf,itext,pdfptable,Java,Pdf,Itext,Pdfptable,使用日历项目集并使用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),因此colspan为2,rowspan为2 当前代码: PdfPTable=新的PdfPTable(4) PdfPCell=新的PdfPC

使用日历项目集并使用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),因此colspan为2,rowspan为2

当前代码:

PdfPTable=新的PdfPTable(4)

PdfPCell=新的PdfPCell(新短语(“1,1”)

表2.addCell(cell)

cell=新的PdfPCell(新短语(“1,2”))

表2.addCell(cell)

PdfPCell cell23=新的PdfPCell(新短语(“多1,3和1,4”))

细胞23.setColspan(2)

第23单元。setRowspan(2)

表2.addCell(第23单元)

cell=新的PdfPCell(新短语(“2,1”)

表2.addCell(cell)

cell=新的PdfPCell(新短语(“2,2”))

表2.addCell(cell)

//应填充2,3和2,4,因为1,3具有行跨度2和列跨度2

//table.completeRow()//无效

但是,这会产生一个错误:

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

如果我不开始创建第二行,它只会精细打印(1行),并且(1,3)上的单元格的colspan为2。因为没有第二行,所以rowspan(2)没有效果。
感谢您的帮助。第一眼看到这里,我会说:您会收到“文档没有页面”的异常,因为您没有向文档添加任何内容。我看不到:

document.add(table);
代码段中的任意位置

我已将您的代码复制/粘贴到完整示例中,并在此处发布了完整示例:。生成的PDF看起来像:


这似乎是我想要的行为。我只能想到两个区别:(1)您忘记添加实际的表(这是我最初的答案),或者(2)您使用的是一个非常旧的iText版本,其中rowspan不完全受支持。

这只是一个片段,我稍后会这样做。正如我所说的,如果我不使用第二行,则总体结构没有问题。只是添加了第二行,这给了我一些问题。在根据您的代码编写了概念证明之后,我更新了我的答案。比ks.我猜是版本,因为我对document.add(table)有100%的把握-我刚刚注释掉了代码段中的第2行,然后它就显示出来了。因为很紧急,我不得不切换到低级API绘图,但很高兴看到它真的像我预期的那样工作。