페이지 길이보다 길어질 수있는 테이블 (PdfPTable)이있는 문제가 있습니다. 나는 하나 이상의 페이지에 테이블을 "분할"하는 방법을 찾아 보았지만 iTextSharp는이 영역에서 제대로 문서화되지 않았습니다. 누군가가 페이지에서 임의의 Y 위치를 선택하지 않고 이것을 수행하고 거기에 있다면 분할하도록 지시하는 방법을 알고 있습니까?iTextSharp : SplitLate/SplitRows?
나는 SplitLate
과 SplitRows
속성을 살펴 보았지만, 이것들에 대한 문서는 없습니다. EDIT 그들은 아무것도하지 않습니다.
감사합니다.
나는 테이블로 항상 페이지의 폭을 맞는 폭의 절반에 테이블을 잘라 찾고 있어요
편집 할 수 있습니다. 즉, 세로로 맞지 않는 행을 그 아래의 다음 페이지까지 확장하고 싶습니다. 내가 iTextSharp의 테이블로 작업 한
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
당신은 그 과정에 그 특별한 위치를 두어야합니까? 당신이 행을 쓰고 나면, 전에, 어디서? – Jason
미안 제이슨, 나는 당신의 질문에 대해 오해했습니다. 나는 내가 원했던 나의 감동을 편집했다. –
편집 해 주셔서 감사합니다 ... 예 100x 튜토리얼을 끝까지 사용해 보았지만 아무 소용이 없습니다. 이 장에서는 간단한 테이블 사용에 대해 이야기하고 PdfPTable을 사용하여 절대적으로 위치를 지정할 수있게해야합니다. 지금 당장은 테이블의 가장자리에서 곧바로 실행되는 테이블이 있습니다. \ – Jason