Ghostscript PDF, a library to handle PDF through ghostscript

0.4.0 2013-06-25 09:12 UTC


Build Status

API usage

To instantiate Ghostscript driver, the easiest way is :

$transcoder = Ghostscript\Transcoder::create();

You can customize your driver by passing a Psr\Log\LoggerInterface or configuration options.

Available options are :

  • gs.binaries : the path (or an array of potential paths) to the ghostscript binary.
  • timeout : the timeout for the underlying process.
$transcoder = Ghostscript\Transcoder::create(array(
    'timeout' => 42,
    'gs.binaries' => '/opt/local/gs/bin/gs',
), $logger);

To process a file to PDF format, use the toPDF method :

Third and fourth arguments are respectively the first page and the number of page to transcode.

$transcoder->toPDF('document.pdf', 'first-page.pdf', 1, 1);

To render a file to Image, use the toImage method :

$transcoder->toImage('document.pdf', 'output.jpg');

Silex service provider :

A Silex Service Provider is available, all parameters are optionals :

$app = new Silex\Application();
$app->register(new Ghostscript\GhostscriptServiceProvider(), array(
    'ghostscript.configuration' => array(
        'gs.binaries' => '/usr/bin/gs',
        'timeout'     => 42,
    'ghostscript.logger' => $app->share(function () use ($app) {
        return $app['monolog']; // use Monolog service provider

$app['ghostscript.transcoder']->toImage('document.pdf', 'image.jpg');


Released under the MIT License