TextPath 未使用 Apache FOP 在 PDF 中呈现
TextPath not rendered in PDF using Apache FOP
我正在使用 Apache FOP 生成 PDF,有些页面需要 SVG。在大多数情况下,在我添加 TextPath 元素之前这一切正常。我正在使用它来获取弯曲的文本。此 SVG 在浏览器中有效,但在 PDF 中无效。维基百科显示 Batik(Apache FOP 的 SVG 渲染器)与 TextPath 兼容:https://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Scalable_Vector_Graphics)。但是运气不好。
如有任何帮助,我们将不胜感激。注意:我有意尝试添加文本而不是光栅化图像,因为文本正在本地化和注入。
这是一个 svg 示例,可以在此处找到:https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath。
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<path id="MyPath" fill="none" stroke="red"
d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
<text>
<textPath href="#MyPath"> <!-- works if I remove this line -->
Quick brown fox jumps over the lazy dog.
</textPath> <!-- and this line -->
</text>
</svg>
根据 SVG 1.1 推荐,xlink:href
应该用来引用 path
元素。参见 https://www.w3.org/TR/SVG11/text.html#TextPathElement。
下图显示在 Squiggle GUI (Batik 1.12)、Firefox 和 Chrome。
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<path id="MyPath" fill="none" stroke="red"
d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
<text>
<textPath xlink:href="#MyPath">
Quick brown fox jumps over the lazy dog.
</textPath>
</text>
</svg>
我正在使用 Apache FOP 生成 PDF,有些页面需要 SVG。在大多数情况下,在我添加 TextPath 元素之前这一切正常。我正在使用它来获取弯曲的文本。此 SVG 在浏览器中有效,但在 PDF 中无效。维基百科显示 Batik(Apache FOP 的 SVG 渲染器)与 TextPath 兼容:https://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Scalable_Vector_Graphics)。但是运气不好。
如有任何帮助,我们将不胜感激。注意:我有意尝试添加文本而不是光栅化图像,因为文本正在本地化和注入。
这是一个 svg 示例,可以在此处找到:https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath。
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<path id="MyPath" fill="none" stroke="red"
d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
<text>
<textPath href="#MyPath"> <!-- works if I remove this line -->
Quick brown fox jumps over the lazy dog.
</textPath> <!-- and this line -->
</text>
</svg>
根据 SVG 1.1 推荐,xlink:href
应该用来引用 path
元素。参见 https://www.w3.org/TR/SVG11/text.html#TextPathElement。
下图显示在 Squiggle GUI (Batik 1.12)、Firefox 和 Chrome。
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<path id="MyPath" fill="none" stroke="red"
d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
<text>
<textPath xlink:href="#MyPath">
Quick brown fox jumps over the lazy dog.
</textPath>
</text>
</svg>