2012-06-17 41 views
1

可以使用无头浏览器,google filesytem API或其他方式。将d3.js SVG代码转换为独立程序 - 示例?

这个问题说你可以,但不是如何。 Converting d3.js SVG code to a standalone program -- any suggestions? 谷歌集团有更多的提示,但没有例子。

我花了很多时间玩节点画布的例子,以及phantomJS svg例子。我无法弄清楚如何让他们一起玩。显然,在Linux中,无论如何,x-window Javascript渲染引擎并不是很好。我的API读取列表的JavaScript,d3.js,SVG,CSS和其他HTML的东西已经山区 - 我想要做的就是保存我用d3.js生成的.svg图像。

请帮忙。

回答

0

这既不容易也不明显复杂。主要原因是是一个单独的Web浏览器不能从DOM渲染保存SVG文件,除非它是Chrome版本12

的事情是,SVG图像只是与一群渲染指令的纯文本文件。你指出的解决方案基本上说你必须做这个服务器端。尽管他们建议使用node.js,但您可以使用任何您希望的服务器端语言来执行此操作。窍门是带上你的JavaScript/HTML界面,让它跟踪你创建的所有对象,或者能够序列化所有对象,然后将这些数据(例如:通过ajax)发送到服务器端,这个程序可以将其重构为SVG文件并提供下载。

挑战在于,你的程序(客户端,javascript和服务器端:php/etc)或多或少都要重新实现SVG规范来完成这项工作,并且对于你如何使用它有共同的理解序列化它的传输。几乎没有股票组件可以为你做这件事。