1、安装Wkhtmltopdf
- #32位
- composer require h4cc/wkhtmltopdf-i386 0.12.x
- #64位
- composer require h4cc/wkhtmltopdf-amd64 0.12.x
- cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf
- #并使其可执行
- chmod +x /usr/local/bin/wkhtmltopdf
2、安装laravel-snappy扩展包
- composer require barryvdh/laravel-snappy
3、配置laravel-snappy扩展包
- #将ServiceProvider添加到config/app.php中的providers数组中
- Barryvdh\Snappy\ServiceProvider::class, #将ServiceProvider添加到config/app.php中的aliases数组中
- 'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
4、生成配置文件
- php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
5、使用
- //下载
- $pdf = \PDF::loadView('welcome', $data); //$data是view文件中的参数[]
- return $pdf->download('welcome.pdf');
- //渲染页面
- $html = '<html><head><meta charset="utf-8"></head><h1>订单id</h1><h2>12346546</h2></html>';
- $pdf = \PDF::loadHTML($html); return $pdf->inline();
6、解决报错:wkhtmltopdf: error while loading shared libraries:
- yum install libXrender*
7、解决导出PDF文字乱码
将字体文件加入到/usr/share/fonts/下
至此,完美导出!
参考文章:https://segmentfault.com/a/1190000010652491