java - 使用itext在pdf页脚中创建包含2行的表格

标签 java pdf pdf-generation itext footer

您好,我想添加 2 行页脚。第一行将包含带有背景颜色的文档名称。第二行将有版权说明。我尝试使用 ColumnText 创建。但我无法设置行的背景颜色(只有文本获取背景颜色)。有什么办法可以实现这一点吗?我花了一整晚的时间来寻找解决方案,但没有成功。

最佳答案

通过阅读文档,您可以避免一个不眠之夜。您会发现可以使用 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 。确保定义页面边距时页脚表格不会与页面内容重叠。

关于java - 使用itext在pdf页脚中创建包含2行的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22122340/

相关文章:

php - ImageMagick/Imagick 使用 native PHP API 将 PDF 转换为 JPG

java - 如何为 keystore 创建属性文件?

java - 从 Java 运行 linux 脚本

java - 无法将数据库状态与 hibernate 中的 session 异常同步

java - 获取页面信息时出现 NullPointerException

java - 如何更改pdfclown中文本字段的颜色?

grails - Grails 3.x 中的 Jasper

java - JTextField 宽度

java - 如何覆盖 Jetty 11.0.6 中的请求日志记录机制

django - 在 Django 模板中嵌入 PDF 媒体文件