2014-03-03 76 views
0

Hy, 我想知道是否可以旋轉PdfPTable。我有一個模板pdf,我需要添加一個表下的特定元素,但我找不到一種方法來實現這一點。 我嘗試將表添加到段落,但我無法旋轉段落。這是我的代碼旋轉itextsharp PdfPtable

PdfPTable table = new PdfPTable(15); 
foreach(var row in Rows) 
{ 
    PdfPCell[] cells = new PdfPCell[] { 
        new PdfPCell(new Phrase(row.ID.ToString())) 
    //***MANY OTHER CELLS***// 
    }; 
    PdfPRow row = new PdfPRow(cells); 
    table.Rows.Add(row); 
} 
table.CompleteRow(); 
Paragraph paragraph = new Paragraph(); 
paragraph.Add(table); 

PdfImportedPage page = writer.GetImportedPage(reader, 1); 
cb.AddTemplate(page, 0,-1f,1f,0,0,reader.GetPageSizeWithRotation(1).Width); 
doc.Add(paragraph); 

我想補充我的模板下的表,我甚至可以將表添加到模板,如果這可能是有益的。 有人有一些想法?謝謝你的

+2

您確定要將頁面導入到「PdfWriter」實例嗎?如果您使用'PdfStamper'將表添加到現有頁面,是不是會容易得多?請澄清,因爲這對任何可能的答案都有重大影響。 –

+1

謝謝!你的答案幫助了我,我已經開始使用PdfStamper,現在一切正常! –

+0

我會將其添加爲答案,以便0答案標記消失;-) –

回答

2

你正在使用PdfWriter這涉及到旋轉頁面和旋轉你添加的頁面上的頁面。您可以通過使用PdfStamper添加表來避免此問題。在這種情況下,你可以添加表,如果頁面的旋轉設置正確,該表將自動過旋轉,除非您使用以下行:

stamper.setRotateContents(false); 

默認情況下,額外的內容將有相同的頁面旋轉。

0

請參考下面轉動你的表:

Document doc = new Document(iTextSharp.text.PageSize.LETTER.Rotate(), 20, 20, 42, 35); 

要旋轉細胞是上述

pdfPCell.Rotation = 90; 

希望能幫助你!

相關問題