Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iText nested table inside a cell

Tags:

java

pdf

itext

I'm creating a PDF with iText version 2.1.0. I have to create a "detail" cell in a cell of a table. I did this nesting a table inside that cell. The problem with this approach is that the borders of the nested table don't touch the borders of the container cell. What I am looking for is for a table nested inside a cell whose borders don't differenciate from the nested table borders.

I have a test like this one. I do this inside a loop to add tables inside a cell to the outer table:

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);

Thanks.

like image 598
Averroes Avatar asked Aug 27 '09 12:08

Averroes


1 Answers

I think I finally found it:

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);

The trick here is using the table in one of the PdfPCell constructor.

like image 184
Averroes Avatar answered Oct 25 '22 06:10

Averroes