Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svg 未使用Apache FOP在PDF中呈现TextPath_Svg_Apache Fop_Batik - Fatal编程技术网

Svg 未使用Apache FOP在PDF中呈现TextPath

Svg 未使用Apache FOP在PDF中呈现TextPath,svg,apache-fop,batik,Svg,Apache Fop,Batik,我使用ApacheFop生成PDF,有些页面需要SVG。在我添加TextPath元素之前,这在大多数情况下都可以正常工作。我用这个来获得曲线文本。此SVG在浏览器中工作,但在PDF中不工作。维基百科显示Batik(Apache FOP的SVG渲染器)与TextPath:兼容。但是没有运气 在此方面的任何帮助都将不胜感激。注意:我有意尝试添加文本,而不是光栅化图像,因为文本正在本地化和注入 以下是一个svg示例,可在此处找到: 敏捷的棕色狐狸跳过了懒狗。 根据SVG1.1建议,应使用xlink:

我使用ApacheFop生成PDF,有些页面需要SVG。在我添加TextPath元素之前,这在大多数情况下都可以正常工作。我用这个来获得曲线文本。此SVG在浏览器中工作,但在PDF中不工作。维基百科显示Batik(Apache FOP的SVG渲染器)与TextPath:兼容。但是没有运气

在此方面的任何帮助都将不胜感激。注意:我有意尝试添加文本,而不是光栅化图像,因为文本正在本地化和注入

以下是一个svg示例,可在此处找到:


敏捷的棕色狐狸跳过了懒狗。

根据SVG1.1建议,应使用
xlink:href
引用
路径
元素。看

下图显示在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>

敏捷的棕色狐狸跳过了懒狗。

尝试使用xlink:href而不是href,不要忘记在根元素上添加xlink名称空间。如果您觉得这是一个错误,可以在SVG 2中报告它(处于草稿状态),
href
被使用:。谢谢,我误解了Batik对SVG版本的支持。更彻底地阅读文档,现在更有意义了。我感谢你的帮助。
<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>