2014-10-07 184 views
0

我想用pdfbox创建PDF(https://pdfbox.apache.org/cookbook/documentcreation.html)。但是,pdfbox似乎并没有像OpenOffice提供的文本编辑器那样提供动态文本布局机制(自动文本流使用预定义文本格式,如块格式,居中文本,换行符等)。用于pdf创建的pdfbox:如何进行文本布局?

是否有任何Java库在pdfbox上提供该功能或与之分离?或者你有免费的代码吗?

+0

如果你想在Java或FOP中使用XSL-T,我会推荐iText。 – duffymo 2014-10-07 14:51:45

+1

不,目前还没有。随意贡献一些东西:-) – 2014-10-07 16:40:20

+0

嗯。最好是独立于输出格式。然后创建一个适配器或其他东西。 – user1050755 2014-10-08 12:57:20

回答

2

我有同样的问题,这就是为什么我开始PDFBox-Layout。它支持简单的文字换行,文本和段落对齐,分页,垂直和列布局,以及易于粗体/斜体突出显示的标记。

查看Wiki了解更多信息。也许你会发现它很有用:-)

0

我在Ruby中有类似的问题。过去我使用过Prawn,它的语法类似于pdfbox。很多原始。

我发现使用HTML + CSS到PDF解决方案好得多。我已经生成HTML和CSS,并且很容易制作特定于打印的CSS。然后我使用wkhtmltopdf或princexml来生成PDF。两者都是在各种平台上运行的命令行工具。

+0

HTML没有分页符的概念。这当然不是许多目的的表现,但有一些。 – user1050755 2014-10-09 14:33:39

+1

这是不正确的。当然HTML + CSS有分页符的概念。有分页之前和分页之后,以及一些其他控件。甚至有寡妇和孤儿控制。我能够在HTML中布局整个小说,然后使用PrinceXML将其转换为PDF。 – 2014-10-10 15:51:38

1

BlockFrame(在GitHub上)是PDFBox的另一个布局框架,填充PDFBox-Layout的不同空间。 PDFBox-Layout似乎面向文本,但BlockFrame专为复杂的数据结构而设计。它的设计也考虑到可扩展性。

我需要一些东西来打印我生成的填字游戏,并最终编码框架。如果有兴趣,我会扩展并维护它。应该可以使用BlockFrame绘制更大的PDF文档的小而复杂的部分,并生成完整的PDF。

反馈将不胜感激。

+0

我建议您在github页面上使用“Apache PDFBox”而不是“PDF Box”,以便您的项目更容易找到。另外考虑添加示例(截图)。 – 2017-01-11 09:42:38

相关问题