Вложенная таблица iText внутри ячейки - PullRequest
8 голосов
/ 27 августа 2009

Я создаю PDF с помощью iText версии 2.1.0. Я должен создать ячейку «детали» в ячейке таблицы. Я сделал это, вложив в эту камеру стол. Проблема этого подхода заключается в том, что границы вложенной таблицы не касаются границ ячейки контейнера. Я ищу таблицу, вложенную в ячейку, границы которой не отличаются от границ вложенной таблицы.

У меня есть такой тест. Я делаю это внутри цикла, чтобы добавить таблицы внутри ячейки во внешнюю таблицу:

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 ]

20 голосов
/ 27 августа 2009

Кажется, я наконец-то нашел это:

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.

3 голосов
/ 30 июля 2012

Я обнаружил, что причиной того, что мои таблицы были меньше, чем окружающая ячейка, было то, что я не добавлял следующий код в таблицу:

table.setWidthPercentage(100);
2 голосов
/ 28 августа 2009

Как вы определили,

cell.setPadding(0);

это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...