如何查找pdf表行数?

时间:2015-05-21 12:07:39

标签: c# pdf itextsharp

我使用itext sharp生成了一个包含表格的报告。我想检查表行是否比一个更大。我的表创建是

 Document doc = new Document(new Rectangle(570f, 600f));
 PdfPTable table = new PdfPTable(2);
 table.SetTotalWidth(new float[] { 45f,45f}
 cell = new PdfPCell(new Phrase("Name", font));
 cell.HorizontalAlignment = Element.ALIGN_LEFT;
 table.AddCell(cell);
 cell = new PdfPCell(new Phrase("Age", font));
 cell.HorizontalAlignment = Element.ALIGN_LEFT;
 table.AddCell(cell);
 cell = new PdfPCell(new Phrase("Purushu", font2));
 table.AddCell(cell);
 cell = new PdfPCell(new Phrase("35", font2));
 table.AddCell(cell);
 doc.Add(table);

我已经添加了这样的表格,并尝试将表格数量计算为

if(table.row.Count>0)
 {
    string data="1"
 }
 else
 {
    string data="2"
 }

但如果表格添加与否,则行数始终为'0'。请让我知道原因?记得它是itext sharp pdf table。

1 个答案:

答案 0 :(得分:1)

您可以像这样获取行数:

table.Size

但是,当我查看您在问题的代码段中创建的表时,我看到一个表中零行已完成。您创建一个包含10列的表,但您只添加了4个单元格。

此外,您的代码应该抛出异常:

PdfPTable table = new PdfPTable(10);
table.SetTotalWidth(new float[] { 45f,45f}

您创建一个包含10列的表,但定义列的宽度,就好像只有2列一样。您使用的是流氓版本的iTextSharp(您使用的是哪个版本?),或者您的代码示例不是您的实际代码示例,或者您的代码应该抛出错误,例如:您定义2列的宽度,表格有10列。

你问我:行数总是显示为'0'。请告诉我原因?

我认为主要原因是您在编写代码时存在不准确之处。