Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PdfTable: last cell is not visible

Tags:

c#

.net

itext

I use PdfPTable in the following way

var myTable = new PdfPTable( 3 );

foreach(var nextString in myStrings)
{

var nextCell = new PdfPCell( new Phrase( nextString, smallFont ) );
nextCell.Border = Rectangle.NO_BORDER;
nextCell.AddCell(nextCell);
}

pdfDocument.Add(myTable);

All is perfect then total cell count multiply the number of columns (3). But when I wanted to create a table with 3 columns but 4 cells - last row is not visible.

How to solve such issue?

itextsharp 5.3.3.0

like image 330
user1717140 Avatar asked Dec 01 '25 02:12

user1717140


2 Answers

To solve this issue and others I recommend the use of the PdfPTable method CompleteRow().

This will ensure that any incomplete rows have extra cells added to make them complete so that they show up in the generated PDF.

Generally, an incomplete row will be a logic error however by using CompleteRow() you can easily identify where you have made these errors, and correct them.

In terms of your example:

var myTable = new PdfPTable( 3 );

foreach(var nextString in myStrings)
{
    var nextCell = new PdfPCell( new Phrase( nextString, smallFont ) );
    nextCell.Border = Rectangle.NO_BORDER;
    nextCell.AddCell(nextCell);
}

myTable.CompleteRow();

pdfDocument.Add(myTable);
like image 136
TimS Avatar answered Dec 02 '25 14:12

TimS


You can either fill the last row until it's fill or you can also set it's ColumnSpan to occupy the empty space.

like image 27
Erre Efe Avatar answered Dec 02 '25 16:12

Erre Efe



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!