2013-02-08 91 views
8

私はopensource http://itextpdf.com/を使用してpdfを作成しています。iTextで表のセル幅を設定するjava 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はこれを達成するため行うにはいくつかの方法を提案する。..

+0

あなたは 'column.setPreferredWidth(100)を利用することができます。私は誤解' – Smit

+0

私はPdfTableまたはPdfCell下.setPreferredWidth(100)メソッドを見つけることができませんでした... – indra

+0

申し訳ありません。私はあなたが 'table.setTotalWidth();を使うことができると思います。 'と' table.setWidths(); ' – Smit

答えて

18

あなたはsetWidthsの使用()メソッドを作ることができます。ここで

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

public void setWidths(int[] relativeWidths)

+2

配列内のitensの数は、PdfPTableコンストラクタで定義された列の数と同じでなければなりません。 – dellasavia

+0

@dellasavia:これを指摘してくれてありがとうございます。 – Smit

0

table.setWidths(new int[]{200,50});が動作しない場合は修正1です。

innertable.setWidthPercentage(50); 
0

こんにちはみんな..
はこれを試してみてください。

float[] columnWidths = new float[]{10f, 20f, 30f, 10f}; 
table.setWidths(columnWidths); 
+0

受け入れられた回答の中であなたのコードの利点をどのように考えていますか? – mkl

関連する問題