News

Generate PDFs in Laravel from Blade Views

Published
Generate PDFs in Laravel from Blade Views image

The Laravel PDF package by Spatie provides a simple way to create PDFs in Laravel Apps. It uses Blade views to render HTML and create a PDF from that view using Browsershot. This opens up the ability to use modern CSS tools like Grid and Flexbox, modern CSS frameworks like Tailwind, and even JavaScript code for things like rendering charts.

Here's a basic example of creating a PDF and returning it from a controller, passing variables to the template that you can use to dynamically render the PDF data:

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');
}
}

At launch, the Laravel PDF package supports the following features:

  • Render PDFs from Blade templates or an HTML string
  • Save a generated PDF to a Laravel disk
  • Run JavaScript code when the PDF is created
  • PDF testing fake with powerful assertions
  • Generate PDFs on Lambda via Laravel Sidecar
  • Advanced PDF control with tools like page breaks, Browsershot customization
  • And more...

Creating PDFs in Laravel with Blade will make generating beautiful custom PDFs easier and more powerful than ever! To get started, check out the official Laravel PDF documentation. The source code is available on GitHub at spatie/laravel-pdf.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article
Mailbox for Laravel: Preview and Test Rendered Email image

Mailbox for Laravel: Preview and Test Rendered Email

Read article
Count Worker Crashes as Job Exceptions in Laravel 13.34 image

Count Worker Crashes as Job Exceptions in Laravel 13.34

Read article