web-dev-qa-db-ja.com

iTextでテーブルのセル幅を設定Java pdf

私はオープンソースを使用しています 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はこれを実現するための何らかの方法を提案しています。

11
indra

SetWidths()メソッドを利用できます。

table.setWidths(new int[]{200,50});

public void setWidths(int [] relatedWidths)

22
Smit

これを試して。

float[] columnWidths = new float[]{10f, 20f, 30f, 10f};
table.setWidths(columnWidths);
2
Sujeet Kumar

テーブルの全幅を必ず設定してください

// 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});
1
Rodney Dunn
float[] columnWidths = {1, 5, 5};

// columnWidths = {column1, column2, column3...}

PdfPTable table = new PdfPTable(columnWidths)
1
krishna ragav

table.setWidths(new int[]{200,50});が機能しない場合の修正例は次のとおりです。

innertable.setWidthPercentage(50);
1