2021-11-26 本文參考自博客-Linux 之 HTML 頁面轉(zhuǎn)圖片軟件:wkhtmltox
在linux環(huán)境下用wkhtmltox工具,可以把html頁面轉(zhuǎn)換為圖片。
安裝wkhtmltox工具
在官方主頁wkhtmltopdf.org,安裝系統(tǒng)下載對應(yīng)的安裝包。
我的系統(tǒng)是centos,x86_64系統(tǒng),
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擴(kuò)展才能調(diào)用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
測試代碼,
<?php
wkhtmltox_convert('image', ['in' => 'http://www.baidu.com/', 'out' => 'baidu.jpg']);
wkhtmltox_convert('image', ['in' => '/tmp/a.html', 'out' => 'baidu.jpg']);
?>