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

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
Tinkerwell logo

Tinkerwell

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

Tinkerwell
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $3200/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
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
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
Lucky Media logo

Lucky Media

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

Lucky Media
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing