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

use*_*140 2 .net c# itextsharp

我以下列方式使用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);
Run Code Online (Sandbox Code Playgroud)

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

怎么解决这个问题?

itextsharp 5.3.3.0

Tim*_*imS 7

为了解决这个问题和其他问题,我建议使用该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);
Run Code Online (Sandbox Code Playgroud)

  • 你只需要为CompleteRow方法添加`myTable.DefaultCell.Border = Rectangle.NO_BORDER;`来创建没有边框的单元格. (4认同)