> 安装依赖
```
yum install -y libpng
yum install -y libjpeg
yum install -y openssl
yum install -y icu
yum install -y libX11
yum install -y libXext
yum install -y libXrender
yum install -y xorg-x11-fonts-Type1
yum install -y xorg-x11-fonts-75dpi
yum install xorg-x11-fonts-75dpi.noarch
```
> 下载wkhtmltopdf
```
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
rpm2cpio wkhtmltox-0.12.5-1.centos7.x86_64.rpm | cpio -div
完成后在当前目录会生成一个 usr 的目录,里面包含 local/bin,local/include,local/share,local/lib四个文件夹
将对应文件夹的内容拷贝至/usr/local即可!
> cp -Rv ./usr/local/* /usr/local/
```
> 安装php-wkhtmltox扩展
```
git clone https://github.com/krakjoe/wkhtmltox.git
或者
wget https://github.com/krakjoe/wkhtmltox/archive/master.zip
cd wkhtmltox
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
```
> 修改php.ini文件开启扩展
```
vim /usr/local/php/conf/php.ini
extension=wkhtmltox
重启php-fpm
```
> 测试
```
wkhtmltopdf -q $localHtml $savePdfPath
wkhtmltopdf http://www.baidu.com $savePdfPath
```
> 代码
```
public function htmlToPdf()
{
$html = ROOT_PATH . 'public' . DS . 'uploads' . DS . 'think.html';
$savePdfPath = ROOT_PATH . 'public' . DS . 'uploads' . DS . 'html2pdf_' . time() . '.pdf';
$waterPath = ROOT_PATH . 'public' . DS . 'images' . DS . 'chbd.png';
$cmd = "wkhtmltopdf -q $html $savePdfPath";
// $cmd = "wkhtmltopdf http://www.baidu.com $savePdfPath";
exec($cmd, $arr, $status);
$name = PdfWriteWater($savePdfPath, 1, $waterPath);
unlink($savePdfPath);
return $name;
}
```