如何使用Apache PDFBox创建表

时间:2015-01-21 04:18:22

标签: java pdf pdfbox

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

2 个答案:

答案 0 :(得分:23)

感谢蒂尔曼提供的链接。使用盒装API(https://github.com/dhorions/boxable),我能够创建我想要的表。仅仅是一个FYI我想创建具有可变数量的单元格的表。例如,第1行将具有2个单元,第2行可以具有5个单元,第3行可以仅具有3个单元。我能够轻松地做到。我在上面提到的链接中遵循了Example1.java。

答案 1 :(得分:21)

由于我还需要一个侧面项目的表绘图功能,我自己实现了一个小的“桌面抽屉”库,我上传到github

为了制作这样一张桌子 - 例如 - ...... enter image description here

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

enter image description here

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

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

如果需要的话,添加缺失的东西也不应该太难,比如在顶部,底部,左边和右边框上有不同的边框颜色。