【问题标题】:How to use transparent SVGs in jasper report and export to pdf如何在 jasper 报告中使用透明 SVG 并导出为 pdf
【发布时间】:2020-03-05 12:36:18
【问题描述】:

我正在尝试使用部分不透明的 SVG 将碧玉报告导出为 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】:

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

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

    通过将 SVG 中的 opacity 更改为 fill-opacity,透明度也适用于 jasper 生成的 pdf。 (相关线程 svg opacity vs fill-opacity)

    现在我面临两个选择: 一种解决方案是编写一个脚本来修改 svg xml 并用填充不透明度替换不透明度。 另一种选择是查看是否可以更改 SVG 的来源,以便我首先使用填充不透明度来获得 SVG。 在我的例子中,输出 SVG 的源是 matplotlib,下一个问题是如何让 matplotlib 输出具有填充不透明度而不是不透明度的 SVG:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 2011-11-25
      • 1970-01-01
      相关资源
      最近更新 更多