安装
服务器 centOS 7.2
laravel 5.7
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
也可以下载本地上传
安装 .rpm
rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm
会提示各种依赖包未安装,yum 一个个安装就可以
错误:依赖检测失败:
fontconfig 被 wkhtmltox-1:0.12.5-1.centos7.x86_64 需要
libXext 被 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 需要
yum install fontconfig
yum install libXext
yum install xorg-x11-fonts-75dpi
yum install xorg-x11-fonts-Type1
安装 barryvdh/laravel-snappy
composer require barryvdh/laravel-snappy
composer require h4cc/wkhtmltopdf-amd64 0.12.x
composer require h4cc/wkhtmltoimage-amd64 0.12.x
cp vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64 /usr/local/bin/
cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
chmod +x /usr/local/bin/wkhtmltoimage-amd64
chmod +x /usr/local/bin/wkhtmltopdf-amd64
将 ServiceProvider 添加到 config /app.php 中的 providers 数组
Barryvdh\Snappy\ServiceProvider::class,
添加 facade 到 config /app.php 中的 aliases 数组中
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
生成配置文件
php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
配置修改
return array(
'pdf' => array(
'enabled' => true,
'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
'timeout' => false,
'options' => array(),
'env' => array(),
),
'image' => array(
'enabled' => true,
'binary' => '/usr/local/bin/wkhtmltoimage',
'timeout' => false,
'options' => array(),
'env' => array(),
),
);
中文乱码
在 /usr/share/fonts/ 加入 simsun.ttc
如果没有 simsun.ttc 这个字体文件,下载一个