PHP code example of ordinary9843 / ghostscript

1. Go to this page and download the library: Download ordinary9843/ghostscript library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ordinary9843 / ghostscript example snippets



Ordinary9843\Ghostscript;
use Ordinary9843\Constants\CompressConstant;
use Ordinary9843\Constants\GhostscriptConstant;
use Ordinary9843\Constants\ImageTypeConstant;

$file = './files/gs_ -test/test.pdf';
$binPath = '/usr/bin/gs';
$tmpPath = sys_get_temp_dir();
$ghostscript = new Ghostscript($binPath, $tmpPath);

/**
 * This function sets the path for the Ghostscript binary, which will be used for PDF processing.
 */
$ghostscript->setBinPath($binPath);

/**
 * This function sets the path for storing temporary files created during the PDF processing in Ghostscript.
 */
$ghostscript->setTmpPath($tmpPath);

/**
 * This function compresses the PDF file using the specified quality setting.
 * Supported qualities: CompressConstant::SCREEN, EBOOK (default), PRINTER, PREPRESS
 *
 * Output: './files/compress/test.pdf'
 */
$ghostscript->compress($file, CompressConstant::EBOOK);

/**
 * This function analyzes the input PDF file and returns the guessed PDF version.
 *
 * Output: 1.5
 */
$ghostscript->guess($file);

/**
 * This function converts the version of the input PDF file to the specified PDF version.
 *
 * Output: './files/convert/test.pdf'
 */
$ghostscript->convert($file, GhostscriptConstant::STABLE_VERSION);

/**
 * This function merges multiple PDF files into a single PDF file.
 * The fourth parameter $isAutoConvert (default: true) automatically converts
 * all input PDFs to a stable version before merging.
 *
 * Output: './files/merge/res.pdf'
 */
$ghostscript->merge('./files/merge', 'res.pdf', [
    './files/merge/part_1.pdf',
    './files/merge/part_2.pdf',
    './files/merge/part_3.pdf'
], true);

/**
 * This function splits a PDF file into individual pages, each saved as a separate PDF file.
 *
 * Output: [
 *   './files/split/parts/part_1.pdf',
 *   './files/split/parts/part_2.pdf',
 *   './files/split/parts/part_3.pdf'
 * ]
 */
$ghostscript->split('./files/split/test.pdf', './files/split/parts');

/**
 * This function converts each page of a PDF file into individual image files.
 * Supported types: ImageTypeConstant::JPEG, ImageTypeConstant::PNG
 *
 * Output: [
 *   './files/to-image/images/image_1.jpeg',
 *   './files/to-image/images/image_2.jpeg',
 *   './files/to-image/images/image_3.jpeg'
 * ]
 */
$ghostscript->toImage('./files/to-image/test.pdf', './files/to-image/images', ImageTypeConstant::JPEG);

/**
 * This function calculates and returns the total number of pages in a PDF file.
 *
 * Output: 3
 */
$ghostscript->getTotalPages('./files/get-total-pages/test.pdf');

/**
 * This function sets custom Ghostscript options appended to the shell command.
 */
$ghostscript->setOptions(['-dPDFSETTINGS' => '/ebook']);

/**
 * This function returns the currently configured Ghostscript options.
 *
 * Output: ['-dPDFSETTINGS' => '/ebook']
 */
$ghostscript->getOptions();

/**
 * Clear temporary files generated during the PDF processing.
 * $isForceClear = true removes all tmp files immediately regardless of age.
 * $days specifies the age threshold in days (default: 7).
 */
$ghostscript->clearTmpFiles();
$ghostscript->clearTmpFiles(true);
$ghostscript->clearTmpFiles(false, 30);