问题陈述
我有一个从前端javascript发送到后端操作类的SVG标记。我正在使用Jasper Reports生成包含SVG图像的PDF(我只有标记数据(。我该怎么做。
我尝试过的
我尝试在生成报告时将SVG图像(具有到图像文件的链接(嵌入到PDF文件中。
正在查找
如何嵌入svg标记,以便我可以看到PDF格式的图像。任何其他解决它的最佳方法。
在jasper报告的后续版本中,您不再需要将class="net.sf.jasperreports.engine.JRRenderable"
添加到imageExpression中。
它是JasperReports 6+中的默认值,如果您在Source窗格中添加它,JasperSoftStudio(JSS(将删除它。
JasperSoft社区答案中提供的TomcatSVG文件运行良好。我自己的SVG文件可以在MS Edge或Chrome中正常显示,但没有出现在JSS中。
当我将width, height, viewbox
和overflow
属性添加到svg元素时,它确实出现在JSS中,所以在尝试您真正想要的svg之前,请先尝试该示例。
根据自己的网站(此处:http://community.jaspersoft.com/wiki/how-add-svg-image-your-report-jrxml)您需要使用一个特殊的HTML元素包括SVG:
<imageExpression class="net.sf.jasperreports.engine.JRRenderable">
<![CDATA[net.sf.jasperreports.renderers.BatikRenderer.getInstance(new java.io.File("D:\tomcat.svg"))]]>
</imageExpression>
由于问题表明没有SVG标记文件,您可以坚持David van Driesche的答案,但使用不同的getter:
CCD_ 4,其中CCD_ 5是包含SVG标记数据的CCD_。