Get setup with ImageMagick and Ghostscript The first step is to convert the PDF file to a different format like jpg. We will use ImageMagick, which in turn uses Ghostscript. To do this you need to: a. Download and install ImageMagick which is a software suite to create, edit, compose, or convert bitmap images b. Convert file.pdf page-%03d.png I need python code to do this. It is going to be run on a someone else's shared host web server, security and performance is an issue. So I would rather not run stuff via popen. Use subprocess. Trying to eliminate popen because of the overhead when running ghostscript to render PDF (I assume convert uses gs?) is about.
This package provides an easy to work with class to convert pdf's to images.
Spatie is a webdesign agency in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
Requirements
You should have Imagick and Ghostscript installed. See issues regarding Ghostscript.
Installation
The package can be installed via composer:
Usage
Converting a pdf to an image is easy.
If the path you pass to
saveImage
has the extensions jpg
, jpeg
, or png
the image will be saved in that format.Otherwise the output will be a jpg.Other methods
You can get the total number of pages in the pdf:
By default the first page of the pdf will be rendered. If you want to render another page you can do so:
You can override the output format:
You can set the quality of compression from 0 to 100:
Issues regarding Ghostscript
This package uses Ghostscript through Imagick. For this to work Ghostscripts
gs
command should be accessible from the PHP process. For the PHP CLI process (e.g. Laravel's asynchronous jobs, commands, etc...) this is usually already the case.However for PHP on FPM (e.g. when running this package 'in the browser') you might run into the following problem:
This can be fixed by adding the following line at the end of your
php-fpm.conf
file and restarting PHP FPM. If you're unsure where the php-fpm.conf
file is located you can check phpinfo()
. If you are using Laravel Valet the php-fpm.conf
file will be located in the /usr/local/etc/php/YOUR-PHP-VERSION
directory.This will instruct PHP FPM to look for the
gs
binary in the right places.Testing
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Pdf Ghostscript Tool
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Postcardware
You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.
Python Ghostscript Pdf To Png File
We publish all received postcards on our company website.
Credits
Support us
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
Does your business depend on our contributions? Reach out and support us on Patreon.All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.
License
The MIT License (MIT). Please see License File for more information.