4,000 emails/month for free | Mailtrap sends real emails now!

Laravel Pdf

spatie/laravel-pdf image

Laravel Pdf stats

Downloads
154
Stars
283
Open Issues
0
Forks
9

View on GitHub →

Create PDFs in Laravel apps

Spatie Laravel PDF

The Spatie Laravel PDF package enables easy PDF generation in Laravel applications, leveraging Chromium to convert Blade views into PDF files. This approach allows developers to utilize advanced CSS features like Flexbox and Grid in their PDF designs.

Key Features

  • Generate PDFs from Blade Views: Render any Blade view as a PDF file, passing necessary data directly into the view.
  • Modern CSS Support: Design your PDF layouts using modern CSS, thanks to the underlying use of Chromium.
  • Save or Stream PDFs: Easily save generated PDFs to the server or stream them directly to the user for downloads.
  • Testing Support: Includes functionality to fake PDF downloads in tests to ensure your application behaves as expected without generating actual files during testing.

Installation and Usage

To install the package, run:

composer require spatie/laravel-pdf

Basic Usage

Generate a PDF by rendering a Blade view:

use Spatie\LaravelPdf\Facades\Pdf;
 
Pdf::view('pdfs.invoice', ['invoice' => $invoice])
->format('a4')
->save('invoice.pdf');

To send a PDF as a downloadable response:

use Spatie\LaravelPdf\Facades\Pdf;
 
class DownloadInvoiceController
{
public function __invoke(Invoice $invoice)
{
return Pdf::view('pdfs.invoice', ['invoice' => $invoice])
->format('a4')
->name('your-invoice.pdf');
}
}

Testing

Ensure Puppeteer is installed (npm -g i puppeteer) and pdftotext from poppler-utils (brew install poppler-utils), then run:

composer test

Documentation and Support

Full documentation is available on the Spatie documentation site. For more extensive support and contributions, visit the GitHub repository or the Spatie website.

Contributions and Security

Contributions are welcome! Please see the repository's CONTRIBUTING guide for more details. For security issues, refer to the project's security policy.


This package is part of Spatie's suite of open-source tools. Support their work by purchasing a product or sending a postcard.

spatie photo

We create open source, digital products and courses for the developer community

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Spatie Laravel Pdf Related Articles

Generate PDFs in Laravel from Blade Views image

Generate PDFs in Laravel from Blade Views

Read article
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Get expert guidance in a few days with a Laravel code review logo

Get expert guidance in a few days with a Laravel code review

Expert code review! Get clear, practical feedback from two Laravel devs with 10+ years of experience helping teams build better apps.

Get expert guidance in a few days with a Laravel code review
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell