Java 如何使用ApachePDFBox创建表

Java 如何使用ApachePDFBox创建表,java,pdf,pdfbox,Java,Pdf,Pdfbox,我们计划将pdf生成实用程序从iText迁移到PDFBox(由于iText中的许可问题)。经过一些努力,我能够编写和定位文本、绘制线条等。但是创建表格时,将文本嵌入表格单元格是一项挑战,我查阅了文档、示例、Google、Stackoverflow都找不到任何东西。我想知道PDFBox是否为创建带有嵌入文本的表提供本机支持。多亏了Tilman提供的链接,我最后的办法就是使用这个链接。使用boxable API()我能够创建我想要的表。仅供参考,我想创建具有可变单元格数的表。例如,第1行有2个单元格

我们计划将pdf生成实用程序从iText迁移到PDFBox(由于iText中的许可问题)。经过一些努力,我能够编写和定位文本、绘制线条等。但是创建表格时,将文本嵌入表格单元格是一项挑战,我查阅了文档、示例、Google、Stackoverflow都找不到任何东西。我想知道PDFBox是否为创建带有嵌入文本的表提供本机支持。多亏了Tilman提供的链接,我最后的办法就是使用这个链接。使用boxable API()我能够创建我想要的表。仅供参考,我想创建具有可变单元格数的表。例如,第1行有2个单元格,第2行有5个单元格,第3行只有3个单元格。我能轻松地做。我在上面提到的链接中使用了Example1.java。

因为我还需要一个辅助项目的表格绘制功能,所以我自己实现了一个小的“表格抽屉”库,并上传到了

为了制作这样一个表格——例如——。。。

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

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

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

此外,如果需要,添加缺少的内容(如在顶部、底部、左侧和右侧边框上有不同的边框颜色)也不太难。

就文档创建而言,PDFBox主要相当于iText的低级API。您缺少的是替代iText的高级API的东西。我不知道有这样的东西可供公众使用。是的,你搞定了。用于创建所有这些表的PDFBox的高级API是缺少的。很多开发者社区正在从iText迁移到其他开源pdf库,我相信有人会有一个优雅的解决方案。还有一个:还有一个:@TilmanHausherr我恐怕所有这些示例在我看来都是概念证明,可能在有限的用例中使用,但到目前为止还不能用于一般用途。PDFBox有它的优点,例如,一个非常通用的内容提取框架和内容呈现功能,但是缺少一个适当的布局API是一个严重的弱点。我找不到您在回答中提到的Example1.java。请粘贴您的代码或Example1.java。@DarshanPuranik:也许这会对您有所帮助。尝试一下。。源代码中是否缺少类
AWTColor
?确实!感谢您的反馈!:)显然,我没有仔细检查最后一次拉动请求。请再次使用git pull,它现在应该可以工作了。分页如何?您是指跨越多页的表吗?如果是这样的话,看看这段代码,它会在三页上生成一个表:@philonous是否支持在几页上一个接一个地添加多个表?