旋转itextsharp PdfPtable

时间:2014-03-03 11:04:48

标签: c# itextsharp

HY, 我想知道是否可以旋转PdfPTable。我有一个模板pdf,我需要在特定元素下添加一个表,但我找不到实现此目的的方法。 我尝试将表添加到段落,但我无法旋转段落。这是我的代码

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

我想在我的模板下添加表格,如果这可能有用,我甚至可以将表格添加到模板中。 有人有想法吗?感谢的

3 个答案:

答案 0 :(得分:3)

您正在使用PdfWriter,其中包括旋转页面并旋转您在该页面顶部添加的表格。您可以使用PdfStamper添加表来避免此问题。在这种情况下,您只需添加表格,如果页面的旋转设置正常,表格也会自动旋转,除非您使用以下行:

stamper.setRotateContents(false);

默认情况下,额外内容的页面旋转方式相同。

答案 1 :(得分:1)

请参阅下面旋转表格:

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

要旋转单元格

pdfPCell.Rotation = 90;

希望以上会帮助你!!!

答案 2 :(得分:0)

使用C#将表格中的内容旋转180度并没有达到结果

pdfPCell.Rotation = 180;  

但得到

table.DefaultCell.Rotation = 180;