22

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

4

6 に答える 6

56

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

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

于 2010-10-18T15:02:24.153 に答える
35

理解した。どうやらtable.Widthパーセントであり、ピクセル単位の幅ではありません。したがって、以下を使用します。

table.Width = 100;

チャームのように働いた。

于 2009-09-26T12:56:01.007 に答える
5

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

t.WidthPercentage = 100f;
于 2017-05-26T11:19:07.963 に答える
3

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

table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));
于 2018-09-17T10:25:44.427 に答える
0

5.5.8table.setWidthPercentage(100); バージョンのJavaWorksでは

于 2019-07-31T09:57:03.167 に答える
0

itext7のC#で

Table details = new Table(4, false).UseAllAvailableWidth();
于 2021-08-17T16:01:00.203 に答える