将jQuery图表转换为PDF

我发现了两个我喜欢的jQuery图表插件 – flot和jqPlot.我正在考虑在我的网站的前端使用其中一个.

但是,我还需要能够允许用户以PDF格式导出数据.我理想地寻找纯Python解决方案,但可以推送到Java或PHP.生成的图表的质量是最重要的因素.

我考虑的选项是:

>在服务器上生成图表,并使用这些图表创建PDF.我已经看过matplotlib和其他几个python图表包,但是图表看起来并不像flot或jqPlot那样精致.
>使用Rhino和Env.js在服务器上运行相同的jQuery代码,并以某种方式捕获生成的图表并将其插入到PDF中.这可能与Rhino有关吗?可能有多难?我见过Rhino-canvas项目,但看起来已经过时了.

这样做的最佳方式是什么?如果我能让Rhino解决方案发挥作用,那就更好了,因为它保持了前端和生成的PDF之间的一致性.

解决方法

将图形转换为图像

据我所知,flot绘制到canvas元素(如果可用).我搜索了导出画布内容的示例,例如找到了canvas2image.它可能是也可能不是探索的途径.

this StackOverflow question.从那一个开始,导出图像可能非常简单(使用带有mime类型的Canvas.ToDataUrl(type).我很确定它不会对application / pdf做任何有意义的事情,但是……).

更新:嗯,看看这里,canvas2image的修改版本位于flotr代码http://flotr.googlecode.com/svn/trunk/flotr/flotr/prototype/lib/canvas2image.js

生成PDF

有一些解决方案可以在客户端的JavaScript中生成PDF:

> CollinsPDF
> jsPDF

最终结果

结合这两个,你可能有一个解决方案.

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...