2012-09-18 114 views
0

我目前正在使用PdfPtable,目前一切正常 - 但我有一個令人討厭的問題:有時一張表高於一個頁面,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,沒有效果。

+0

顯示迄今爲止所做的工作。 –

+0

@Nudier:代碼非常簡單: 基本上 對於i = 0到myTables.count-1 Dim Table = New PdfPTable(myTables(i).Columns.Count) 這裏有一大塊商業邏輯。 下一個。 –

回答

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

表的屬性。

+0

你好Nudier,原諒我遲到的答案 - 我生病了:( 不幸的是,這不起作用 這創建了一個簡單的表 - 但如果表中有足夠的行,它仍然「溢出」到下一頁。 –