2

私はASP.NET、C#、およびiTextSharpを使用して、PDFを最初から動的に作成しています。

私はこれを使用しています。

Phrase ph = new Phrase(text);
Paragraph p = new Paragraph(ph);
p.Alignment = Element.ALIGN_JUSTIFIED;
p.SpacingBefore = spaceBefore;
p.FirstLineIndent = 170;
p.IndentationLeft = 30;
p.IndentationRight = 50;
doc.Add(p)

ご存知のように、paragraph.spacebefore を使用することを考えました。しかし、私は 3 つの段落を pdf に配置する必要があり、ユーザーから段落のテキストを取得しています。したがって、前の段落の行数に基づいて、次の段落は高さによって異なりますが、これは望ましくありません。

そこで、これを使おうと思いました。

ColumnText ct = new ColumnText(cb);
ct.AddText(p);
ct.SetSimpleColumn(100, 100, 500, 500);
ct.Go();

しかし、この場合、このように1行目と2行目の開始点を変えたい

p.FirstLineIndent = 170;
p.IndentationLeft = 30;
p.IndentationRight = 50;

編集: これを試してみると、プロパティはこれらの段落には影響しません。すべての行が同じポイントから始まっているだけです。

出来ますか?

4

1 に答える 1

4

答えは簡単です。columntext プロパティを設定できます。

columntext.SetIndent(100, false);

最初の行にのみスペースを追加します。次に、行間のためにこれを使用しました。

columntext.Leading = 31;

したがって、段落の絶対位置に列テキストを使用すると、段落プロパティは機能しません。ただし、columntext プロパティを使用できます。

于 2013-01-08T11:14:42.890 に答える