JasperReports - 将图表作为 SVG 嵌入到 HTML 报告中

JasperReports - Embedding chart as SVG into HTML report

我正在使用集成到 Spring 应用程序中的 JasperReports(JasperReports 6.3.0,SpringBoot 1.4.1)。

我有一份报告(使用 Jaspersoft Studio 6.3.1 创建),其中包含堆叠条形图。它确实以 pdf、xls 格式正确打印。问题是 html 格式,图表显示为空框 - 当您查看源代码时,img 元素的 src 属性为空。

我见过有人建议设置某种 Jasper 定义的 servlet 以将图像作为静态文件提供给 html 报告,尽管这对于我正在处理的环境来说可能会更加复杂。

我能想到的最方便的方法是以 svg 格式插入图表,这样它就会出现在 html 内容中 - 这是我对此的首选解决方案。

图表元素(在报告设计中)实际上有一个显示为 svg 的选项,尽管更改它似乎根本不会影响 html 输出,就像 Jasper 想要导出创建的svg 到一个文件,然后将它作为图像包含在内。

我已经尝试了几个配置选项,但我现在有点卡住了,所以我的问题是:

我是否需要一些额外的环境设置或其他一些花哨的东西来实现我的目标? JasperReports 甚至可以实现我的要求吗?

提前致谢!

您需要的是 jasperreports.properties 中的以下两个属性(如果您还没有该文件,请创建它并将其放入应用程序类路径中的 jar 或文件夹中):

net.sf.jasperreports.chart.render.type=svg
net.sf.jasperreports.export.html.embed.image=true