How to Add Barcode in PDF using DomPDF Laravel

AuthorSumit Dey Sarkar

Pubish Date02 Oct 2023

categoryLaravel

In this tutorial we will learn how to add barcode in PDF using DomPDF Laravel.

How to Add Barcode in PDF using DomPDF Laravel

How to add barcode in PDF using DomPDF Laravel

To add a barcode to a PDF using DomPDF in Laravel, you'll need to follow these steps:

Step 1 - Install DomPDF

If you haven't already, you'll need to install DomPDF in your Laravel project. You can do this using Composer:

composer require barryvdh/laravel-dompdf

Step 2 - Configure DomPDF

After installing, you need to configure DomPDF in your Laravel application. Open the config/pdf.php file and make sure it's set up correctly. Here's an example:

'dompdf' => [
    'enabled' => true,
    'options' => [
        'isHtml5ParserEnabled' => true,
        'isPhpEnabled' => true,
        'isJavascriptEnabled' => true,
        'isRemoteEnabled' => true,
    ],
],

Step 3 - Generate a Barcode

You'll need a library to generate barcodes. One popular option is the "picqer/php-barcode-generator" library, which you can install with Composer:

composer require picqer/php-barcode-generator

Step 4 - Create a Laravel Controller or Route

Next, create a Laravel controller or route that handles the generation of the PDF with the barcode. In this controller or route closure, you'll generate the barcode image and add it to the PDF.

use PDF;
use Picqer\Barcode\BarcodeGeneratorHTML;

public function generatePDFWithBarcode()
{
    // Generate a barcode image using the BarcodeGeneratorHTML class
    $generator = new BarcodeGeneratorHTML();
    $barcodeImage = $generator->getBarcode('123456789', $generator::TYPE_CODE_128);

    // Load your PDF view
    $pdf = PDF::loadView('pdf.barcode', ['barcodeImage' => $barcodeImage]);

    // Return the PDF as a response or save it to a file
    return $pdf->stream();
}

Step 5 - Create a Blade View

Create a Blade view file (e.g., resources/views/pdf/barcode.blade.php) that will be used as the template for your PDF. In this view, you can add the barcode image using an HTML <img> tag:

<!DOCTYPE html>
<html>
<head>
    <title>Barcode PDF</title>
</head>
<body>
    <h1>Barcode PDF Example</h1>
    <img src="data:image/png;base64,{{ $barcodeImage }}" alt="Barcode">
</body>
</html>

Step 6 - Create a Route

Define a route that maps to the generatePDFWithBarcode controller method or closure.

Route::get('/generate-pdf-with-barcode', 'YourControllerName@generatePDFWithBarcode');

Visit the URL created in route (e.g., /generate-pdf-with-barcode), and  generate a PDF with the barcode.

You can customize the barcode generation and PDF layout according to your requirements.

Comments 0

Leave a comment