Introduction: In this tutorial, we will explore the process of write text on an existing PDF file in Laravel framework. Manipulating PDF files is a common requirement in web applications, and Laravel provides convenient tools for accomplishing this task. By the end of this guide, you will have a clear understanding of how to integrate text into an existing PDF file seamlessly.
Prerequisites: Before we begin, make sure you have the following prerequisites installed:
- Laravel: Ensure that you have a Laravel application up and running. You can install Laravel using Composer by running the following command:
composer create-project --prefer-dist laravel/laravel your-project-name
- Composer: Make sure Composer is installed on your system. If not, you can download it from https://getcomposer.org/.
- PDF Manipulation Library: Install a PDF manipulation library to assist in writing text on the PDF file. In this tutorial, we will use the popular library called “barryvdh/laravel-dompdf.” Install it using Composer:
composer require barryvdh/laravel-dompdf
Once these prerequisites are in place, we can proceed with the implementation.
Step 1: Configure Laravel-Dompdf:
Open your Laravel project and navigate to the config/app.php
file. Add the following service provider and facade:
'providers' => [
// ...
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
// ...
'PDF' => Barryvdh\DomPDF\Facade::class,
],
Run the following command to publish the configuration file:
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
Step 2: Create a Controller:
Generate a new controller by running the following command:
php artisan make:controller PdfController
Open the newly created PdfController.php
file in the app/Http/Controllers
directory.
Step 3: Write Code to Add Text to PDF:
Add the following code to your PdfController.php
file to create a simple PDF with text:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use PDF;
class PdfController extends Controller
{
public function writeTextOnPdf()
{
$pdf = PDF::loadView('pdf.template', ['text' => 'Hello, Laravel PDF!']);
return $pdf->stream('output.pdf');
}
}
This code defines a writeTextOnPdf
method that generates a PDF using a Blade view named pdf.template
and passes the text “Hello, Laravel PDF!” as a variable.
Step 4: Create Blade View:
Create a new Blade view file named template.blade.php
in the resources/views/pdf
directory with the following content:
<!DOCTYPE html>
<html>
<head>
<title>Laravel PDF Tutorial</title>
</head>
<body>
<h1>{{ $text }}</h1>
</body>
</html>
Step 5: Define a Route:
Open the web.php
file in the routes
directory and add a route to the writeTextOnPdf
method:
use App\Http\Controllers\PdfController;
Route::get('/write-text-on-pdf', [PdfController::class, 'writeTextOnPdf']);
Step 6: Test the Implementation:
Run your Laravel development server using the following command:
php artisan serve
Visit http://localhost:8000/write-text-on-pdf in your browser to see the PDF with the added text.
Conclusion:
Congratulations! You have successfully learned how to write text on an existing PDF file in Laravel using the barryvdh/laravel-dompdf
library. Feel free to customize the code to suit your specific requirements and explore additional features offered by the library for more advanced PDF manipulations. Happy coding!
- Check our tools small Tools
- Check our tools website Word count