将SVG元素导出为PDF?

rav*_*ikh 11 pdf svg pdf-generation raphael d3.js

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

如果解决方案是客户端或服务器端,那也没关系.我正在使用PHP服务器端,但Python或Java实现也可以工作.

浏览器支持:理想情况下它会支持所有现代浏览器,但最低限度我想支持Firefox和webkit浏览器的最新版本.

Nic*_*zyk 6

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

一种快速的方法是将svg内容发送到服务器,并使用像batik for java之类的东西将svg转换为pdf,然后再将响应发送到客户端.

这是与转换相关的SO.

  • Highcharts(在客户端使用svg图表)使用Batik以这种方式生成pdf/jpg并且它非常有效.(http://www.highcharts.com/documentation/how-to-use#exporting). (2认同)

pet*_*ter 5

还有wkhtml2pdf,可以将任何webkit渲染为PDF格式.如果您想要渲染SVG和HTML的组合,或者想要在拍摄PDF快照之前运行一些JavaScript,那么它非常适合.