我有一个与这篇文章非常相似的问题;我正在使用 RaphaelJS 生成图表,但更具体地说,在我的情况下,我需要打印结果。我使用Inkscape 的命令行实用程序(非常棒)将 Raphael 的 SVG 输出转换为 PNG 文件,用户可以下载和打印。
问题是,它适用于 Firefox 等,但不适用于 Internet Explorer。因为 IE 使用 VML,而不是 SVG,所以当用户来自 IE 时,Inkscape 不会转换它。
我看过 IECapt,它可能已经完成了这项工作,但在我的场景中,文字截图是不够的,因为生成的图表通常跨越屏幕宽度,我需要将它们全部放在一个文件中。此外,用户可以通过单击节点等来修改图表而不更改 URL,因此在我的情况下实际使用 IECapt 需要 URL 参数来复制图表的状态。
我只需要了解 VML 格式的这种转换,我就可以擦掉这个项目的脚!
链接
- 直接从 C# 应用程序使用 Inkscape
- IECapt