How Generate PDF From HTML View In Laravel

Websolutionstuff
2 min readNov 9, 2020

--

In this example I will teach you how to generate PDF file from HTML view in laravel.

For generating PDF file I will use Laravel-dompdf package, it is create PDF file and also provide to download file functionalities, i will give you example in very simple way to generate PDF file and download in your system. So, Let’s start and follow below steps to get output.

Step 1 : Install Laravel

Type the following command in terminal for create 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 project you need to install barryvdh/laravel-dompdf Package

Read Also : How To Generate QRcode In Laravel

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 controller on this path app\Http\Controllers\UserController.php and add below command.

<?phpnamespace 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 below code in routes/web.php

Route::resource(‘users’,’UserController’);

Step 6 : Create Blade File

Now, create index.blade,php file for download and generate pdf file in this path resources\views\users\index.blade.php add 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 in your application you can download PDF file of your html view.

Thank You !!

This Story Originally Post on Websolutionstuff

--

--

Websolutionstuff
Websolutionstuff

Written by Websolutionstuff

I am Laravel and PHP Developer. I have also Good Knowledge of JavaScript, jQuery, Bootstrap and REST API. Visit Website: http://websolutionstuff.com/

No responses yet