如何使用Apache PDFBox创建表格

2022-09-01 04:44:12

我们计划将pdf生成实用程序从iText迁移到PDFBox(由于iText中的许可问题)。经过一些努力,我能够编写和定位文本,绘制线条等。但是创建表格单元格中嵌入了文本的表格是一个挑战,我浏览了文档,示例,Google,Stackoverflow找不到任何东西。想知道PDFBox是否为创建带有嵌入文本的表格提供了本机支持。我的最后手段是使用此链接 https://github.com/eduardohl/Paginated-PDFBox-Table-Sample


答案 1

由于我还需要为副项目提供表格绘制功能,因此我自己实现了一个小型的“桌子抽屉”库,并将其上传到github

例如,为了生产这样的表格 - ...enter image description here

...您将需要此代码。在同一文件中,您还可以找到该表的代码:

enter image description here

当前的“功能列表”包括:

  • 在表格级别和单元格级别设置字体和字体大小
  • 分别定义具有下边框、上边框、左边框和右边框宽度的单个单元格
  • 在行或单元格级别定义背景色
  • 在单元格级别定义填充(顶部、底部、左侧、右侧)
  • 定义边框颜色(在表格、行或单元格级别)
  • 指定文本对齐方式(垂直和水平)
  • 单元格跨度和行跨度
  • 文本自动换行和行距

此外,如果需要,添加缺少的内容应该不会太难,例如在顶部,底部,左侧和右侧边框上具有不同的边框颜色。


答案 2

感谢Tilman提供的链接。使用可装箱的API(https://github.com/dhorions/boxable),我能够创建我想要的表。仅供参考,我想创建具有可变数量单元格的表。例如,行 1 将有 2 个单元格,行 2 可以有 5 个单元格,行 3 可能只有 3 个单元格。我能够轻松地做到。我按照上面提到的链接中的示例1.java。


推荐