Laravel 9 PDF | Laravel 9 Generate PDF File using DomPDF
Hi All,
Today our leading topic is laravel 9 pdf file from view. In this article, we will implement a laravel 9 generate pdf file. you can see how to generate pdf in laravel 9. Here you will learn laravel 9 to create a pdf from view. Let's see below the example laravel 9 pdf generator.
I will give you a simple example of how to generate a pdf file in laravel 9. we will use DomPDF composer package to generate a pdf file in laravel 9. just follow the below step and get a simple pdf using laravel 9.
Step 1: Install Laravel 9
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 DomPDF package using following composer command, let's run bellow command:
composer require barryvdh/laravel-dompdf
Step 3: Create Controller
In this step, we will create PDFController with generatePDF() where we write code of generate pdf. so let's create controller using bellow command.
php artisan make:controller PDFController
in PDFController, we also get users table data and display them into pdf file. so you can add some dummy data on the users table by using the following tinker command:
php artisan tinker
User::factory()->count(10)->create()
Now, update the code on the controller file.
app/Http/Controllers/PDFController.php
<?php
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 ItSolutionStuff.com',
'date' => date('m/d/Y'),
'users' => $users
];
$pdf = PDF::loadView('myPDF', $data);
return $pdf->download('itsolutionstuff.pdf');
}
}
Step 4: Add Route
Furthermore, open routes/web.php file and update code on it.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PDFController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('generate-pdf', [PDFController::class, 'generatePDF']);
Step 5: Create View File
In Last step, let's create myPDF.blade.php(resources/views/myPDF.blade.php) for layout of pdf file and put following code:
resources/views/myPDF.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel 9 Generate PDF Example - ItSolutionStuff.com</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
<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">
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
</tr>
@foreach($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
</tr>
@endforeach
</table>
</body>
</html>
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:
http://localhost:8000/generate-pdf
you will downloaded file as like bellow:
Now we are ready to run this example and check it...
I hope it can help you...
Hardik Savani
I'm a full-stack developer, entrepreneur and owner of ItSolutionstuff.com. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Laravel 9 Authentication using Breeze Tutorial
- Laravel 9 Authentication using Jetstream Tutorial
- Laravel 9 Create Custom Helper Functions Example
- Laravel 9 Eloquent Mutators and Accessors Example
- Laravel 9 Image Upload Example Tutorial
- Laravel 9 Form Validation Tutorial Example
- Laravel 9 CRUD Application Tutorial Example
- How to Add Password Protection for PDF File in Laravel?
- Laravel Convert PDF to Image Example
- How to Generate PDF and Send Email in Laravel?
- How to Generate PDF with Graph in Laravel?