Laravel 8 – Convert PDF to Image Tutorial Example

Laravel 8 convert pdf to image example. In this tutorial, you will learn how to convert pdf to image in laravel 8 app.

First of all, you will learn how to install imagick package. And also learn how to enable imagick package in apache web server.

How to Convert PDF to Image in Laravel?

Use the following steps to convert pdf to image in laravel 8 app:

Step 1: Install Laravel 8 App

First of all, open your terminal OR command prompt and execute the following command to install laravel 8 app:

composer create-project --prefer-dist laravel/laravel blog

Step 2: Installing Imagick PHP Extension And Configuration

Now, execute the following command on terminal to install Imagick PHP extension is available from the Ubuntu’s repositories:

sudo apt install php-imagick

Use the following command to check the list the version available from the Ubuntu repositories using the apt list command.

sudo apt list php-magick -a

The -a flag tells apt to list all version of a package available from the repositories. The output will look similar to the following, and at the time of this writing, there was only a single version available.

php-imagick/bionic,now 3.4.3~rc2-2ubuntu4 amd64 [installed]

restart apache web server

Then, restart Apache web server:

sudo systemctl restart apache2

Verify Installation

Execute the following command to verify the installation:

 php -m | grep imagick

If the installation was successful, the output of the command will simply show one line, and it will only contain the name of the module imagick.

imagick

For a much more detailed verification of whether the PHP module was installed correctly, use the phpinfo() method.

On the command line, execute the following command

php -r 'phpinfo();' | grep imagick

Which will output the following information, where the modules status is shown as enabled.

/etc/php/7.3/cli/conf.d/20-imagick.ini,
imagick
imagick module => enabled
imagick module version => 3.4.4
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 1 => 1
imagick.shutdown_sleep_count => 10 => 10
imagick.skip_version_check => 1 => 1

Alternatively, by adding the phpinfo() function to a php script, and then accessing the script from a web browser. Now, you are able to see the module is installed and enabled.

After some authorization change in fowling the path

/etc/ImageMagick-6/policy.xml

 < policy domain="coder" rights="none" pattern="PDF" / >

To Convert

 < policy domain="coder" rights="read|write" pattern="PDF" / >

Step 3: Add Route

In this step, add routes for pdf to image convert in laravel 8 app. So, navigate to “routes/web.php” file and add following route.

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\MyController;

Route::get('pdf-to-image', [MyController::class, 'index'])->name('form');

Step 3: Create Controller

In this step, execute the following command to create controller as MyController:

php artisan make:controller MyController

And update the following code into it:

<?php

namespace App\Http\Controllers;

use Imagick;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Blade;

class MyController extends Controller
{
    /**
     * Write code on Method
     *
     * @return response()
     */
    public function index()
    {
        $imagick = new Imagick();

        $imagick->readImage(public_path('dummy.pdf'));

        $imagick->writeImages('converted.jpg', true);

        dd("done");
    }
}

Now, open your terminal and execute the following command on it for start development server:

php artisan serve

Now you can open bellow URL on your browser:

http://localhost:8000/pdf-to-image

Recommended Laravel Posts

AuthorDevendra Dode

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

Leave a Reply

Your email address will not be published. Required fields are marked *