通用报告引擎的建议

时间:2020-05-01 09:11:40

标签: java xml templates report

我想构建一个使用模板进行自定义的通用报表引擎。对于数据输入,我得到一个JSON,输出应为PDF。更具体地说,我从项目管理工具报告历史数据。例如。任务如何执行以及它们具有哪些状态标志。

到目前为止,我已经用不同的库构建了三个项目,作为概念证明:

  1. iText v7.1,效果不错,但模板选项受到限制
  2. Jasper Reports v6.12,该模板使用专有格式,并且还需要.jrxml编辑器
  3. 与Apache POI和docx4j v6.1配合使用Microsoft Word自定义模板

我喜欢上一个程序的想法,但是更常见的是,在更改模板后,pdf损坏了。因此,它的运行非常不稳定,恐怕客户会在第一天就将其破坏。

我需要找到一种自定义模板的方法,而无需客户端安装其他程序,例如WYSIWYG编辑器。

我的问题是:

  1. 到目前为止,我是否缺少一个图书馆?

  2. 我是否应该拒绝客户应该可以自己编辑模板的想法?

如果您需要总体架构概述(我在这三个项目中使用过),我将通过它们!

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

考虑将XSLT 3.0馈入XSL-FO或css-print中以生成PDF。

XSLT通常与任何用于构建报告的自定义报告编写器一样好。它缺少一些高级原语,例如将小计从一页过渡到下一页,但是我的经验是,无论如何通常都不需要这些。 XSLT 3.0完全能够处理JSON和XML输入。

对于输出格式化方面,css-print可能比XSL-FO更现代,但是很大程度上取决于您希望对打印页面的像素级质量进行多少详细控制。