iTextSharp从Table转换为pdfPTable

时间:2009-12-11 05:43:49

标签: vb.net itextsharp

我有一个旧的ASP.NET项目,最初是在ASP.NET 1.1 w / iText.NET中完成的,并转换为.NET 2.0和iTextSharp 4.1.6.0。它使用了很多表(我假设pdfptable在创建时不是一个选项。)我试图将此代码转换为使用最新的iTextSharp 5.0.0 dll,现在看到表和单元格已被删除。无论如何我开始转换它,很快发现没有相当于Table提供的许多功能。主要是AddCell不再允许col,row设置。在这段代码中有数以千计的这些调用,并且将其更改为逐行线性生成的可能性目前看来毫无希望。当前代码如下所示:

Dim myTable As New Table(NumReq + 2, IngDS.Tables(0).Rows.Count + 3)
        myTable.SetWidths(Width)
        myTable.Width = 100 
        myTable.Padding = 2 

myCell = New Cell(New Phrase("Some Text", New iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 8, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK)))
                    myCell.SetHorizontalAlignment(Element.ALIGN_RIGHT)
                    myCell.GrayFill = 0.75 
                    myTable.AddCell(myCell, Row, Col)

myCell = New Cell(New Phrase("Other Text",New iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 8, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK)))
                    myCell.GrayFill = 0.75 
                    myTable.AddCell(myCell, Row, Col+1)

在我踏上这条道路之前,我希望有人能指出我完全失踪的方向,这将使这种转换变得更加简单。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您不再需要在AddCell方法中指定行和列。调用AddCell方法只会添加您要添加​​到下一个单元格的内容。所以,如果你有一个有两行和两列的表调用AddCell,第一次将它添加到第1行第1列。第二次调用它会将它添加到第1行第2列。下次它将它添加到第1行第2列。第2行第1列,依此类推。

如果你想跳过一个叫AddCell(“”)的电话,什么都不放入单元格并跳过它。