I will explain step by step tutorial laravel add image to pdf example. you will learn laravel generate pdf with image. it’s simple example of create pdf file with image in laravel. you will learn laravel pdf images not showing. Alright, let’s dive into the steps.
we can simply create pdf file with image in laravel 6, laravel 7, laravel 8, laravel 9 and laravel 10.
PDF is one of basic requirement when you are working with erp level project or e commerce website. we may need to create pdf file or maybe you also need to add image with pdf file, might be logo or product image etc. So, here i will give you very simple example for create pdf file with laravel.
You need to just follow bellow step to create pdf file and also can download. So let’s do bellow steps.
Step 1: Install Laravel 7
I am going to explain step by step from scratch so, we need to get fresh Laravel 7 application using bellow command, So open your terminal OR command prompt and run bellow command:
composer create-project --prefer-dist laravel/laravel blog
Step 2: Install dompdf Package
first of all we will install barryvdh/laravel-dompdf composer package by following composer command in your laravel 7 application.
composer require barryvdh/laravel-dompdf
After successfully install package, open config/app.php file and add service provider and alias.
config/app.php
'providers' => [
....
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
....
'PDF' => Barryvdh\DomPDF\Facade::class,
]
Step 3: Add Route
In this is step we need to create routes for items listing. so open your “routes/web.php” file and add following route.
routes/web.php
Route::get('generate-pdf','PDFController@generatePDF');
Step 4: Add Controller
Here,we require to create new controller PDFController that will manage generatePDF method of route. So let’s put bellow code.
app/Http/Controllers/PDFController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use PDF;
class PDFController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function generatePDF()
{
$data = ['title' => 'Welcome to ItSolutionStuff.com'];
$pdf = PDF::loadView('myPDF', $data);
return $pdf->download('itsolutionstuff.pdf');
}
}
Step 5: Create View File
Here, you have to add two images on following path:
public/dummy.jpg
storage/app/public/dummy.jpg
In Last step, let’s create myPDF.blade.php(resources/views/myPDF.blade.php) for layout of pdf file and put following code:
resources/views/myPDF.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Hi</title>
</head>
<body>
<h1>Welcome to ItSolutionStuff.com - {{ $title }}</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<br/>
<strong>Public Folder:</strong>
<img src="{{ public_path('dummy.jpg') }}" style="width: 200px; height: 200px">
<br/>
<strong>Storage Folder:</strong>
<img src="{{ storage_path('app/public/dummy.jpg') }}" style="width: 200px; height: 200px">
</body>
</html>
Now we are ready to run this example and check it…
You will download file as like bellow:
I hope it can help you…