lukasss93/pdf-to-ppm

PHP wrapper for the pdftoppm command which is part of poppler-utils.

Fund package maintenance!
Lukasss93

v1.0.2 2022-06-01 21:04 UTC

This package is auto-updated.

Last update: 2024-04-21 20:26:55 UTC


README

68747470733a2f2f62616e6e6572732e6265796f6e64636f2e64652f7064662d746f2d70706d2e706e673f7468656d653d6461726b267061636b6167654d616e616765723d636f6d706f7365722b72657175697265267061636b6167654e616d653d6c756b6173737339332532467064662d746f2d70706d267061747465726e3d746f706f677261706879267374796c653d7374796c655f31266465736372697074696f6e3d5048502b777261707065722b666f722b7468652b706466746f70706d2b636f6d6d616e642b77686963682b69732b706172742b6f662b706f70706c65722d7574696c73266d643d312673686f7757617465726d61726b3d3026666f6e7453697a653d313235707826696d616765733d70686f746f6772617068

68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6c756b6173737339332f7064662d746f2d70706d Packagist Version Packagist Downloads GitHub 68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c756b6173737339332f7064662d746f2d70706d2f72756e2d74657374732e796d6c 68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6c756b6173737339332f7064662d746f2d70706d3f746f6b656e3d50424f4d353446333857

Convert a pdf to an image
PHP wrapper for the pdftoppm command which is part of poppler-utils.

Requirements

Behind the scenes this package leverages pdftoppm. You can verify if the binary installed on your system by issueing this command:

which pdftoppm

If it is installed it will return the path to the binary.

To install the binary you can use this command on Ubuntu or Debian:

apt-get install poppler-utils

On a mac you can install the binary using brew

brew install poppler

If you're on RedHat or CentOS use this:

yum install poppler-utils

Available packages: http://pkgs.org/download/poppler-utils

Installation

You can install the package via composer:

composer require lukasss93/pdf-to-ppm

Usage

Converting a pdf to an image is easy.

use Lukasss93\PdfToPpm\PdfToPpm;

$pdf = PdfToPpm::create()->setPdf($pathToPdf);
$pdf->saveImage($pathToWhereImageShouldBeStored); // it will save the first page

If the path you pass to saveImage has the extensions ppm, jpg, png or tif the image will be saved in that format. Otherwise the output will be a jpg.

Converting all pdf pages:

use Lukasss93\PdfToPpm\PdfToPpm;

$pdf = PdfToPpm::create()->setPdf($pathToPdf);
$pdf->saveAllPagesAsImages($pathToWhereImageShouldBeStored);

Other methods

You can get the total number of pages in the pdf:

$pdf->getNumberOfPages(); //returns an int

By default the first page of the pdf will be rendered. If you want to render another page you can do so:

$pdf->setPage(2)
    ->saveImage($pathToWhereImageShouldBeStored); // it saves the second page

You can override the output format:

$pdf->setOutputFormat('png')
    ->saveImage($pathToWhereImageShouldBeStored); // the output wil be a png, no matter what

You can set the resolution (default: 144):

$pdf->setResolution(200); // sets the resolution

You can save image to grayscale:

$pdf->setGray(true); // sets the grayscale

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email lucapatera@outlook.it instead of using the issue tracker.

License

The MIT License (MIT). Please see LICENSE.md file for more information.