vsmoraes / laravel-pdf
2.0
2017-07-06 17:51 UTC
Requires
- php: >=5.6.4
- dompdf/dompdf: 0.8.*
- illuminate/http: ^5.4
Requires (Dev)
- phpunit/phpunit: ^5.0
README
DOMPDF 模块用于 Laravel 5。将视图导出为 PDF - 支持CSS。
安装
添加
"vsmoraes/laravel-pdf": "^2.0"
到你的 composer.json
或者运行
composer require vsmoraes/laravel-pdf
然后添加
Vsmoraes\Pdf\PdfServiceProvider::class
到你的 config/app.php
中的 providers
数组
并且
'PDF' => 'Vsmoraes\Pdf\PdfFacade',
添加到你的 config/app.php
中的 aliases
数组,以便启用PDF门面
用法
Route::get('/pdf/view', function() { $html = view('pdfs.example')->render(); return PDF::load($html)->show(); });
强制下载
Route::get('/pdf/download', function() { $html = view('pdfs.example')->render(); return PDF::load($html)->download(); });
以字符串形式返回 PDF
Route::get('/pdf/output', function() { $html = view('pdfs.example')->render(); return PDF::load($html) ->output(); });
设置纸张大小和方向
Route::get('/pdf/output', function() { $html = view('pdfs.example')->render(); return PDF::load($html, 'A4', 'landscape') ->output(); });
输出到文件
Route::get('/pdf/output', function() { $html = view('pdfs.example')->render(); PDF::load($html) ->filename('/tmp/example1.pdf') ->output(); return 'PDF saved'; });
注入到控制器中
<?php namespace App\Http\Controllers; use Vsmoraes\Pdf\Pdf; class HomeController extends BaseControler { private $pdf; public function __construct(Pdf $pdf) { $this->pdf = $pdf; } public function helloWorld() { $html = view('pdfs.example1')->render(); return $this->pdf ->load($html) ->show(); } }
配置
Dompdf 允许你在PDF文件上配置许多东西。在旧版本中,我们通常通过环境变量来完成这个任务,现在你可以实时更改这些配置键
Route::get('/pdf/view', function() { $html = view('pdfs.example')->render(); $defaultOptions = PDF::getOptions(); $defaultOptions->setDefaultFont('Courier'); return PDF::setOptions($defaultOptions)->load($html)->download(); });
完整的配置参考:Dompdf选项