Java 使用itext创建pdf页脚中有2行的表
嗨,我想添加两行页脚。第一行的文档名为背景色。第二行将有版权说明。我尝试使用ColumnText创建。但是我无法设置行的背景色(只有文本获得背景色)。有没有办法做到这一点。我花了一整晚的时间来寻找解决方案,但却无能为力 通过阅读文档,你本可以省下一个不眠之夜。您会发现,可以使用Java 使用itext创建pdf页脚中有2行的表,java,pdf,pdf-generation,itext,footer,Java,Pdf,Pdf Generation,Itext,Footer,嗨,我想添加两行页脚。第一行的文档名为背景色。第二行将有版权说明。我尝试使用ColumnText创建。但是我无法设置行的背景色(只有文本获得背景色)。有没有办法做到这一点。我花了一整晚的时间来寻找解决方案,但却无能为力 通过阅读文档,你本可以省下一个不眠之夜。您会发现,可以使用setBackgroundColor()方法设置单元格的背景,也可以使用writeSelectedRows()方法在绝对位置添加表格 请看一个例子: 如果一行中有多个单元格,则需要为所有单元格设置背景。请注意,我正在定义表
setBackgroundColor()
方法设置单元格的背景,也可以使用writeSelectedRows()
方法在绝对位置添加表格
请看一个例子:
如果一行中有多个单元格,则需要为所有单元格设置背景。请注意,我正在定义表的总宽度(523是页面宽度减去页边距)。需要总宽度,因为我们将使用writeSelectedRows()
添加表:
生成的PDF看起来像。确保定义页面的页边距时,页脚表不会与页面内容重叠
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);
footer.writeSelectedRows(0, -1, 36, 64, writer.getDirectContent());