在 itextsharp 中为 VB.NET 创建单元格数组

Creating array of cells in itextsharp for VB.NET

我正在尝试创建一个带有 table 的 pdf,每个单元格都具有许多不同的属性(即边框宽度和文本字体等),这样就不必提前将代码写出 500 次我希望每个单独的单元格都有一个单元格数组。我有以下代码:

Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports System.IO

Public Class pdfQuote
    Dim cell() As PdfPCell
    Dim table As New PdfPTable(7)
    Dim n As Integer = 0

    Public Sub createNewQuote()
        newCell("test")
    End Sub

    Public Sub newCell(text As String)
        n += 1
        cell(n) = New PdfPCell(New Phrase(text))
        table.AddCell(cell(n))
    End Sub
End Class

我收到错误:"Object reference not set to an instance of an object" 任何帮助将不胜感激。

提前致谢

如果您真的想让您的生活更轻松,请从数组切换到 List。通过这样做,您不需要跟踪当前索引。

Public Class pdfQuote
    Dim cells As New List(Of PdfPCell)
    Dim table As New PdfPTable(7)

    Public Sub createNewQuote()
        newCell("test")
    End Sub

    Public Sub newCell(text As String)
        cells.Add(New PdfPCell(New Phrase(text)))
        table.AddCell(cells.Last)
    End Sub
End Class

编辑

我还建议创建一些辅助方法,以便您可以共享尽可能多的代码。 This post 有一个简单的例子。