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%しか使用しません。ここで何か間違ったことをしていますか?
ITextSharp最新バージョン(5.0.4)では、PdfPTable
にWidthPercentage
プロパティがあります。
静的な値を設定するには、プロパティはTotalWidth
です。
理解した。どうやらtable.Width
はパーセントであり、ピクセル単位の幅ではありません。だから使用:
table.Width = 100;
魅力のように働いた。
ユーザーは、パーセントで表の幅を設定することもできます。
t.WidthPercentage = 100f;
WidthPercentageプロパティはiText7では使用できなくなりました。代わりに以下を使用してください
table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));
Java table.setWidthPercentage(100);
5.5.8バージョンで動作します