在平时的项目中,可能会遇到把报表生成pdf或jpg图片的需求,使用wkhtmltopdf能方便的生成pdf和jpg图片。
1、安装:
ubunut:sudo apt install wkhtmltopdf (或者下载安装指定版本:https://wkhtmltopdf.org/downloads.html),记住安装的目录,命令名称:wkhtmltoimage和wkhtmltopdf
2、laravel配置:
1、安装依赖:composer require barryvdh/laravel-snappy
2、在config/app.php的providers下添加:Barryvdh\Snappy\ServiceProvider::class,
3、在config/app/php的aliases下添加:'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class 和 'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
4、执行 php php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider" ,会在 app/config 生成 snappy.php 配置文件,根据自己的情况完成配置
5、支持 blade 模板,也支持直接写html代码
例如:$pdf = PDF::loadView('pdf.report', $data); $pdf->setPaper('b5')->save($full_file); 或 $snappy = App::make('snappy.image'); $snappy->generateFromHtml($html, $file_path); //$html 是html字符串
3、注意事项:
1、在生成pdf时,要注意纸张的尺寸设置
2、如果生成的pdf或图片存在乱码,可以安装这两个字体库(sudo apt-get install ttf-wqy-microhei 和 sudo apt-get install ttf-wqy-zenhei)
4、更多配置和使用方法参考git:
https://github.com/barryvdh/laravel-snappy
https://github.com/wkhtmltopdf/wkhtmltopdf
标签:laravel,wkhtmltopdf,html,snappy,使用,pdf,php From: https://www.cnblogs.com/pk-tiger/p/17919781.html