关于Java:如何使用Apache PDFBox创建表

How to create Table using Apache PDFBox

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


由于我还需要用于辅助项目的表格绘制功能,因此我自己实现了一个小的"表格抽屉"库,该库已上传到github。

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

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

enter image description here

当前的"功能列表"包括:

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

同样,如果需要的话,添加缺少的内容(如在上边框,下边框,左边框和右边框上使用不同的边框颜色)应该也不难。


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