In this tutorial we will learn 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.