• LINUX下PHP网页生成快照(截屏)(xvfb and wkhtmltoimage)


    经测试,可以使用

    利用php截屏或实现网页快照我们需要用一个工具:xvfb and wkhtmltoimagek哦,这个工具目前只能在linux系统中使用,下面有兴趣的朋友可进入参考。

    在做旅游攻略时,需要把攻略页面生成PDF和Jpg图片,PDF生成用的是《MPDF把Html生成PDF》,而HTML生成Jpg又卡壳了。前期打算以纯程式的生成,但是除了调用别的网站提供的远程API生成Jpg,不然以单纯的程式(GD库和内置函数,或封装的类)都没找到完美的解决。

    不得已,安装扩展wkhtmltoimage生成。

    安装步骤如下:

    1、服务器端下载安装wkhtmltoimage,32和64位有区别,心情天空安装的是centos 5.8 32位。但是下载了 wkhtmltoimage 0.11版本但是出现以下错误,

    Pixmap: Cannot create a QPixmap when no GUI is being used
    QPixmap: Cannot create a QPixmap when no GUI is being used
    QPixmap: Cannot create a QPixmap when no GUI is being used
    QPixmap: Cannot create a QPixmap when no GUI is being used
    QPixmap: Cannot create a QPixmap when no GUI is being used
    QPixmap: Cannot create a QPixmap when no GUI is being used最后心情天空安装wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2低版本才可以正常生成。


    32位
    wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
    tar jxf wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
    cp wkhtmltoimage-i386 /usr/local/bin/wkhtmltoimage
     
    64位
    wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2
    mv wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2 wkhtmltoimage-0.10.0_rc2-static-amd64.tar
    tar -xvf wkhtmltoimage-0.10.0_rc2-static-amd64.tar
    mv wkhtmltoimage-amd64 /usr/bin/wkhtmltoimage
    就这样,安装成功,可以测试 wkhtmltoimage http://www.bKjia.c0m/ screenshot.png

    2、php执行wkhtmltoimage 生成图片

    set_time_limit(0);
    shell_exec('/usr/local/bin/wkhtmltoimage http://www.bKjia.c0m/ /usr/local/wwwroot/bKjia.c0m/5eyi.jpg');
    

      

    假若用foreach批量生成的话建议,sleep(10),每次生成后停顿几秒

  • 相关阅读:
    ubuntu18.04下eclipse修改maven源为阿里源
    Java中使用队列Queue
    Redis学习笔记——Redis的基本操作
    ubuntu安装redis
    Spring Boot使用监听器Listener
    Spring Boot中在程序中获得application.properties中的值
    Spring Boot使用过滤器Filter
    基于GTID的主从架构异常处理流程
    goroutine与调度器
    使用synergyc共享键鼠
  • 原文地址:https://www.cnblogs.com/tdalcn/p/8477333.html
Copyright © 2020-2023  润新知