wkhtmltopdf 与 wkhtmltoimage(wkhtmltox安装)+ php

背景:将HTML 转为 PDF/jpg/png  ;中文问题,请看下面的问题二

参考:http://blog.sina.com.cn/s/blog_6dab20b401019e19.html

1、下载wkhtmltopdf 与 wkhtmltoimage(wkhtmltox)
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
 
2、解压压缩包

tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

3、移动文件夹

3-1,wkhtmltopdf  

mv wkhtmltox/bin/wkhtmltopdf  /usr/local/bin

3-2,wkhtmltoimage

mv wkhtmltox/bin/wkhtmltoimage  /usr/local/bin

 
4、测试是否安装成功
wkhtmltopdf  http://www.baidu.com ./baidu.pdf

wkhtmltoimage  http://www.baidu.com ./baidu.pdf

5、找到要转换的HTML字体文件上传(可以直接使用windows里的字体如雅黑:msyh.ttf , msyhbd.ttf)
上传到 /usr/share/fonts/
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function convert($type='pdf')
        {
            $filename=time();
            $url=$this->input->get("url");
            if($type=='pdf')
            {
                $filename="F:/upload/tmp/".$filename.".pdf";
                exec("F:/home/phptool/wkhtmltopdf-i386 $url $filename");
                header('Content-Type: application/pdf');
            }
            elseif($type=='image')
            {
                $filename="upload/tmp/".$filename.".jpg";
                exec("/home/phptool/wkhtmltoimage-i386 $url $filename");
                header('Content-Type: image/jpeg');
            }
            header('Pragma: public');
            header('Expires: 0');
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Content-Transfer-Encoding: binary');
            header('Content-Length: '.filesize($filename));
            readfile("$filename");
        }

问题一:iCCP: known incorrect sRGB profile  ,警告,不是错误

参考:https://blog.csdn.net/tianmaxingkong_/article/details/54333416 

==================================================================================================

中文参数,参考:https://www.jianshu.com/p/4d65857ffe5e

===================================================================================================

wkhtmltoimage  -V   查看版本                 wkhtmltopdf  -V   查看版本

wkhtmltoimage  -h   查看 参数(英文)   wkhtmltopdf  -h  查看 参数(英文)

php使用:

 $pdf_link -- 要htmltopdf的HTML页面链接   $pdf_link = 'http://www.baidu,com';
 $file     -- 生成PDF放的位置(自己规定)    $file = 'baidu.png/jpg/jpeg';

exec( "wkhtmltopdf -O Landscape --page-width 180 --page-height 230 -q '{$pdf_link}' {$file}" ); // 生成分页的PDF,设置宽高的缘故

exec("wkhtmltoimage -q '{$pdf_link}' {$file}");   //生成  长图,整个目标页面

问题二:

装好wkhtmltopdf 中文显示空白或者乱码方框

网路上说一般是中文支持没有安装

说添加yum源后安装以下两个包:

fonts-chinese.noarch

fonts-ISO8859-2-75dpi.noarch

下载好安装,

[root@alpha-openl soft]# rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm 

warning: fonts-chinese-3.02-12.el5.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY

error: Failed dependencies:

        /usr/sbin/chkfontpath is needed by fonts-chinese-3.02-12.el5.noarch

不行

突然觉得,英文可以,中文不行,

可能还是中文字体原因

于是找了windows里的宋体

上传到服务器/usr/share/fonts/里

/usr/share/fonts/chinese/TrueType/simsun.ttc

测试果然解决了!

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值