Jump24 - Laravel Developers that Click into Place. Never outsourced. Never offshored. Always exceptional.

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

Lens for Laravel Brings WCAG Auditing to Your Local Dev Workflow image

Lens for Laravel Brings WCAG Auditing to Your Local Dev Workflow

Read article
Generate PDFs in Laravel from Blade Views image

Generate PDFs in Laravel from Blade Views

Read article
PhpStorm logo

PhpStorm

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

PhpStorm
MongoDB logo

MongoDB

Enhance your PHP applications with the powerful integration of MongoDB and Laravel, empowering developers to build applications with ease and efficiency. Support transactional, search, analytics and mobile use cases while using the familiar Eloquent APIs. Discover how MongoDB's flexible, modern database can transform your Laravel applications.

MongoDB
Lucky Media logo

Lucky Media

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

Lucky Media
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger