centos下html生成pdf的方法 支持php等诸多

Server 林涛 11536℃ 0评论

由于要将html生成pdf,找了很多插件:tcpdf、dompdf、mpdf等很多,但是都对css的属性支持不佳,不能满足需求;经过再次寻找发现很多推荐 wkhtmltoxpdf,于是在centos下开始测试。

环境:centos 7 ,64位。

进入任一目录,执行下载,现在wkhtmltopdf 提供了直接安装包,方便多了:https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm

wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm

如果提示缺少依赖,请直接yum install

错误:依赖检测失败:
        fontconfig 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要
        libX11 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要
        libXext 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要
        libXrender 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要
        xorg-x11-fonts-75dpi 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要
        xorg-x11-fonts-Type1 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要

安装依赖:

yun install  fontconfig libX11 libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

wkhtmltoxpdf 对中文的支持不够好,所以需要安装一下 宋体:simsun.ttc , 自行百度下载,吧下载的字体放在:/usr/share/fonts/  

 

执行测试:

wkhtmltopdf http://www.iamlintao.com iamlintao.pdf

格式说明: 命令  html地址  文件名

 

wkhtmltoxpdf 的参数/命令:

php调用示例:

//请确保执行PHP的Linux用户有权操作 wkhtmltopdf 所在目录,将 wkhtmltopdf 或操作wkhtmltopdf的shell脚本放在 www项目目录下将是省力的做法
    $filename = date('YmdHis');
    $pdf_file_name = $filename.'.pdf';
    $wkhtmltopdf_exec_url = "/home/wwwroot/default/web/public/wkhtmltopdf-amd64";
    $pdf_url = " /home/wwwroot/default/web/upload/pdf/";

    shell_exec("$wkhtmltopdf_exec_url  $pdf_url"."$html_file_name"." $pdf_url"."$pdf_file_name");

    if(file_exists("$pdf_url"."$pdf_file_name")){
     echo '<span>Success.</span>'; 
   }else{ 
     echo '<span>Error.</span>'; 
   }

如需转载请注明: 转载自26点的博客

本文链接地址: centos下html生成pdf的方法 支持php等诸多

转载请注明:26点的博客 » centos下html生成pdf的方法 支持php等诸多

喜欢 (0)
发表我的评论
取消评论

表情