0

我有一个与这篇文章非常相似的问题;我正在使用 RaphaelJS 生成图表,但更具体地说,在我的情况下,我需要打印结果。我使用Inkscape 的命令行实用程序(非常棒)将 Raphael 的 SVG 输出转换为 PNG 文件,用户可以下载和打印。

问题是,它适用于 Firefox 等,但不适用于 Internet Explorer。因为 IE 使用 VML,而不是 SVG,所以当用户来自 IE 时,Inkscape 不会转换它。

我看过 IECapt,它可能已经完成了这项工作,但在我的场景中,文字截图是不够的,因为生成的图表通常跨越屏幕宽度,我需要将它们全部放在一个文件中。此外,用户可以通过单击节点等来修改图表而不更改 URL,因此在我的情况下实际使用 IECapt 需要 URL 参数来复制图表的状态。

我只需要了解 VML 格式的这种转换,我就可以擦掉这个项目的脚!

链接

4

1 回答 1

2

您可以通过以下方式将 VML 转换为 SVG:http: //sourceforge.net/projects/vectorconverter/,取自以下问题:Are there any tools to convert legacy VML to SVG? ,然后通过 Inkscape 运行它以获取 PNG 版本。

编辑:vectorconverter 工具是基于 PHP 的,但使用 XSLT 来完成繁重的工作——VML 和 SVG 只是底层的 XML——所以如果你不能直接访问 PHP 库,你可能会设法以你的选择。

于 2011-05-05T13:02:24.847 回答