Il est facile de générer un PDF grâce au paquet DOMPDF Wrapper for Laravel 5.
Utilisez composer pour télécharger le paquet.
composer require barryvdh/laravel-dompdf
Une fois le paquet ajouté (et pas avant), ajoutez le code suivant dans le fichier config\app.php.
...
'providers' => [
...
/*
* Application Service Providers...
*/
...,
Barryvdh\DomPDF\ServiceProvider::class,
...
Vous pouvez maintenant générer des fichiers PDF.
Par exemple, pour générer un fichier PDF qui sera immédiatement affiché dans le navigateur :
$pdf = \App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->stream();
Pour générer un PDF qui sera immédiatement téléchargé :
$pdf = \App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->download('NomDuPDF.pdf');
Pour générer un PDF à partir d'une vue :
$pdf = \App::make('dompdf.wrapper');
$pdf->loadView('produits.pdf', compact('produit'));
return $pdf->stream();
Consultez la documentation sur GitHub pour voir toutes les options possibles.
Si votre vue utilise des polices particulières, vous risquez d'obtenir le message d'erreur suivant lors de la génération du PDF : « ErrorException: fopen(....ufm): failed to open stream: No such file or directory in .../phenx/php-font-lib/src/FontLib/AdobeFontMetrics.php:45 ».
Pour régler ce problème, il vous suffit de créer un dossier vide nommé « fonts » sous le dossier « storage ». Vous pourrez ainsi utiliser vos polices sans problème.
▼Publicité