Greetings, Laravel enthusiasts! Today, let's explore a practical aspect of web development – adding images to PDF files using Laravel 10. Whether you're creating invoices, reports, or any other document, this step-by-step guide will empower you to seamlessly integrate images into your PDFs.
Join me on this journey, and let's enhance our Laravel skills together.
In this article, we'll how to add an image to a pdf file in laravel 10. Also, we are using barryvdh/laravel-dompdf package to generate PDF files in laravel 8/9/10. You can add image on PDF in laravel 8, Laravel 9 and Laravel 10.
Ensure you have Laravel 10 installed on your machine. If not, you can create a new project with:
composer create-project laravel/laravel mypdfproject
cd mypdfproject
We'll need the barryvdh/laravel-dompdf package for handling PDFs. Install it using Composer:
composer require barryvdh/laravel-dompdf
Add the service provider and facade in your config/app.php
:
'providers' => [
// ...
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
// ...
'PDF' => Barryvdh\DomPDF\Facade::class,
],
Create a new controller for handling PDF generation:
php artisan make:controller PDFController
In your PDFController.php
file, use the following code to add an image to the PDF:
use PDF;
use Illuminate\Http\Request;
class PDFController extends Controller
{
public function generatePDF()
{
$data = [
'imagePath' => public_path('images/your_image.jpg'),
'title' => "Add images to PDF files in Laravel 10 - Websolutionstuff"
// Add other data as needed
];
$pdf = PDF::loadView('pdf.document', $data);
return $pdf->stream('document.pdf');
}
}
Create a new Blade view file, document.blade.php
, in the resources/views/pdf/
directory. Use the following code to embed the image in the PDF:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Laravel 9/10 Add Image To PDF File - Websolutionstuff</title>
</head>
<body>
<h2>{{ $title }}</h2>
<img src="{{ $imagePath }}" alt="Image">
<br><br/>
<strong>Public Folder:</strong>
<img src="{{ public_path('laravel_10.jpg') }}" style="width: 100%;">
<br/>
<strong>Storage Folder:</strong>
<img src="{{ storage_path('app/public/laravel.png') }}" style="width: 100%;">
</body>
</html>
In your web.php
file, define a route to trigger the PDF generation:
use App\Http\Controllers\PDFController;
Route::get('/generate-pdf', [PDFController::class, 'generatePDF']);
Run your Laravel application:
php artisan serve
And there you have it! You've successfully added images to your PDF files in Laravel 10. With the power of the barryvdh/laravel-dompdf
package. Also, you can use it in Laravel 8 and Laravel 9.
You might also like:
In this article, we will see the laravel orderBy, groupBy, and limit examples. Here we will see different types of&...
Jan-27-2021
In this article, we will see how to focus on the next input when the max length is reached. Sometimes we have...
Aug-19-2020
Laravel is probably one of the most promoted PHP frameworks at the moment. It has a huge team and an excellent knowledge...
Jan-16-2022
In this article, we will see how to send email with attachments in laravel 9. As we all know mail functionalities are co...
Mar-16-2022