美文网首页自我修炼
2019-04-01 批量生成电子工单图片

2019-04-01 批量生成电子工单图片

作者: 明见万空 | 来源:发表于2019-04-01 16:25 被阅读0次

    由html页面生成pdf或是png,并且打包成压缩包。

    Centos 7 安装 Wkhtmltopdf
    可使用yum安装:
    # yum install wkhtmltopdf
    
    # wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    # tar -xvf  wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
    # cd wkhtmltox/bin
    # sudo cp ./wkhtmltopdf /usr/bin/wkhtmltoimage
    # sudo chmod +x /usr/bin/wkhtmltoimage
    
    测试:
    # wkhtmltopdf http://www.baidu.com ./test.pdf
    
    此时如果生成的字符都是方块,那么安装standard PostScript fonts:
    yum install urw-fonts libXext openssl-devel
    如果中文不显示,则将 windows下的字体,例如simsun.ttc ,或者msyh.ttf,
    或者msyhbd.ttf 复制到 linux系统  /usr/share/fonts 下。
    
    参考:https://blog.csdn.net/qw_xingzhe/article/details/80607283
    
    php 执行命令权限

    1、首先查看php运行用户,可以在web服务器配置文件中查看
    比如我的运行用户是www,编辑/etc/sudoers文件

    www用户 www ALL=(ALL) NOPASSWD:ALL 鍔犲叆www鐢ㄦ埛

    2、查看php.ini 是否禁用了这些函数:

    $ cd /usr/local/php/etc
    $ vim php.ini
    

    把exec, system,exec_shell去掉,用到哪个去哪个;
    重启php-fpm服务

    php 调用命令
    $order_id=1;
    $save_path= "/home/wwwroot/jetrealty/runtime/$order_id.png";//保存路径 要有可写权限 !!!
    $result = system("/usr/bin/wkhtmltoimage http://192.168.1.103:8089/orderpdf?order_id=$order_id  $save_path", $return_var);
    
    echo json_encode(['order' => $order_id, 'return_var' => $return_var]);
    

    相关文章

      网友评论

        本文标题:2019-04-01 批量生成电子工单图片

        本文链接:https://www.haomeiwen.com/subject/iuuvbqtx.html