Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用itext创建pdf页脚中有2行的表_Java_Pdf_Pdf Generation_Itext_Footer - Fatal编程技术网

Java 使用itext创建pdf页脚中有2行的表

Java 使用itext创建pdf页脚中有2行的表,java,pdf,pdf-generation,itext,footer,Java,Pdf,Pdf Generation,Itext,Footer,嗨,我想添加两行页脚。第一行的文档名为背景色。第二行将有版权说明。我尝试使用ColumnText创建。但是我无法设置行的背景色(只有文本获得背景色)。有没有办法做到这一点。我花了一整晚的时间来寻找解决方案,但却无能为力 通过阅读文档,你本可以省下一个不眠之夜。您会发现,可以使用setBackgroundColor()方法设置单元格的背景,也可以使用writeSelectedRows()方法在绝对位置添加表格 请看一个例子: 如果一行中有多个单元格,则需要为所有单元格设置背景。请注意,我正在定义表

嗨,我想添加两行页脚。第一行的文档名为背景色。第二行将有版权说明。我尝试使用ColumnText创建。但是我无法设置行的背景色(只有文本获得背景色)。有没有办法做到这一点。我花了一整晚的时间来寻找解决方案,但却无能为力

通过阅读文档,你本可以省下一个不眠之夜。您会发现,可以使用
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());