2014-03-03 78 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; 

希望能帮助你!

相关问题