如何在jasper报告中使用透明SVG并导出为pdf文件

问题描述 投票:0回答:1

我正在尝试使用部分不透明的SVG将jasper报告导出为pdf,但在pdf中,不透明为白色。

图像表示为:

<imageExpression><![CDATA[net.sf.jasperreports.renderers.SimpleRenderToImageAwareDataRenderer.getInstance(byte[] data)]]></imageExpression>

在后台看来,jasper正在使用Apache BatikRenderer和XML Graphics。这甚至是透明性支持的示例:

https://xmlgraphics.apache.org/fop/trunk/graphics.html#svg

根据此链接,应支持透明度:https://xmlgraphics.apache.org/fop/dev/svg.html

甚至还有一个PDF示例都可以透明地工作。

svg jasper-reports export-to-pdf
1个回答
0
投票

[在查看示例中的SVG如何定义透明度之后,我注意到我的SVG有所不同:

在示例中使用“填充不透明度”,而我的SVG仅使用“不透明度”。

通过在SVG中将不透明度更改为填充不透明度,该透明度在jasper生成的pdf中也起作用。 (相关线程svg opacity vs fill-opacity

现在我面临2个选择:一种解决方案是编写一个脚本,该脚本修改svg xml并用fill-opacity代替opacity。另一个选择是查看SVG的来源是否可以更改,以便首先使用填充不透明度获得SVG。在我的情况下,输出SVG的源是matplotlib,下一个问题是如何使matplotlib以填充不透明度而不是不透明度来输出SVG:

© www.soinside.com 2019 - 2024. All rights reserved.