In this tutorial we will learn how to add QR code in PDF using DomPDF Laravel.
How to add QR code in PDF using DomPDF Laravel
To add a QR code to a PDF using DomPDF in Laravel, you'll need to follow the below steps:
Step 1 - Install Laravel and DomPDF (if not already installed):
If you haven't already set up Laravel and installed DomPDF, you can do so using Composer:
composer require laravel/framework
composer require barryvdh/laravel-dompdf
After installing DomPDF, you'll need to configure it in Laravel. You can do this by adding the service provider and alias in config/app.php
:
'providers' => [
// ...
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
// ...
'PDF' => Barryvdh\DomPDF\Facade::class,
]
Step 2 - Create a QR Code Generator (if not already available):
You can use a package like simple-qrcode
to generate QR codes in Laravel. Install it using Composer:
composer require simplesoftwareio/simple-qrcode
Once installed, you can use it to generate QR codes in your Laravel application.
Step 3 - Create a Laravel Route and Controller:
Create a route and a controller method that will generate the PDF with the QR code. For example:
// routes/web.php
Route::get('/generate-pdf', 'PDFController@generatePDF');
// app/Http/Controllers/PDFController.php
namespace App\Http\Controllers;
use PDF;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
class PDFController extends Controller
{
public function generatePDF()
{
// Generate a QR code
$qrCode = QrCode::size(300)->generate('https://example.com');
// Generate the PDF using DomPDF
$pdf = PDF::loadView('pdf.qr_code_pdf', ['qrCode' => $qrCode]);
// Return the PDF as a download
return $pdf->download('qr_code.pdf');
}
}
Step 4 - Create a Blade View:
Create a Blade view file to define the PDF layout. In this view, you can include the QR code image generated earlier. For example:
<!-- resources/views/pdf/qr_code_pdf.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>QR Code PDF</title>
</head>
<body>
<h1>QR Code PDF</h1>
<img src="data:image/png;base64,{{ base64_encode($qrCode) }}" alt="QR Code">
</body>
</html>
Now, you can access the /generate-pdf
route in your web browser and generates the PDF with the QR code and download option.
Make sure to customize the URL, view, and QR code generation options according to your requirements.
You can use a different QR code generation package or customize the layout of the PDF as needed.