Awesome
pdf-laravel5
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