0

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

4

1 回答 1

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

我希望这可以帮助你。

于 2012-09-18T15:33:19.443 回答