How to Generate PDF File using DomPDF in Laravel 11?




How to Generate PDF File using DomPDF in Laravel 11?

Hi, Dev

In this guide, I'll walk you through the process of generating a PDF file in Laravel 11 using DomPDF.

To accomplish this, we'll leverage the DomPDF Composer package. First, we'll install the package and then proceed to generate a PDF file containing dummy user data and text. Follow the steps outlined below to create your PDF file:

Step for Laravel 11 Create PDF File using DomPDF Example

Step 1: Install Laravel 11

Step 2: Install DomPDF Package

Step 3: Create Controller

Step 4: Add Route

Step 5: Create View File

Run Laravel App

Step 1: Install Laravel 11

This step is not required; however, if you have not created the Laravel app, then you may go ahead and execute the below command:

composer create-project laravel/laravel example-app

Step 2: Install DomPDF Package

Next, we will install the DomPDF package using the following Composer command. Let's run the command below:

composer require barryvdh/laravel-dompdf

Step 3: Create Controller

In this step, we will create a PDFController with a method called generatePDF() where we will write the code to generate a PDF. So, let's create the controller using the command below.

php artisan make:controller PDFController

In the `PDFController`, we also get users table data and display it into a PDF file. So, you can add some dummy data to the users table by using the following Tinker command:

php artisan tinker


Now, update the code in the controller file.



namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\User;

use PDF;

class PDFController extends Controller



* Display a listing of the resource.


* @return \Illuminate\Http\Response


public function generatePDF()


$users = User::get();

$data = [

'title' => 'Welcome to',

'date' => date('m/d/Y'),

'users' => $users


$pdf = PDF::loadView('myPDF', $data);

return $pdf->download('NiceSnippets.pdf');



Step 4: Add Route

Furthermore, open `routes/web.php` file and add a GET route.



use Illuminate\Support\Facades\Route;

use App\Http\Controllers\PDFController;

Route::get('generate-pdf', [PDFController::class, 'generatePDF']);

Step 5: Create View File

In the last step, let's create `myPDF.blade.php` (`resources/views/myPDF.blade.php`) for the layout of the PDF file and put the following code:


<!DOCTYPE html>



<title>Laravel 11 Generate PDF Example -</title>

<link rel="stylesheet" href="" >



<h1>{{ $title }}</h1>

<p>{{ $date }}</p>

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod

tempor incididunt ut labore et dolore magna aliqua.</p>

<table class="table table-bordered">






@foreach($users as $user)


<td>{{ $user->id }}</td>

<td>{{ $user->name }}</td>

<td>{{ $user->email }}</td>






Run Laravel App:

All the required steps have been done, now you have to type the given below command and hit enter to run the Laravel app:

php artisan serve

Now, Go to your web browser, type the given URL and view the app output:


you will download the file as like below:

Now we are ready to run this example and check it...

I hope it can help you...

#Laravel 11