1

我正在使用 iText 5.1.3,我想在我的 Pdf 文档中添加一个标题。我使用了此处发布的已知解决方案:http: //itextpdf.com/examples/iia.php ?id=104

该解决方案使用了类,并在完成每个页面后PdfPageEventHelper重写了添加标题的方法。onEndPage()上面链接中提供的示例工作正常,因为它添加了一个表格作为文档的标题。我试图用 1 个差异做完全相同的事情,我希望该表中的某些单元格具有 Rowspan 和/或 Colspan。

我试过了,发现使用table.writeSelectedRows()与. 这是我正在尝试做的一个示例:document.add(table)RowspanonEndPage

PdfPTable mytable = new PdfPTable(3);
mytable.setTotalWidth(527);
PdfPCell cell1 = new PdfPCell(new Phrase("Hello"));
cell1.setColspan(2);
cell1.setRowspan(2);
mytable.addCell(cell1);

PdfPCell cell2 = new PdfPCell(new Phrase("Girls !"));
mytable.addCell(cell2);

PdfPCell cell3 = new PdfPCell(new Phrase("Boys !"));
mytable.addCell(cell3);

mytable.writeSelectedRows(0, -1, 34, 803, writer.getDirectContent());

而不是在左侧有一个带有“Hello”的2x2单元格,而是将“Hello”单元格作为1x2而不是2x2

有任何想法吗?

4

2 回答 2

4

好吧..我自己找到了解决方案:D它只是替换mytable.writeSelectedRows(0, -1, 34, 803, writer.getDirectContent());为以下内容:

ColumnText column = new ColumnText(writer.getDirectContent());
column.addElement(mytable);
column.setSimpleColumn(-12, -20, 604, 803); // set LLx, LLy, URx, and URy of the header
column.go();

就是这样:)工作:)

于 2012-12-03T09:35:40.390 回答
0

当我使用 iText-2.1.7 时,iText writeSelectedRows 不适用于 rowSpan,rowSpan 单元格不会增长到其他行,但它有一个解决方法。

ArrayList tmp = table.getRows(0, table.getRows().size());
table.getRows().clear();
table.getRows().addAll(tmp);
table.writeSelectedRows(0, -1, x, y, directContent);
于 2014-03-16T00:20:10.247 回答