web-dev-qa-db-ja.com

iTextSharp \ iTextの2つの要素の間にスペース\マージンを追加するにはどうすればよいですか?

iTextSharptiText C#の移植)はかなり新しく、次の疑問があります。

私のコードには次のようなものがあります:

iTextSharp.text.Paragraph titolo = new iTextSharp.text.Paragraph(currentVuln.Title, _fontTitolo0);
titolo.Alignment = iTextSharp.text.Element.ALIGN_CENTER;
_document.Add(titolo);

table = new PdfPTable(3);
table.WidthPercentage = 98;

cell = new PdfPCell(new Phrase("Header spanning 3 columns"));
cell.Colspan = 3;
cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
table.AddCell(cell);

table.AddCell("Col 1 Row 1");
table.AddCell("Col 2 Row 1");
table.AddCell("Col 3 Row 1");
table.AddCell("Col 1 Row 2");
table.AddCell("Col 2 Row 2");
table.AddCell("Col 3 Row 2");

_document.Add(table);

ご覧のとおり、タイトルを印刷し(Paragraphオブジェクトを使用)、その下にテーブルを配置します。

問題は、タイトルとテーブルの間にスペース(マージン)がなく、グラフィックの結果が良くないことです。これは、生成されたPDFで得られるものです。

enter image description here

タイトル段落と表の間にスペース\マージンを追加するにはどうすればよいですか?それを行う最良の方法は何ですか?私はそれをやろうとしていますが、今まで、私は解決策を見つけていません

Tnx

21
AndreaNobili

いくつかの異なるオプションがあります。段落にSpacingAfterを設定できます。

titolo.SpacingAfter = 20;

テーブルにSpacingBeforeを設定することもできます。

table.SpacingBefore = 20;

または、段落にいくつかのリターンを追加することもできます。

iTextSharp.text.Paragraph titolo = new iTextSharp.text.Paragraph("Hello World\n\n");
50
Chris Haas