我有一个旧的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 回答
您不再需要在AddCell方法中指定行和列 . 调用AddCell方法只会添加您要添加到下一个单元格的内容 . 所以,如果你有一个有两行和两列的表调用AddCell,第一次将它添加到第1行第1列 . 第二次调用它会将它添加到第1行第2列 . 下次它将它添加到第1行第2列 . 第2行第1列,依此类推 .
如果你想跳过一个AddCell(“”)调用,什么都不放入单元格并跳过它 .