vsmoraes / laravel-pdf
DOMPDF module for Laravel 5
Installs: 281 192
Dependents: 1
Suggesters: 0
Security: 0
Stars: 86
Watchers: 13
Forks: 26
Open Issues: 6
Requires
- php: >=5.6.4
- dompdf/dompdf: 0.8.*
- illuminate/http: ^5.4
Requires (Dev)
- phpunit/phpunit: ^5.0
README
DOMPDF module for Laravel 5. Export your views as PDFs - with css support.
Instalation
Add:
"vsmoraes/laravel-pdf": "^2.0"
To your composer.json
or Run:
composer require vsmoraes/laravel-pdf
Then add:
Vsmoraes\Pdf\PdfServiceProvider::class
To the providers
array on your config/app.php
And
'PDF' => 'Vsmoraes\Pdf\PdfFacade',
To the aliases
array on yout config/app.php
in order to enable the PDF facade
Usage
Route::get('/pdf/view', function() { $html = view('pdfs.example')->render(); return PDF::load($html)->show(); });
Force download
Route::get('/pdf/download', function() { $html = view('pdfs.example')->render(); return PDF::load($html)->download(); });
Return PDF as string
Route::get('/pdf/output', function() { $html = view('pdfs.example')->render(); return PDF::load($html) ->output(); });
Set paper size and orientation
Route::get('/pdf/output', function() { $html = view('pdfs.example')->render(); return PDF::load($html, 'A4', 'landscape') ->output(); });
Output to a file
Route::get('/pdf/output', function() { $html = view('pdfs.example')->render(); PDF::load($html) ->filename('/tmp/example1.pdf') ->output(); return 'PDF saved'; });
Inject on your controller
<?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(); } }
Configuration
Dompdf allows you to configure a bunch of things on your PDF file. In previous versions we used to accomplish this through environment vars, now you can change this configuration keys on the fly:
Route::get('/pdf/view', function() { $html = view('pdfs.example')->render(); $defaultOptions = PDF::getOptions(); $defaultOptions->setDefaultFont('Courier'); return PDF::setOptions($defaultOptions)->load($html)->download(); });
For the complete configuration reference: Dompdf options