Laravel 10 Digital Signature PDF Tutorial


To add a digital signature on pdf in laravel 10; In this tutorial, you will learn how to add a digital signature on pdf using the DomPDF TCPDF library in Laravel 10 apps.


How to Add Digital Signature on PDF in Laravel 10

Let’s get started with adding a digital signature on PDF in laravel 10 apps:

  • Step 1: Create a New Laravel Project
  • Step 2: Install Dependencies
  • Step 3: Configure Laravel DomPDF
  • Step 4: Set Up TCPDF for Digital Signatures
  • Step 5: Create a ControllerEzoic
  • Step 6: Create a Route
  • Step 7: Generate a PDF with Digital Signature

Step 1: Create a New Laravel Project

First of all, open your cmd or terminal and execute the following command into it to install and setup new laravel 10 app into server:

composer create-project --prefer-dist laravel/laravel digital-signature-pdf
cd digital-signature-pdf

Step 2: Install Dependencies

Next, execute the following commands to install laravel-dompdf for PDF generation and tcpdf for digital signatures:


composer require barryvdh/laravel-dompdf
composer require tecnickcom/tcpdf

Step 3: Configure Laravel DomPDF

Once you have installed laravel-dompdf into your laravel project. Now you need to configure dompdf with laravel apps.

So, Open the config/app.php file and add the following line to the providers array:


Next, add the following line to the aliases array in the same file:

'PDF' => Barryvdh\DomPDF\Facade::class,

Step 4: Set Up TCPDF for Digital Signatures

Next, You need to configure TCPDF for digital signatures. Create a new file named tcpdf_signature_config.php in the root directory of your Laravel project with the following content:

return [
    'signature_title' => 'Digital Signature',
    'signature_title_page' => 'Digital Signature - Page %s',
    'signature_font_size' => 8,
    'signature_image_width' => 25,
    'signature_image_height' => 25,
    'signature_file' => '', // Path to your signature image file
    'signature_coordinates' => [
        'x' => 10,
        'y' => 10,

Important Note:- Replace 'signature_file' with the actual path to your signature image file.

Step 5: Create a Controller

Next, open again your cmd and execute the following command into it to create a new controller for handling PDF generation and digital signatures:


php artisan make:controller PDFSignatureController

Once you have created controller class. Next, you need to edit the PDFSignatureController.php file in the app/Http/Controllers directory with the following code:


namespace App\Http\Controllers;

use Illuminate\Http\Request;
use PDF;

class PDFSignatureController extends Controller
    public function generatePDFWithSignature()
        // Load TCPDF configuration
        $config = config('tcpdf_signature_config');

        // Create a new TCPDF instance
        $pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

        // Set document properties
        $pdf->SetAuthor('Your Name');
        $pdf->SetTitle('Sample PDF with Digital Signature');
        $pdf->SetSubject('Digital Signature Example');
        $pdf->SetKeywords('laravel, pdf, digital signature');

        // Set header and footer fonts
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

        // Set default monospaced font

        // Set margins
        $pdf->SetMargins(10, 10, 10);

        // Set auto page breaks
        $pdf->SetAutoPageBreak(TRUE, 10);

        // Set image scale factor

        // Initialize PDF document

        // Output digital signature image
        if (!empty($config['signature_file'])) {
            $signatureX = $config['signature_coordinates']['x'];
            $signatureY = $config['signature_coordinates']['y'];
            $pdf->Image($config['signature_file'], $signatureX, $signatureY, $config['signature_image_width'], $config['signature_image_height']);

        // Output text for digital signature
        $pdf->SetFont('helvetica', '', $config['signature_font_size']);
        $pdf->SetXY(40, 20);
        $pdf->Cell(0, 0, 'Digitally signed by:', 0, 1);
        $pdf->SetXY(40, 25);
        $pdf->Cell(0, 0, 'Your Name', 0, 1);
        $pdf->SetXY(40, 30);
        $pdf->Cell(0, 0, 'Date: ' . date('Y-m-d H:i:s'), 0, 1);

        // Output PDF to the browser
        $pdf->Output('sample.pdf', 'I');


Step 6: Create a Route

In your routes/web.php file, add a route to your newly created controller method:

use App\Http\Controllers\PDFSignatureController;

Route::get('/generate-pdf', [PDFSignatureController::class, 'generatePDFWithSignature']);

Step 7: Generate a PDF with Digital Signature

Now, you can generate a PDF with a digital signature by visiting the following URL in your browser:



Congratulations ?! You have successfully implemented digital signature functionality for PDF documents in Laravel 10 using TCPDF and Laravel DomPDF.

Recommended Tutorials



Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.


Jassweb, Rai Chak, Punjab, India. 143518
Item added to cart.
0 items - 0.00