1

我正在使用 raphael.js 创建一个图表。在我的图表中有使用箭头连接的矩形。我正在使用Raphael Export导出此 svg ,然后使用蜡染将此 svg 字符串转换为 pdf。但是在 pdf 中,我没有在连接 pdf 中的各种矩形的连接器处得到箭头。我正在使用 raphael graffle来创建矩形之间的连接。我真的需要pdf中的那些箭头。请让我知道可能是什么问题。

另外静态添加defs标签并通过操作svg字符串用marker-end-url替换箭头属性看起来不是一个好的解决方案。还有其他方法吗?

4

1 回答 1

1

我想我找到了问题所在。似乎问题在于 raphael 的 defs 标签(包含标记 id)未包含在导出的 svg 中,并且由于未显示箭头,因此路径元素中不存在 marker-end-url 属性。在 rapahel 的路径元素中,在导出时,添加了另一个属性,而不是标记 id,即“arrow-end”:“classic-midium-midium”。因此,当我将 raphael 的 defs 标记添加到我生成的 svg 中并通过给出所需的值时,将箭头端属性替换为 marker-end-url 属性时,箭头出现了。但现在的问题是箭头的定位。在导出的 svg 中,水平和垂直箭头的 x 和 y 坐标稍微多一些,这导致箭头与看起来不太好的对象(在我的情况下为矩形)相交。但是是的,现在我正在使用它。我已经修改了 raphael.export.js。因此,对于任何寻求解决方案的人来说,必须在 raphael.export.js 中添加以下两行代码

1.在 R.fn.toSVG 函数中,在第 217 行初始化 svg 变量后添加以下内容 You have to append defs tag of raphael to svg variable here. Not able to post here.

2.在创建路径标签的序列化程序变量中,在第 199 行添加以下行 initial['marker-end'] = "url(#raphael-marker-endclassic33)";

谢谢

于 2013-06-28T05:43:44.223 回答