如何使用 Apache PDFBox 创建 Table

How to create Table using Apache PDFBox

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

感谢 Tilman 提供的 links。使用可装箱的 API (https://github.com/dhorions/boxable) 我能够创建我想要的 table。仅供参考,我想创建具有可变单元格数量的 table。例如,第 1 行有 2 个单元格,第 2 行可能有 5 个单元格,第 3 行可能只有 3 个单元格。我能够轻松地做到。我在上面提到的link中关注了Example1.java。

因为我还需要 table 业余项目的绘图功能,所以我自己实现了一个小型 "table drawer" 库,并将其上传到 github

为了产生这样的table——比如——……

...您需要 this code。 在同一个文件中,您还可以找到 table 的代码:

当前"feature list"包括:

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

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