iText嵌套在单元格内的表

时间:2009-08-27 12:00:37

标签: java pdf itext

我正在使用iText 2.1.0版创建PDF。我必须在表格的单元格中创建一个“细节”单元格。我在这个单元格内嵌了一个表。此方法的问题是嵌套表的边框不会触及容器单元格的边框。我正在寻找的是一个嵌套在一个单元格内的表格,该单元格的边界与嵌套的表格边界不同。

我有这样的测试。我在循环中执行此操作以将单元格内的表添加到外部表:

PdfPCell testCell = new PdfPCell(new Paragraph("Test"));
//I want this border to touch the containerCell borders.
testCell.setBorder(PdfPCell.BOTTOM);
testTable =  new PdfPTable(2);

testTable.addCell(testCell);
testTable.addCell(testCell);
testTable.addCell(testCell);
testTable.addCell(testCell);

PdfPCell containerCell = new PdfPCell();
containerCell.addElement(testTable);
outerTable.addCell(containerCell);

感谢。

3 个答案:

答案 0 :(得分:20)

我想我终于找到了它:

testTable = new PdfPTable(1);
PdfPCell c2;
testTable.addCell("aaaa");
testTable.addCell("bbbb");

c2 = new PdfPCell (testTable);//this line made the difference
c2.setPadding(0);
outerTable.addCell(c2);

这里的技巧是使用PdfPCell构造函数中的表。

答案 1 :(得分:3)

我发现导致我的表格小于封闭单元格的原因是我没有在表格中添加以下代码:

table.setWidthPercentage(100);

答案 2 :(得分:2)

如你所知,

cell.setPadding(0);

是你需要的。