Laravel 9 Generate PDF File Using DomPDF

Websolutionstuff | Feb-25-2022 | Categories : Laravel PHP

In this tutorial, we will see laravel 9 generate pdf file using dompdf. For generating pdf files we will use the laravel-dompdf package. It creates a pdf file and also provides download file functionalities. It is very easy to generate pdf in laravel 9. I will give you an example in a very simple way to generate pdf file and download it to your system.

Using barryvdh/laravel-dompdf pdf you can create a new DomPDF instance and load an HTML string, file or view name. You can save it to a file, or show it in the browser or download it. Also, you can generate pdf from HTML view in laravel 9.

So, let's see laravel 9 generate pdf file using dompdf, download pdf in laravel 9, how generate pdf from html view in laravel 9.

 Step 1 : Install Laravel 9

Type the following command in the terminal to create a new laravel 9 project in your system.

composer create-project --prefer-dist laravel/laravel PDF_example

 

 

Step 2 : Install barryvdh/laravel-dompdf Package

In this step, we need to install barryvdh/laravel-dompdf Package using the composer command.

composer require barryvdh/laravel-dompdf

 

Step 3 : Create Controller

Now create a new controller on this path app\Http\Controllers\UserController.php and copy the below command.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use PDF;

class UserController extends Controller
{    
    public function index(Request $request)
	{
	    $user = User::get();

	    $data = [
	            'title' => 'Laravel 9 Generate PDF File Using DomPDF - Websolutionstuff',
	            'date' => date('d/m/Y'),
	            'users' => $users
	    ];

	    if($request->has('download'))
	    {
	        $pdf = PDF::loadView('index',$data);
	        return $pdf->download('pdfview.pdf');
	    }

	    return view('index',compact('user'));
	}
}

 

 

Step 5 : Add Route

After that add the below code in routes/web.php 

<?php
  
use Illuminate\Support\Facades\Route;
  
use App\Http\Controllers\UserController;
  
Route::resource('users', UserController::class);

 

Step 6 : Create Blade File

In this last step, we will create an index.blade.php file for download and generate a pdf file in this path resources\views\index.blade.php and add below HTML code.

<!DOCTYPE html>
<html>
<head>
  <title>Laravel 9 Generate PDF File Using DomPDF - Websolutionstuff</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
  <div class="container">
    <div class="row">
      <div class="col-lg-12" style="margin-top: 15px ">
        <div class="pull-left">
          <h2>{{title}}</h2>
          <h4>{{date}}</h4>
        </div>
        <div class="pull-right">
          <a class="btn btn-primary" href="{{route('users.index',['download'=>'pdf'])}}">Download PDF</a>
        </div>
      </div>
    </div><br>
    <table class="table table-bordered">
      <tr>
        <th>Name</th>
        <th>Email</th>
      </tr>
      @foreach ($user as $user)
      <tr>
        <td>{{ $user->name }}</td>
        <td>{{ $user->email }}</td>
      </tr>
      @endforeach
    </table>
  </div>
</body>
</html>

 After adding all code in your application you can download a pdf file of your HTML view.

 


You might also like :

Recommended Post
Featured Post
Laravel 6/7 CRUD tutorial with example
Laravel 6/7 CRUD tutorial with...

In this example, I will show you how to make simple laravel CRUD(insert, update, delete, or list) operations with e...

Read More

May-08-2020

Laravel 10 Composer-runtime-api ^2.2 Error - Fixed
Laravel 10 Composer-runtime-ap...

In this article, we will see laravel/framework[v10.0.0, ..., v10.0.3] require composer-runtime-api ^2.2 error fixed...

Read More

Mar-07-2023

File Upload With Progress Bar In Angular 13
File Upload With Progress Bar...

In this article, we will see the file upload with a progress bar in angular 13. In this example, we will learn how to im...

Read More

Jun-11-2022

How To Get Multiple Checkbox Value In Javascript
How To Get Multiple Checkbox V...

Checkboxes let us make multiple choices. But how do you actually use them in JavaScript? It might seem tricky, especiall...

Read More

Jan-10-2023