PdfPtable收缩到页面

时间:2012-09-18 14:53:50

标签: c# vb.net itextsharp

我目前正在使用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=trueTable.SplitLate = True,但没有效果。

1 个答案:

答案 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()

我希望这可以帮到你。