web-dev-qa-db-ja.com

iTextSharpテーブルの幅はページの100%

ITextSharpを使用してドキュメントにテーブルを追加しようとしています。次に例を示します。

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%しか使用しません。ここで何か間違ったことをしていますか?

20
Kyle

ITextSharp最新バージョン(5.0.4)では、PdfPTableWidthPercentageプロパティがあります。

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

55
Jla

理解した。どうやらtable.Widthはパーセントであり、ピクセル単位の幅ではありません。だから使用:

table.Width = 100;

魅力のように働いた。

33
Kyle

ユーザーは、パーセントで表の幅を設定することもできます。

t.WidthPercentage = 100f;
3
mihir patel

WidthPercentageプロパティはiText7では使用できなくなりました。代わりに以下を使用してください

table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));
2
Kolappan Nathan

Java table.setWidthPercentage(100); 5.5.8バージョンで動作します

0
Sachin Poreyana