PHP wrapper class for Ghostscript API
- PHP >= 8.3.0
- Ghostscript >= 9.56
- ext-ffi (Foreign Function Interface extension)
php composer.phar require "fawno/pdf-optimizer"<?phprequire__DIR__ . '/vendor/autoload.php';
useFawno\PDFOptimizer\PDFOptimizerGhostscript;<?phprequire__DIR__ . '/vendor/autoload.php';
useFawno\Ghostscript\Ghostscript;
useFawno\Ghostscript\GhostscriptParameters;
useFawno\Ghostscript\Parameters\Enums\dPDFSETTINGSEnum;
useFawno\Ghostscript\Parameters\Enums\sDEVICEEnum;
useFawno\PDFOptimizer\PDFOptimizerGhostscript;
constGS_BIN = '/usr/gs/bin/gswin64c.exe';
$params = GhostscriptParameters::create()
->device(sDEVICEEnum::PDFWRITE)
->pdfSettings(dPDFSETTINGSEnum::EBOOK)
;
$gs = Ghostscript::create(GS_BIN)->set_bypass_shell(true)->set_create_process_group(true);
$optimizer = PDFOptimizerGhostscript::create($gs);
$code = $optimizer->optimize('original.pdf', 'optimized.pdf', $params, $stdout, $stderr);
echo'***** OUTPUT:', PHP_EOL;
echo$stdout, PHP_EOL;
if ($code->isError()) {
echo'***** ERROR:', PHP_EOL;
echo$stderr, PHP_EOL;
}<?phprequire__DIR__ . '/vendor/autoload.php';
useFawno\Ghostscript\GhostscriptAPI;
useFawno\Ghostscript\GhostscriptParameters;
useFawno\Ghostscript\Parameters\Enums\dPDFSETTINGSEnum;
useFawno\Ghostscript\Parameters\Enums\sDEVICEEnum;
useFawno\Ghostscript\GhostscriptArgumentEncoding;
useFawno\PDFOptimizer\PDFOptimizerGhostscript;
constGS_LIB = '/usr/gs/bin/gsdll64.dll';
$params = GhostscriptParameters::create()
->device(sDEVICEEnum::PDFWRITE)
->pdfSettings(dPDFSETTINGSEnum::EBOOK)
;
$gs = GhostscriptAPI::create(GS_LIB)->set_arg_encoding(GhostscriptArgumentEncoding::UTF8);
$optimizer = PDFOptimizerGhostscript::create($gs);
$code = $optimizer->optimize('original.pdf', 'optimized.pdf', $params, $stdout, $stderr);
echo'***** OUTPUT:', PHP_EOL;
echo$stdout, PHP_EOL;
if ($code->isError()) {
echo'***** ERROR:', PHP_EOL;
echo$stderr, PHP_EOL;
}