PdfTable:最后一个单元格不可见

我以下列方式使用PdfPTable

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

一切都很完美,然后总细胞计数乘以列数(3)。 但是当我想创建一个包含3列但只有4个单元格的表时 – 最后一行是不可见的。

如何解决这样的问题?

itextsharp 5.3.3.0

为了解决这个问题和其他问题,我建议使用PdfPTable方法CompleteRow()

这将确保任何不完整的行都添加了额外的单元格以使其完整,以便它们显示在生成的PDF中。

通常,不完整的行将是逻辑错误,但是通过使用CompleteRow()您可以轻松识别出现这些错误的位置并进行更正。

就你的例子而言:

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

您可以填充最后一行直到填充,也可以将其设置为ColumnSpan以占用空白区域。

最后一行不可见,因为最后一行未完成。 对于3列和4个单元格的情况,您需要再添加2个空单元格以完成最后一行。