iTextSharp: SplitLate / SplitRows?

J'ai un problème lorsque j'ai une table (PdfPTable) qui peut s'étendre au-delà de la longueur de la page. J'ai essayé de regarder comment "split" une table sur plus d'une page, mais iTextSharp est assez mal documentée dans ce domaine. Personne ne sait comment le faire sans le choix d'un arbitraire Y position sur la page, et le raconter à split si il y a quelqu'un?

J'ai regardé dans le SplitLate et SplitRows propriétés, mais il n'y a pas de documentation sur ce que ces faire. MODIFIER Ils ne font rien.

Merci!

MODIFIER

Je suis à la recherche de couper le tableau en demi-sens de la largeur comme la table sera toujours s'adapter à la largeur de la page. C'est-à-dire que je veux les lignes qui ne correspondent pas à la verticale pour s'étendre à la page suivante ci-dessous.

EDIT2

Voici un code:

Public Sub BuildPrintableDocument
Dim doc As New Document(PageSize.LETTER, 0, 0, 0, BOTTOM_MARGIN)
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, _
New FileStream("invoice.pdf", FileMode.Create)
Dim footer As New HeaderFooter(New Phrase("www.columbussupply.com", _
footerFont), False)
footer.Border = Rectangle.NO_BORDER
footer.Alignment = HeaderFooter.ALIGN_CENTER
doc.Footer = footer
doc.Open()
....
Dim items As PdfPTable = NewItemTable()
Dim count As Integer = 0
For Each oi As OrderItem In TheInvoice.Items
If oi.Status <> OrderItem.OrderItemStatus.Cancelled Then
Dim qty As New PdfPCell(New Phrase(oi.Quantity, mainFont))
qty.HorizontalAlignment = Element.ALIGN_CENTER
qty.Padding = ITEMS_PADDING
'...instantiate 3 other cells here (removed for repetitiveness)'
items.AddCell(qty)
items.AddCell(desc)
items.AddCell(price)
items.AddCell(total)
End If
Next
items.WriteSelectedRows(0, -1, LEFT_MARGIN, GetItemsStartY, _
writer.DirectContent)
End Sub
Protected Function NewItemTable() As PdfPTable
Dim items As PdfPTable = New PdfPTable(4)
Dim headers() As String = {"QTY", "DESCRIPTION", "PRICE", "TOTAL"}
For Each s As String In headers
Dim cell As New PdfPCell(New Phrase(s, mainFont))
cell.HorizontalAlignment = Element.ALIGN_CENTER
items.AddCell(cell)
Next
items.TotalWidth = ITEMS_TOTAL_WIDTH
items.SetWidths(New Single() {QTY_COL_WIDTH, DESC_COL_WIDTH, _ 
PRICE_COL_WIDTH, TOTALS_COL_WIDTH})
Return items
End Function

source d'informationauteur Jason | 2009-09-01