How Generate PDF From HTML View In Laravel

    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
Read Also: How To Generate QRcode In 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 :

Bình luận
Vui lòng đăng nhập để bình luận
Một số bài viết liên quan