如何在iText中定位表格

时间:2012-07-07 13:28:54

标签: java pdf-generation itext

感谢您抽出宝贵时间回答我的问题。我正在动态填充PDF模板中的数据。除了一部分外,一切都按预期工作。我在Java代码中生成的表格未显示在PDF中。我的问题是如何使用iText的API在左上角放置一张桌子?

到目前为止,这是我的代码:

PdfPTable table = new PdfPTable(3);
PdfPCell cell = new PdfPCell(new Phrase("VAT Rate"));
table.setWidthPercentage(500);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Net Value"));
table.addCell(cell);
table.addCell("VAT Amount");
table.addCell(Double.toString(currentVatRate));
table.addCell(Double.toString(currentVatRateNetValue));
table.addCell(Double.toString(currentVatVatAmount));
table.addCell("Totals");
table.addCell(Double.toString(subTotalExcludingVat));
table.addCell(Double.toString(totalVatAmount));

基本上我需要一个3列表,每列33%。如何设置表格位置?

1 个答案:

答案 0 :(得分:2)

试试这个:

// table.setWidthPercentage( 500 );
table.setWidths( new int[]{ 1, 1, 1 } );

您应该使用类似以下代码的内容:

com.itextpdf.text.Document document =
    new com.itextpdf.text.Document( com.itextpdf.text.PageSize.A4 );
FileOutputStream fos = new FileOutputStream( outputFileFolder + "PdfTableExample.pdf" );
com.itextpdf.text.pdf.PdfWriter pdfWriter =
    com.itextpdf.text.pdf.PdfWriter.getInstance( document, fos );

document.open();
document.add( table );
document.close();