web-dev-qa-db-fra.com

Comment ajouter de l'espace \ marge entre deux éléments dans iTextSharp \ iText?

Je suis assez nouveau dans iTextSharpt (le iText portage pour C #) et j'ai le doute suivant.

Dans mon code, j'ai quelque chose comme ça:

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);

Comme vous pouvez le voir, j'imprime simplement un titre (en utilisant un objet Paragraph) et en dessous, je place un tableau.

Le problème est qu'il n'y a pas d'espace (marge) entre mon titre et ma table et le résultat graphique n'est pas bon, c'est ce que j'obtiens dans le PDF généré:

enter image description here

Que puis-je faire pour ajouter un espace\marge entre le paragraphe de titre et le tableau? Quelle est la meilleure façon de procéder? J'essaye de le faire mais jusqu'à présent, je n'ai trouvé aucune solution

Tnx

21
AndreaNobili

Vous avez deux options différentes. Vous pouvez définir le SpacingAfter sur votre paragraphe:

titolo.SpacingAfter = 20;

Vous pouvez également définir le SpacingBefore sur la table:

table.SpacingBefore = 20;

Ou vous pouvez simplement ajouter quelques retours à votre paragraphe:

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