我有一个旧的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)
在我踏上这条道路之前,我希望有人能指出我完全失踪的方向,这将使这种转换变得更加简单。
有什么想法吗?
感谢。
答案 0 :(得分:0)
您不再需要在AddCell方法中指定行和列。调用AddCell方法只会添加您要添加到下一个单元格的内容。所以,如果你有一个有两行和两列的表调用AddCell,第一次将它添加到第1行第1列。第二次调用它会将它添加到第1行第2列。下次它将它添加到第1行第2列。第2行第1列,依此类推。
如果你想跳过一个叫AddCell(“”)的电话,什么都不放入单元格并跳过它。