百度了一下有两个选择,laravel-dompdf 和 laravel-snappy,一个做者写的。html
一开始选择的 laravel-dompdf,由于移植相对后者来讲简单点,可是遇到汉字乱码问题,试了几个解决方案都没用,又听其余人十分推崇 laravel-snappy,遂改用了后者。linux
github 地址:https://github.com/barryvdh/laravel-snappylaravel
首先声明下,我只须要生成 pdf,不须要生成图片。git
第一步,安装 Wkhtmltopdfgithub
下载 Wkhtmltopdf(https://github.com/KnpLabs/snappy#wkhtmltopdf-binary-as-composer-dependencies),我用 composer 方式:windows
composer require h4cc/wkhtmltopdf-amd64 0.12.x
整个页面就这句有用对我来讲。服务器
第二步,安装 laravel-snappyapp
回到 laravel-snappy (https://github.com/barryvdh/laravel-snappy)页面,composer
cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
chmod +x /usr/local/bin/wkhtmltopdf-amd64
为了移植方便我没有用到这两句,若是是多个项目须要转成 pdf 的话能够参考这个方式。dom
生成配置文件后,有两种方式引用 wkhtmltopdf:
方式一
'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'), // 我用的这个
方式二
'binary' => '/usr/local/bin/wkhtmltopdf-amd64', // linux 环境
'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf"' // windows 环境
最后是解决中文乱码问题,网上搜一个中文字体库放到 /usr/share/fonts/ (个人服务器是 CentOS7,windows 本身找解决方案 /斜眼笑)便可,我这里下载的 sumsin.ttf (宋体)(https://ufonts.com/download/simsun.html)
须要注意的地方就这几点,其余的参考官方教程走就行。
参考:https://www.cnblogs.com/weiyalin/p/7765558.html