使用itext在pdf footer中创建包含2行的表

时间:2014-03-02 00:29:55

标签: java pdf pdf-generation itext footer

您好我想添加2行的页脚。第一行将具有背景颜色的文档名称。第二行将有复制权声明。我尝试使用ColumnText创建。但我无法设置行的背景颜色(只有文本获取背景颜色)。有没有可以实现这一目标。我整晚都在寻找解决方案但却无法做到。

1 个答案:

答案 0 :(得分:2)

你可以通过阅读文档为自己省去一个不眠之夜。您已经发现可以使用setBackgroundColor()方法设置单元格的背景,并且可以使用writeSelectedRows()方法在绝对位置添加表格。

看看TableFooter示例:

PdfPTable table = new PdfPTable(1);
table.setTotalWidth(523);
PdfPCell cell = new PdfPCell(new Phrase("This is a test document"));
cell.setBackgroundColor(BaseColor.ORANGE);
table.addCell(cell);
cell = new PdfPCell(new Phrase("This is a copyright notice"));
cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
table.addCell(cell);

如果连续有多个单元格,则需要为所有单元格设置背景。请注意,我正在为表格定义总宽度(523是页面的宽度减去边距)。需要总宽度,因为我们将使用writeSelectedRows()添加表格:

footer.writeSelectedRows(0, -1, 36, 64, writer.getDirectContent());

生成的PDF看起来像this。确保以页脚表不与页面内容重叠的方式定义页面边距。