10

I'm having a problem with ITextSharp's tables. I'd like to have cells without top & bottom padding, so that they are placed closer to each other.

Although I have set the padding and the leading of the cell to 0, the white-space still remains.

See the screen

Does anyone please know how to remove the whitespace ?

EDIT:

Thanx to prompt answer from Dylan, I've managed to resolve my issue. Here's the source snippet if someone gets across similar issue

        Document document = new Document(PageSize.A4, 5, 5, 10, 10);
        using (FileStream fs = new FileStream("C:\\Users\\brum\\Desktop\\untitled.pdf", FileMode.Create))
        {
            iTextSharp.text.pdf.PdfWriter.GetInstance(document, fs);
            document.Open();
            PdfPTable table = new PdfPTable(2);
            PdfPCell cell = new PdfPCell(new Phrase("Spanning 2 cols"));

            cell.Colspan = 2;
            cell.HorizontalAlignment = 1;
            cell.Padding = 0f;
            cell.UseAscender = true;
            table.AddCell(cell);

            table.AddCell("Next row 1");
            table.AddCell("Next row 2");

            document.Add(table);
            document.Close();
        }

cell.UseAscender = true; // This is the line that did the trick for me

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Bruno Laurinec
  • 910
  • 2
  • 11
  • 27
  • Oh my God!... :D I was going crazy with this top white space in each cell. The vertical alignment was not working correctly due to this. – Leniel Maccaferri Aug 08 '12 at 20:12
  • For future reference, this is also stated in the iTextSharp docs, eg: http://www.afterlogic.com/mailbee-net/docs-itextsharp/html/0602b79e-ea9c-0c7d-c4b2-bc4b5f976f15.htm – ingredient_15939 Oct 09 '13 at 09:20

1 Answers1

21

Set the top padding to something small or even negative. Another option is PdfPCell.setUseAscender().

ex:

cell.setPaddingTop(0f);  // No padding on top cell

or

cell.UseAscender = true;

Please paste the code you have.

Leniel Maccaferri
  • 100,159
  • 46
  • 371
  • 480
Dylan Cole
  • 396
  • 3
  • 8