将jQuery图表转换为PDF

将jQuery图表转换为PDF,jquery,python,charts,Jquery,Python,Charts,我找到了两个我喜欢的jQuery图表插件——flot和jqPlot。我正在考虑在我的网站前端使用其中一个 但是,我还需要能够允许用户以PDF格式导出数据。我正在寻找一个理想的纯Python解决方案,但可以快速运行到Java或PHP。生成的图表的质量是最重要的因素 我考虑过的方案有: 在服务器上生成图表,并使用这些图表创建PDF。我已经看过matplotlib和其他几个python图表包,但是这些图表看起来并不像flot或jqPlot那样完美 使用Rhino和Env.js在服务器上运行相同的jQ

我找到了两个我喜欢的jQuery图表插件——flot和jqPlot。我正在考虑在我的网站前端使用其中一个

但是,我还需要能够允许用户以PDF格式导出数据。我正在寻找一个理想的纯Python解决方案,但可以快速运行到Java或PHP。生成的图表的质量是最重要的因素

我考虑过的方案有:

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

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

我建议再看一看

这些图表具有高度的可定制性,看起来非常精致。诚然,许多选择一开始可能会让人望而生畏。但是如果你知道怎么做的话,很多令人眼花缭乱的效果是可以实现的

例如,如果需要阴影,请查看

此外,matplotlib还提供高dpi位图图像甚至PDF矢量图形。我不知道使用上面提到的jQuery库获得更高分辨率的图形有多难。

将图形转换为图像 据我所知,flot使用canvas元素(如果可用)。我在谷歌上搜索了导出画布内容的例子,例如找到了。它可能是,也可能不是一条探索的途径

我也看到了。从这一点出发,导出一个图像可能非常简单(使用
Canvas.ToDataUrl(type)
,它采用mime类型。但我很确定它不会对application/pdf做任何有意义的事情…)

更新:好吧,看看这里,canvas2image的修改版本驻留在源代码中:

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

最终结果 将这两者结合起来,您可能会有一个解决方案。

您可以在服务器上运行带有Python和Qt的(渲染引擎),然后将其打印为PDF。列出了使用Qt打印PDF所需的更改,尽管这些更改可能不完整

此解决方案将只呈现页面,您可以将图表存储为单独的图像,或者按照建议的路径生成页面的完整PDF