我想动态调整iText PdfpTable。
如何在iTextPDF中设置基于x和y位置的对齐方式。
PdfPCell cell;
cell = new PdfPCell(testTable);
cell.setFixedHeight(44f);
cell.setColspan(3);
cell.setBorder(0);
table.addCell(cell);
table1.addCell(table);
答案 0 :(得分:1)
请查看此示例...
public static void Main() {
// step 1: creation of a document-object
Document document = new Document();
try {
// step 2:
// we create a writer that listens to the document
// and directs a PDF-stream to a file
PdfWriter writer = PdfWriter.getInstance(document, new FileStream("Chap1002.pdf", FileMode.Create));
// step 3: we open the document
document.Open();
// step 4: we grab the ContentByte and do some stuff with it
PdfContentByte cb = writer.DirectContent;
// we tell the ContentByte we're ready to draw text
cb.beginText();
// we draw some text on a certain position
cb.setTextMatrix(100, 400);
cb.showText("Text at position 100,400.");
// we tell the contentByte, we've finished drawing text
cb.endText();
}
catch(DocumentException de) {
Console.Error.WriteLine(de.Message);
}
catch(IOException ioe) {
Console.Error.WriteLine(ioe.Message);
}
// step 5: we close the document
document.Close();
}
}
答案 1 :(得分:0)
请查看my book第4章示例的C#端口:http://tinyurl.com/itextsharpIIA2C04
您可以将表格添加到ColumnText
对象,并将列添加到绝对位置:
ColumnText column = new ColumnText(writer.DirectContent);
column.AddElement(table);
column.SetSimpleColumn(llx, lly, urx, ury);
column.Go();
在此代码段llx中,lly和urx,ury是页面左下角和列右上角的坐标(请参阅ColumnTable示例)。
在PdfCalendar示例中,使用了另一种方法:
table.WriteSelectedRows(0, -1, x, y, writer.DirectContent);
第一个参数定义了需要绘制的行(0到-1表示所有行),x
和y
定义绝对位置。