代码之家  ›  专栏  ›  技术社区  ›  Roger

将jQuery图表转换为PDF

  •  8
  • Roger  · 技术社区  · 16 年前

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

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

    我考虑过的选项有:

    • 在服务器上生成图表,并使用这些图表创建PDF。我已经查看了matplotlib和其他几个python图表包,但是这些图表看起来并不像flot或jqPlot那样完美。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    将图形转换为图像

    据我所知,flot使用canvas元素(如果可用)。我在谷歌上搜索了 导出画布内容 canvas2image ,例如。它可能是,也可能不是,探索的途径。

    this StackOverflow question 我也是。从这个角度来说,导出一个图像(使用 Canvas.ToDataUrl(type)

    更新 :好的,看这里,canvas2image的一个修改版本驻留在 flotr 资料来源: http://flotr.googlecode.com/svn/trunk/flotr/flotr/prototype/lib/canvas2image.js

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

    最终结果

    把这两者结合起来,你可能会有一个解决办法。

        2
  •  1
  •   gclj5    16 年前

    我建议再看一眼 matplotlib .

    transforms tutorial

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

        3
  •  1
  •   supakeen    16 年前

    你可以开一个 headless webkit (渲染引擎)在服务器上使用Python和Qt,然后可以打印为PDF。下面列出了使用Qt打印PDF所需的更改 here 尽管它们可能并不完整。

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