我目前正在使用PdfPtable
,到目前为止一切都很好 - 但我有一个令人讨厌的问题:有时一个表高于一个页面,PDFPtable
然后中断,一些行打开下一页。
不幸的是,我目前正在为一个较旧的软件建模,他只是缩小了桌面,直到它适合一个页面。有没有人知道如何实现这种行为?
简而言之:有没有办法在一个页面上保留一张桌子?收缩表而不是拆分表。
到目前为止非常简单的代码:
Dim Mytables as List(Of DataTables)
Dim doc As Document = Nothing
doc = New Document(iTextSharp.text.PageSize.A4.Rotate, 1, 1, 1, 1)
Dim pdfw = PdfWriter.GetInstance(doc, New FileStream(PDFPath, FileMode.Create))
pdfw.SetFullCompression()
pdfw.CloseStream = True
mywriter = pdfw
for i=0 to myTables.count-1
Dim Table = New PdfPTable(myTables(i).Columns.Count)
Here comes a huge chunk of business logic.
doc.add(table)
Doc.NewPage()
next.
我已尝试table.keeptogether=true
和Table.SplitLate = True
,但没有效果。
答案 0 :(得分:0)
您必须设置添加到文档的表的属性
//The code below creates a 2x2 table
Dim Table = New PdfPTable(2)
Table.HorizontalAlignment = 0 //0=Left, 1=Center, 2=Right
Table.SpacingBefore = 10
Table.SpacingAfter = 10
Table.DefaultCell.Border = 0
Table.SetWidths(New Integer() { 1, 4 })
Table.AddCell(New Phrase("Content1"))
Table.AddCell(New Phrase("Content 2"))
Here comes a huge chunk of business logic.
doc.add(table)
doc.NewPage()
我希望这可以帮到你。