• wkhtmltoimage(网页剪切功能)


    1.wkhtmltoimage使用wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2版本,最新版本为wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2。

    2.解压wkhtmltoimage,更改用户,组

    # mkdir /usr/local/wkhtmltoimage
    # cp wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2 /usr/local/wkhtmltoimage
    # cd /usr/local/wkhtmltoimage
    # tar xvf wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2  //可以看到解压后只有wkhtmltoimage-amd64一个可执行文件
    # mv wkhtmltoimage-amd64 wkhtmltoimage
    # chown root.root wkhtmltoimage  //更改用户,组
    

    3.使用wkhtmltoimage将html页面输出成jpg

    # ./wkhtmltoimage  gaingreat.com /tmp/gain.jpg  ///tmp/gain.jpg指定输出图像位置,名称,可以是.png等格式
     
    附录:
    ./wkhtmltoimage-amd64 gaingreat.com gain.jpg时出现Gtk-WARNING **: cannot open display: 
    Loading page (1/2)
    [==============================> ] 51%
    (:18608): Gtk-WARNING **: cannot open display:
    因为我是用secureCRT ssh到这台机子上的,好像说是图像无法传送过来。直接到那台机子上试就没问题。参照网上的
    # export DISPLAY=:0.0 //设置DISPLAY环境变量, 运行图形程序(如xclock)时会收到如下错误:
    Xlib: connection to ":0.0" refused by server
    Xlib: No protocol specified
    Error: Can't open display: :0.0
    这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户执行如下命令
    # xhost +  //这个命令将允许别的用户启动的图形程序将图形显示在当前屏幕上
    xhost:  unable to open display "0:0"
    还是不行,后来看到说/etc/sshd/sshd_config ForwardX11默认是no,改为yes就可以了。
    # vim /etc/sshd/sshd_config //修改ForwardX11为yes,其它不用动
    ForwardX11 yes
    # /etc/init.d/sshd restart //重启sshd即可
    

    4.解决中文问题

    找了 windows 里的宋体 simsun.ttc
    上传到服务器 /usr/share/fonts/ 里
    /usr/share/fonts/chinese/TrueType/simsun.ttc
    安装这个 wkhtmltopdf 模块后,里面包含了 wkhtmltoimage 命令了!
    

    5.测试脚本

    xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage "$@"
    测试命令
    ./wkhtmltoimage.sh http://www.baidu.com baidu.jpg
    
  • 相关阅读:
    SqlServer触发器的创建与使用
    SqlServer存储过程的创建与使用
    SqlServer视图的创建与使用
    U盘重装系统:手把手教你怎么使用U盘重装系统、清除登录密码
    附034.Kubernetes_v1.21.0高可用部署架构二
    附032.Kubernetes实现蓝绿发布
    CKS考试心得分享
    001.IT运维面试问题-Linux基础
    附031.Kubernetes_v1.20.4高可用部署架构二
    深入Netty逻辑架构,从Reactor线程模型开始
  • 原文地址:https://www.cnblogs.com/liangml/p/6421573.html
Copyright © 2020-2023  润新知