2024-06-07 19:04:05 发布
网友
我找到了两个我喜欢的jQuery图表插件-flot和jqPlot。我正在考虑在我的网站前端使用其中一个。在
但是,我还需要能够允许用户以PDF格式导出数据。理想情况下,我正在寻找一个纯Python解决方案,但可以一次运行到Java或PHP。生成的图表的质量是最重要的因素。在
我考虑过的选择是:
最好的办法是什么?如果我能让Rhino解决方案正常工作,那就太好了,因为它可以保持前端和生成的pdf之间的一致性。在
我建议再看看matplotlib。在
图表是高度可定制的,可以看起来非常抛光。诚然,许多选择一开始可能会让人望而生畏。但是如果你知道怎么做的话,你可以得到很多令人眼花缭乱的效果。在
例如,如果需要阴影,请查看transforms tutorial。在
此外,matplotlib提供高dpi位图图像甚至PDF矢量图形。我不知道使用上面提到的jQuery库来获得更高分辨率的图形有多难。在
据我所知,flot绘制到canvas元素(如果可用)。我在google上搜索了导出画布内容的示例并找到了canvas2image。它可能是,也可能不是一条探索的途径。在
请参阅this StackOverflow question。从那一个开始,导出一个图像可能非常简单(使用Canvas.ToDataUrl(type)),它采用mime类型。我很确定它不会对application/pdf做任何有意义的事情。在
Canvas.ToDataUrl(type)
更新:看这里,canvas2image的一个修改版本驻留在flotr源:http://flotr.googlecode.com/svn/trunk/flotr/flotr/prototype/lib/canvas2image.js
客户机上的JavaScript解决方案有:
把这两者结合起来,你也许会有一个解决办法。在
您可以使用Python和Qt在服务器上运行headless webkit(呈现引擎),然后将其打印为PDF。使用Qt打印PDF所需的更改列在here中,尽管它们可能不完整。在
这个解决方案将只呈现页面,您可以将图表存储为单独的图像,或者按照建议的路径生成页面的完整PDF。在
我建议再看看matplotlib。在
图表是高度可定制的,可以看起来非常抛光。诚然,许多选择一开始可能会让人望而生畏。但是如果你知道怎么做的话,你可以得到很多令人眼花缭乱的效果。在
例如,如果需要阴影,请查看transforms tutorial。在
此外,matplotlib提供高dpi位图图像甚至PDF矢量图形。我不知道使用上面提到的jQuery库来获得更高分辨率的图形有多难。在
将图形转换为图像
据我所知,flot绘制到canvas元素(如果可用)。我在google上搜索了导出画布内容的示例并找到了canvas2image。它可能是,也可能不是一条探索的途径。在
请参阅this StackOverflow question。从那一个开始,导出一个图像可能非常简单(使用
Canvas.ToDataUrl(type)
),它采用mime类型。我很确定它不会对application/pdf做任何有意义的事情。在更新:看这里,canvas2image的一个修改版本驻留在flotr源:http://flotr.googlecode.com/svn/trunk/flotr/flotr/prototype/lib/canvas2image.js
生成PDF
客户机上的JavaScript解决方案有:
最终结果
把这两者结合起来,你也许会有一个解决办法。在
您可以使用Python和Qt在服务器上运行headless webkit(呈现引擎),然后将其打印为PDF。使用Qt打印PDF所需的更改列在here中,尽管它们可能不完整。在
这个解决方案将只呈现页面,您可以将图表存储为单独的图像,或者按照建议的路径生成页面的完整PDF。在
相关问题 更多 >
编程相关推荐