我通过以下方式使用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);

关于c# - pdftable:最后一个单元格不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12709428/

10-10 20:22