9

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

ありがとう。

4

3 に答える 3

22

私は最終的にそれを見つけたと思います:

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 つでテーブルを使用することです。

于 2009-08-27T12:52:52.170 に答える
4

テーブルが囲んでいるセルよりも小さくなる原因は、次のコードをテーブルに追加していないことであることがわかりました。

table.setWidthPercentage(100);
于 2012-07-30T18:36:02.123 に答える
2

ご指摘の通り、

cell.setPadding(0);

あなたが必要としていたものです。

于 2009-08-27T21:05:00.917 に答える