PHP把html转为图片


2021-11-26 本文参考自博客-Linux 之 HTML 页面转图片软件:wkhtmltox


在linux环境下用wkhtmltox工具,可以把html页面转换为图片。

安装wkhtmltox工具

在官方主页wkhtmltopdf.org,安装系统下载对应的安装包。

我的系统是centos,x86_64系统,

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

如果安装过程中报错,缺少libX11之类的库,就yum search、yum install 安装,如下

yum -y install libX11
yum -y install xorg-x11-fonts-75dpi.noarch

安装完成后的测试命令

wkhtmltoimage www.baidu.com baidu.jpg

如果测试图片没有中文,则需要安装中文字体,比如下载一个微软雅黑字体,字体安装到目录/usr/share/fonts/

cd /usr/share/fonts/
wget https://dlc2.pconline.com.cn/filedown_50601_6620616/SCbKpBBU/yaheiFont_CHS.zip
unzip yaheiFont_CHS.zip -d msyh
# 字体有了之后,还需要建立字体缓存
mkfontscale
mkfontdir
fc-cache -fv

PHP使用wkhtmltox

PHP需要安装wkhtmltox扩展才能调用wkhtmltox功能,在github里面搜一搜就有。我这里使用的是julego-php7

cd /home/sft

wget https://github.com/mreiferson/php-wkhtmltox/archive/master.zip
wget https://github.com/julego/php-wkhtmltox/archive/julego-php7.zip
mv julego-php7.zip php-wkhtmltox-julego-php7.zip
unzip php-wkhtmltox-julego-php7.zip

cd php-wkhtmltox-julego-php7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make

cp modules/phpwkhtmltox.so /usr/local/php/ext/

修改PHP配置 php.ini, 增加一行

extension=phpwkhtmltox.so

重启PHP

systemctl restart php-fpm.service

测试代码,

 'http://www.baidu.com/', 'out' => 'baidu.jpg']);
    wkhtmltox_convert('image', ['in' => '/tmp/a.html', 'out' => 'baidu.jpg']);
?>

你可能感兴趣的:(PHP把html转为图片)