First we have to create project in htdocs Ex: pdfcreator

Then go inside the project

Then we have to install composer
$ composer require barryvdh/laravel-dompdf

Now serve the page to browser
php artisan serve

Then page is opening successfully

Then go to your texteditor and go to C:\xampp\htdocs\pdfcreator\config\app.php
And write this in
‘providers’ =>
Barryvdh\DomPDF\ServiceProvider::class,

And write this in
‘aliases’ =>
‘PDF’ => Barryvdh\DomPDF\Facade::class,

Now we have to make Controller
php artisan make:controller PDFController

And write this code
<?php | |
namespace App\Http\Controllers; | |
use Illuminate\Http\Request; | |
use PDF; | |
class PDFController extends Controller | |
{ | |
public function show(){ | |
return view('page'); | |
} | |
public function generatePDF(){ | |
$data =[ | |
'title' => 'Welcome TO PDF Page', | |
'date' => date('m/d/y') | |
]; | |
$pdf = PDF::loadView('index', $data); | |
return $pdf->download('First.pdf'); | |
} | |
} |
Now we make route
<?php | |
use Illuminate\Support\Facades\Route; | |
use App\Http\Controllers\PDFController; | |
/* | |
|-------------------------------------------------------------------------- | |
| Web Routes | |
|-------------------------------------------------------------------------- | |
| | |
| Here is where you can register web routes for your application. These | |
| routes are loaded by the RouteServiceProvider within a group which | |
| contains the "web" middleware group. Now create something great! | |
| | |
*/ | |
Route::get('/', function () { | |
return view('welcome'); | |
}); | |
Route::get('/show',[PDFController::class, 'show']); | |
Route::get('/generate-pdf',[PDFController::class, 'generatePDF']); |
Make blade page with name index.blade.php in resources/view
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Document</title> | |
</head> | |
<body> | |
<h1>{{ $title }}</h1> | |
<p>Date ;- {{ $date }}</p> | |
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Autem iure fugiat repudiandae amet quae inventore sed mollitia ipsum voluptas omnis voluptates, saepe et ab incidunt quos quis qui aliquid iste.</p> | |
<form action="" method="post"> | |
<input type="text"> | |
<img src="" alt=""> | |
<button></button> | |
</form> | |
</body> | |
</html> |
Make another blade page with name page.blade.php in resources/view
<a href="/generate-pdf">Click To Download PDF</a> |
Then run 127.0.0.1:8000/show/

After Clicking on button you got PDF file
With your content
