tikiwiki / ghostscript
Ghostscript PDF, a library to handle PDF through ghostscript
Installs: 34
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Forks: 1
pkg:composer/tikiwiki/ghostscript
Requires
- php: ^8.1
- tikiwiki/binary-driver: ^6.0
Requires (Dev)
- phpunit/phpunit: ^10.0 || ^11.0
- pimple/pimple: ^3.5
This package is auto-updated.
Last update: 2025-10-30 11:05:34 UTC
README
This project is a fork of alchemy/ghostscript.
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');
License
Released under the MIT License
