首页 文章

iTextSharp从Table转换为pdfPTable

提问于
浏览
4

我有一个旧的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

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

    如果你想跳过一个AddCell(“”)调用,什么都不放入单元格并跳过它 .

相关问题