guillaumepotier / pdfxtractor
Convert PDFs to JPEG images like a charm!
Installs: 2 348
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 4
Forks: 5
Open Issues: 0
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-11-09 13:43:37 UTC
README
PdfXtractor is a PHP class that relies on GhostScript. This is a handy wrapper that allows PDF conversion to JPEG files.
Installation
The recommended way to install PdfXtractor is through composer.
Just create a composer.json
file for your project:
{ "require": { "guillaumepotier/PdfXtractor": "*" } }
And run these two commands to install it:
$ wget http://getcomposer.org/composer.phar $ php composer.phar install
Now you can add the autoloader, and you will have access to the library:
<?php require 'vendor/autoload.php';
If you don't use neither Composer nor a ClassLoader in your application, just require the provided autoloader:
<?php require_once 'src/autoload.php';
Be sure to give permissions to the GhostScript binary you'll use:
chmod 777 bin/gs-905-osx
You're done!
Usage
You'll just need to specify the pdf you want to convert, where you want to dump the .jpg files generated and under which name:
<?php $pdfXtractor = new PdfXtractor\PdfXtractor(); $pdfXtractor->load(__DIR__.'/file.pdf')->set(__DIR__.'/output', 'extract'); $pdfXtractor->extract();
Unit Tests
To run unit tests, set your proper phpunit.xml file by doing:
cp phpunit.xml.dist phpunit.xml
vi phpunit.xml
Set the GS_BIN
you'll use in your environement. Save and launch then the following
command:
phpunit
TODO
Need to better rationalize the GhostScript binary used in function of the user OS. Maybe integrate a shell script to build gs properly for the user os, because the 3 gs bin provided here are a little heavy (~100Mb) and still no better than a proper build.
Credits
Guillaume Potier. @guillaumepotier
License
PdfXtractor is released under the MIT License for the PHP Wrapper. Unfortunately, GhostScript is under GPL license. Which makes this whole project under GPL license. See the bundled LICENSE file for more details.