How to Add QR Code in PDF using DomPDF Laravel

AuthorSumit Dey Sarkar

Pubish Date02 Oct 2023

categoryLaravel

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

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.

Comments 0

Leave a comment