私はオープンソースを使用しています http://itextpdf.com/ 、いくつかのpdfを作成しています。
テーブルを作成することはできますが、すべての列の幅が同じであるため、特定の列の幅を変更する必要があります。
PdfPTable table = new PdfPTable(6);
Phrase tablePhrse = new Phrase("Sl n0", normalFontBold);
PdfPCell c1 = new PdfPCell(tablePhrse);
c1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(c1);
列の幅を設定する方法が見つかりませんでした。plsはこれを実現するための何らかの方法を提案しています。
SetWidths()メソッドを利用できます。
table.setWidths(new int[]{200,50});
これを試して。
float[] columnWidths = new float[]{10f, 20f, 30f, 10f};
table.setWidths(columnWidths);
テーブルの全幅を必ず設定してください
// Set Column Number
PdfPTable table = new PdfPTable(2);
// Set Table Total Width
table.setTotalWidth(500);
// Set Each Column Width - Make Sure Array is the same number specified in constructor
table.setWidths(new int[]{50, 450});
float[] columnWidths = {1, 5, 5};
// columnWidths = {column1, column2, column3...}
PdfPTable table = new PdfPTable(columnWidths)
table.setWidths(new int[]{200,50});
が機能しない場合の修正例は次のとおりです。
innertable.setWidthPercentage(50);