laravel 将html网页转成pdf
2017-12-15 本文已影响34人
童蒙vlog
安装
下载页面:wkhtmltopdf
请根据系统进行安装,macOS直接下载安装即可,linux版本下载完解压即可,要用到里面bin的文件
tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
cd wkhtmltox
cp bin/wkhtmltoimage /usr/local/bin/
cp bin/wkhtmltopdf /usr/local/bin/
运行:wkhtmltoimage 指令,没出错即为安装成功~!
安装laravel-snappy package
composer require barryvdh/laravel-snappy
在 config/app.php 的providers里添加
Barryvdh\Snappy\ServiceProvider::class,
在 config/app.php 的Facade里添加(可选)
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
生成config/snappy.php
配置文件
php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
里面的配置默认即可!
用法
加载resource/view里的视图
$pdf = App::make('snappy.pdf.wrapper');
$pdf->loadView('home.index', $data); // $data 为传递的参数
return $pdf->inline(); // 显示
// return $pdf->download('your_selfdefine_name.pdf'); // 下载
// $pdf->loadView('home.index', $data)->setPaper('a4')->save('/path/to/myfile.pdf') //保存到本地
加载视图的文件支持bootstrap ,只需在加载的laravel视图文件引入bootstrap 的css即可,非常方便!
附:http://www.bootcdn.cn/