我正在开发一个小型Scala / Java原型,我有几个PDF模板,即它们有文本和图像占位符,占位符应该替换为一些内容。一些部分也是多个,即实际出现次数或重复次数取决于输入。最后我需要生成并追加一个额外的PDF页面。
我知道可以使用iText覆盖这些用例。我的问题是我是否可以使用替代解决方案(以及如何做到这一点)。我暂时不想避免使用商业解决方案。
更新:我希望我的PDF模板由专业设计师创建。他们会知道占位符的位置,但应该完全控制设计方面。此要求会丢弃仅基于XML输入的解决方案或其他以编程方式完全创建PDF的解决方案。
答案 0 :(得分:1)
Jasper - 它是专为与数据库输入连接的动态报告设计的软件,但我认为它可以按照您想要的方式使用。有一个图形设计器(基于您的偏好的iReport或JaspersoftStudio),支持传递带有内容甚至图像的多个变量。长静态格式化文本可能是一个问题,但您必须自己判断。
JODReports + JODConverter - 这两个工具将允许您的设计人员使用纯ODT(OpenOffice格式)文件,将动态数据作为变量,您将能够替代您的心愿您的Java代码并以PDF格式打印输出。更重要的是,感谢Java UNO API,如果您插入的文本非常复杂,您可以完全控制模板的外观和行为(尽管使用它并不直观)。