Generate PDF in laravel several packages available. I am using barryvdh/laravel-dompdf package for implemeting DOM PDF.
- Step-1: Install Package
- Step-2: Publish package
- Step-3: Create Controller
- Step-4: Create View
- Step-5: Define Route
- Step-6: Run Code
Step-1: Install Package
Install package using this command
composer require barryvdh/laravel-dompdf
Step-2: Publish package
Publish the configuration file for customization
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
Step-3: Create Controller
Create controller for generating PDF file.
php artisan make:controller PDFController
Open PDFController.php
and paste below code in controller.
<?php
namespace App\Http\Controllers;
use PDF;
class PDFController extends Controller
{
public function generatePDF()
{
$data = [
'title' => 'Sample PDF',
'content' => 'Using DOM PDF create PDF File'
];
$pdf = PDF::loadView('pdf.sample', $data);
return $pdf->download('sample.pdf');
}
}
Step-4: Create View
Create sample.blade.php file with in resources/views/pdf. and paste below code.
<!DOCTYPE html>
<html>
<head>
<title>{{ $title }}</title>
</head>
<body>
<h1>{{ $title }}</h1>
<p>{{ $content }}</p>
</body>
</html>
Step-5: Define Route
use App\Http\Controllers\PDFController;
Route::get('/generate-pdf', [PDFController::class, 'generatePDF']);
Step-6: Run Code
php artisan serve
open this url
http://localhost:8000/generate-pdf