0

私は現在aで作業しており、PdfPtableこれまでのところすべて問題ありませんが、厄介な問題が1つあります。テーブルがページよりも高い場合があり、テーブルがPDFPtable壊れて、いくつかの行が次のページにあります。

残念ながら、私は現在、テーブルが 1 ページに収まるまで単純に縮小する古いソフトウェアの一部をモデル化しています。この動作を達成する方法を知っている人はいますか?

要するに、表を 1 ページに収める方法はありますか? テーブルを分割する代わりに、テーブルを縮小します。

これまでのところ非常に単純なコード:

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ましたが、効果がありません。

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 に答える