我正在使用 iText 5.1.3,我想在我的 Pdf 文档中添加一个标题。我使用了此处发布的已知解决方案:http://itextpdf.com/examples/iia.php?id=104
此解决方案使用了 PdfPageEventHelper
类,并覆盖了方法 onEndPage()
以在完成每一页后添加页眉。上面链接中提供的示例工作正常,因为它添加了一个表格作为文档的标题。我正在尝试做完全相同的事情,但有 1 个不同,我希望该表中的某些单元格具有 Rowspan 和/或 Colspan。
我试过了,发现在 Rowspan
方面,使用 table.writeSelectedRows()
与 document.add(table)
不同。这是我在 onEndPage
中尝试执行的示例:
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,而是 1x2 而不是 2x2,而是左侧的单元格是 2x2
有什么想法吗?
最佳答案
好吧 .. 我自己找到了解决方案 :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();
就是这样 :) 成功了 :)
关于java - iText - PdfPTable RowSpan 使用 mytable.writeSelectedRows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679178/