【问题标题】:ApacheFOP svg background very slowApache FOP svg 背景非常慢
【发布时间】:2016-11-25 09:53:06
【问题描述】:

我正在使用 ApacheFOP 呈现一些 PDF。在这些 PDF 中,我使用 SVG 为边缘绘制了一个圆形框:

<fo:table-cell
    number-columns-spanned="2"
    background-image="/images/top-left.svg"
    background-repeat="no-repeat">
        <fo:block/>
</fo:table-cell>

top-left.svg 文件非常简单:

<svg width="10px" height="10px" xmlns="http://www.w3.org/2000/svg">
    <circle cx="10px" cy="10px" r="9.5px" stroke="black" stroke-width="1px" fill="none" />
</svg>

右上角、左下角和右下角也是如此。

问题在于,从 ApacheFOP 0.95 更新到 ApacheFOP 2.1 后,生产服务器中的每个 SVG 渲染大约需要 15 秒。我无法在我的计算机上重现该问题。

我的开发人员桌面和生产服务器都运行 Linux。

是否有任何系统因素会大大减慢 SVG 渲染速度?

谢谢

【问题讨论】:

    标签: java performance svg batik apache-fop


    【解决方案1】:

    延迟是由下载每个 SVG 的 DTD 模式引起的。很难发现它,因为下载是由 Barcode4J 执行的,而不是由 ApacheFOP 本身执行的。更具体地说,是 BarcodePreloader 类试图解析 SVG,因为它在 PreloaderSVG 之前被调用。我们暂时解决了从 SVG 文件中删除 DTD 声明的问题。

    【讨论】:

      猜你喜欢
      • 2013-07-11
      • 2015-10-04
      • 2013-04-27
      • 1970-01-01
      • 2018-11-08
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      相关资源
      最近更新 更多