将JavaScript图形和图表转换为图像
Converting JavaScript Graphs and Charts to an image
有许多JavaScript插件可以绘制图表。有关示例,请参见http://www.queness.com/post/10781/13-chart-and-graph-plotting-javascript-plugins.
我想创建一个图表并将其转换为图像。我尝试过用http://code.google.com/p/wkhtmltopdf/而且效果很好。对于安装,我使用http://www.amberdms.com/?cms=opensource_linux_repositories.
现在,转换为图像。我安装了姊妹产品wkhtmltoimage。Amberdams的回购中没有这个,所以我只使用了一个静态二进制。它覆盖了没有图表的简单页面,但当尝试一个有图表的页面时,它没有在图像中包括JavaScript图表,我得到了以下错误:
[root@localhost ~]# /usr/bin/wkhtmltoimage-amd64 --load-error-handling ignore http://www.bobo.com/lib/plugins/jqPlot/examples/area.html var/www/html/images/example_amd64.jpg
Loading page (1/2)
QPixmap: Cannot create a QPixmap when no GUI is being used ] 86%
....
QPixmap: Cannot create a QPixmap when no GUI is being used
Rendering (2/2)
Error: Could not write to output file
Segmentation fault
[root@localhost ~]#
有人有什么建议吗?
PS。我正在操作Centos 5.8 86x64,并尝试了wkhtmltoimage-i386和wkhtmltoimages-amd64。
有人有什么建议吗?
感谢
我在一个项目中也有同样的经验,根据您的主机设置,我找到了两个解决方案:
1.使用像这样的"usexserver"参数
$ ./wkhtmltoimage-amd64 --use-xserver input.html output.jpg
Loading page (1/2)
Rendering (2/2)
Done
这在我的开发机器上很有魅力,但我的托管提供商不允许我使用该选项,所以我不得不在谷歌代码库中查找答案,从而找到下一个解决方案。
2.使用不推荐使用的静态版本64位或32位
出于某种原因,似乎存在对0.11.0版本的xserver依赖,所以我在不推荐的下载部分使用了一个旧版本,在这种情况下,0.10.0_rc2对我的项目非常有效。
使用此选项时,不需要使用xserver参数:
$ ./wkhtmltoimage-amd64 input.html output.jpg
Loading page (1/2)
Rendering (2/2)
Done
我希望这些选择中的任何一个对你都有效。
另一个选项是使用xvfb将wkhtmltoimage命令封装在X服务器实例中。
sudo apt-get install xvfb
xvfb-run --server-args="-screen 0, 1280x1024x24" wkhtmltopdf --use-xserver --javascript-delay 3000 your-html-file.html test.pdf
有关更详细的信息,请查看:http://blog.hugerepo.com/2013/04/28/what-is-the-qpixma/
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用jquery将base64图像路径转换为真实路径
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 将包含SVG元素的HTML转换为图像文件
- 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64
- Cordova图像选取器转换为base64
- JS-如何将图像对象转换为灰度并显示
- 如何在fabricjs中嵌入图像base64将画布转换为SVG
- 应用将图表转换为图像的jqplot代码时Chrome挂起
- ng文件上传获胜't将jpg图像转换为png
- 用于将html转换为bbcode的Javascript,用于带有链接的图像
- 从 Base64 转换图像时出错 - HTMLImageElement 已损坏
- 如何在 Safari 上的 3D 转换图像上修复剪裁的文本
- 需要帮助更换扩展.jpg到.png或转换图像
- 什么是最简单的方法,我可以转换图像/元素到另一个图像/元素,同时拖动它
- 我可以转换图像从base64到二进制客户端
- 在Javascript中转换图像到内存流数据
- 正则表达式转换图像源
- 在firefox上转换图像为base64 javascript
- 从url转换图像为base64