2014-10-12 62 views
0

我正在研究一个小型Scala/Java原型,其中有几个PDF模板,即它们具有文本和图像占位符,占位符应替换为一些内容。某些部分也是多个部分,即实际出现次数或重复次数取决于输入。最后我需要生成并追加一个额外的PDF页面。如何使用iText以外的内容从模板PDF生成PDF输出?

我知道这些用例可以用iText覆盖。我的问题是我是否可以为此使用替代解决方案(以及如何执行此操作)。我宁愿暂时避免商业解决方案。

更新:我想让我的PDF模板由专业设计师创建。他们会知道占位符的位置,但应该完全控制设计方面。此要求仅放弃基于XML输入的解决方案或完全以编程方式创建PDF的其他解决方案。

+1

有一个较老的iText版本(2?),它是在LGPL下发布的,而非AGPL 3发布的。 – 2014-10-12 11:58:39

+0

您可能会感兴趣的看看http://go.applidok.com,它有API将数据与包括Scala(http://play-demo.applidok.com)在内的多种语言的PDF模板进行合并。 – cchantep 2014-10-12 13:02:54

回答

1

Jasper - 这是一个软件设计用于创建与数据库输入相关的动态报告,但我认为它可以以您想要的方式使用。有一个图形设计器(根据您的偏好设置iReport或JaspersoftStudio),支持传递多个变量与内容甚至图像。长时间静态格式化文本可能是一个问题,但您必须自己判断。

JODReports + JODConverter - 这两个工具将允许您的设计人员使用纯粹的ODT(OpenOffice格式)文件,将动态数据作为变量,您可以用Java代码替代您的内心需求并打印输出以PDF格式。除此之外,感谢Java UNO API,您可以抓住对模板的外观和行为方式的完全控制,如果插入的文本非常复杂(尽管承认它不直观)。