2009-09-26 57 views
16

iTextSharpを使用してドキュメントにテーブルを追加しようとしています。ここに例があります:iTextSharpテーブルの幅ページの100%

Document document = new Document(PageSize.LETTER,72, 72, 72, 72); 
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("C:\\test.pdf", FileMode.Create)); 

document.Open(); 
Table table = new Table (2, 1); 
table.Width = document.RightMargin - document.LeftMargin; 

// Cell placeholder 
Cell cell = new Cell (new Paragraph ("Some Text")); 
table.AddCell (cell); 
cell = new Cell (new Paragraph ("More Text")); 
table.AddCell (cell); 
document.Add (table); 
document.Close (); 

私はページの余白を広げるようにテーブルの幅を設定しています。しかし、pdfが作成されるとき、テーブルはマージンの間のスペースの約80%しか占有しません。私はここで間違って何かしていますか?

答えて

50

iTextSharp最新バージョン(5.0.4)では、PdfPTableにはWidthPercentageというプロパティがあります。

静的な値を設定するには、プロパティはTotalWidthです。

+1

[5.5.9] TotalWidthは静的値ではなく、単なるオブジェクトプロパティです。 – MaLiN2223

30

明らかにtable.Widthはパーセントであり、ピクセル単位の幅ではありません。だから使用:

table.Width = 100; 

魅力のように働いた。

2

ユーザーはテーブル幅をパーセンテージで設定することもできます。

t.WidthPercentage = 100f; 
+2

受け入れられた答えはすでにこれを示しています。 – Kyle

関連する問題