How Generate PDF From HTML View In Laravel

Websolutionstuff | Jun-01-2020 | Categories : Laravel PHP HTML

In this example, I will teach you how to generate PDF files from an HTML view in laravel. For generating PDF files I will use the laravel-dompdf package, it creates pdf files and also provides download file functionalities, I will give you examples of a very simple way to generate pdf files and download them to your system. We use dompdf package and generate pdf files from HTML view in laravel. 

So, let's see generate pdf in laravel 7/8, laravel dompdf package, how to generate pdf in laravel 6/7/8, laravel pdf viewer, barryvdh/laravel-dompdf pdf not working, barryvdh/laravel-dompdf package, laravel show pdf in view, PHP pdf generator, download pdf in laravel, how to generate pdf from HTML view in laravel, dompdf laravel example.

 Step 1: Install Laravel

 

 

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

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

 

Step 2: Install barryvdh/laravel-dompdf Package In Your Application

After installation of the project, you need to install barryvdh/laravel-dompdf  Package

composer require barryvdh/laravel-dompdf

 

Step 3: Add Service Provider And Aliase

After package installation, we need to add service provider and aliase in  config/app.php.

'providers' => [
	
	Barryvdh\DomPDF\ServiceProvider::class,
],

'aliases' => [
	
	'PDF' => Barryvdh\DomPDF\Facade::class,
],

 

 

Step 4 : Create Controller

Now create a controller on this path app\Http\Controllers\UserController.php and add 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::latest()->paginate(5);
  
        if($request->has('download'))
        {
            $pdf = PDF::loadView('users.index',compact('user'));
            return $pdf->download('pdfview.pdf');
        }

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

 

Step 5: Add Route

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

Route::resource('users','UserController');

 

 

Step 6 : Create Blade File 

Now, create an index.blade.php file for download and generate a pdf file in this path resources\views\users\index.blade.php and add the below HTML code.

<!DOCTYPE html>
<html>
<head>
  <title>Generate And Download PDF File Using dompdf - websolutionstuff.com</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>Generate And Download PDF File Using dompdf - websolutionstuff.com</h2>
        </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 to your application you can download a pdf file of your HTML view.

 

 

pdf_example


You might also like :

Recommended Post
Featured Post
How to Use Laravel Factory in Seeder
How to Use Laravel Factory in...

Laravel is a popular PHP framework known for its elegance and simplicity in building web applications. When it comes to...

Read More

Sep-13-2023

Laravel 11 Summernote Image Upload Example
Laravel 11 Summernote Image Up...

Hello, laravel web developers! In this article, we'll see how to upload images in the Summernote text editor in...

Read More

May-17-2024

How to Downgrade PHP 8.2 to 8.1 in Ubuntu
How to Downgrade PHP 8.2 to 8....

Hey there, I recently found myself in a situation where I needed to downgrade my PHP version from 8.2 to 8.1 on my Ubunt...

Read More

Nov-01-2023

Laravel 9 Socialite Login with Google Account
Laravel 9 Socialite Login with...

In this article, we will see laravel 9 socialite login with a google account. This post gives you an example of a larave...

Read More

Apr-15-2022