This package is abandoned and no longer maintained. No replacement package was suggested.

Bug-fixed and updated version of Meyfarth/Ghostscript-PHP script

0.4.2 2014-12-18 22:25 UTC

This package is not auto-updated.

Last update: 2021-12-04 04:31:29 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');

To specify the output resolution and format :

# 400 is a good quality for jpeg. Default is 200. Default format is 'png16m'
$transcoder->toImage('document.pdf', 'output.jpg', 400, 'jpeg');

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 () {
        return $app['monolog']; // use Monolog service provider

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


Released under the MIT License