2012-01-31 37 views
11

我有一个由d3生成的可视化(类似于Protovis或Raphael的JavaScript可视化库,它使用SVG元素绘制内容)。 vis是交互式的,所以用户可以进行交互和编辑。一旦用户对他/她的可视化感到满意,我希望用户能够将该可视化文件导出为PDF。我已经尝试了几种HTML到PDF库,并且它们不适用于SVG元素。将SVG元素导出为PDF?

如果解决方案是客户端或服务器端,则可以。我使用PHP服务器端,但Python或Java实现也可能工作。

浏览器支持:理想情况下,它将支持所有现代浏览器,但最低限度我想同时支持Firefox和WebKit浏览器的最新版本。

+0

** jsPDF **可用于将SVG添加到PDF文件。 看到这个对话: http://stackoverflow.com/questions/5913338/embedding-svg-in-pdf-exporting-svg-to-pdf-using-js – stackex 2013-05-06 10:20:27

回答

6

我不知道客户端的任何强大的PDF库。

一种快速可行的方法是将SVG内容发送到服务器,并使用类似蜡染的Java的SVG转向PDF,然后再发送给客户端的响应。

这里是一个相关的SO for the converstion

+2

Highcharts(在客户端上使用SVG图表)用途蜡染以这种方式生成pdf/jpg,效果很好。 (http://www.highcharts.com/documentation/how-to-use#exporting)。 – eolsson 2012-02-01 08:57:35

+0

哇。大。我知道Highcharts,但不知道他们这个整合。感谢您的链接! – 2012-02-01 12:55:27

+0

刚刚得到蜡染工作,感谢您的讨论链接。 – raviparikh 2012-02-01 20:29:35

1

PhantomJS也可以光栅化网址/ HTML到PDF。与wkhtml2pdf相同的后端(QTWebKit)。