Skip to content

Repository files navigation

GitHub licenseGitHub tag (latest SemVer)PackagistPackagist DownloadsGitHub issuesGitHub forksGitHub stars

PDF-Optimizer

PHP wrapper class for Ghostscript API

Requirements

Instalation

php composer.phar require "fawno/pdf-optimizer"
<?phprequire__DIR__ . '/vendor/autoload.php';
useFawno\PDFOptimizer\PDFOptimizerGhostscript;

Example with GS executable

<?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;
}

Example with GS library

<?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;
}

About

PDF Optimizer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages