Numerous Pancakes Munched

    @lpgroup/ghostscript

    1.3.87 • Public • Published

    ghostscript

    npm version Known Vulnerabilities Licence MIT tested with jest codecov

    Flatten and optimize PDF with shell command Ghostscript gsx.

    Install

    The npm module requires shell command Ghostscript to be installed on the machine.

    # OSX
    brew install ghostscript
    
    # Alpine
    apk update
    apk add imagemagick ghostscript-fonts ghostscript
    
    # Debian/ubuntu
    apt-get update
    apt-get install ghostscript

    Installation of the npm

    npm install @lpgroup/ghostscript

    Example

    const { readfilesync, writeFile } = require("fs");
    const { resolve } = require("path");
    const { optimize } = require("@lpgroup/ghostscript");
    
    const fileIn = resolve("./test/flytt_uppdrag.pdf");
    const fileOut = resolve("./test/flytt_uppdrag_optimized.pdf");
    
    const input = readfilesync(fileIn);
    optimize({ input }).then((output) => {
      writeFile(fileOut, output, "binary");
    });

    API

    env DEBUG

    This package uses the debug npm. Debug messages are printed to stdout if the follwoing is set.

    export DEBUG=ghostscript

    optimize({options})

    Following are all values that can be used in options and the default values that are used if none is entered.

    optimize({
      input,
      compressFonts: true,
      embedAllFonts: true,
      subsetFonts: true,
      dpi: 300,
      colorConversionStrategy: "RGB",
    });

    Raw shell command

    Below is the shell command executed by node, if you'd like to optimize it further yourself. Credit goes to Matt DesLauriers and the repo http://github.com/mattdesl/gsx-pdf-optimize

    Removed according to https://stackoverflow.com/questions/49686527/ghostscritpt-converted-file-not-view-able-in-adobe-reader -dPDFSETTINGS=/screen -dCompatibilityLevel=1.5

    cat test/flytt_uppdrag.pdf | \
    gsx -sDEVICE=pdfwrite \
    -dNOPAUSE \
    -dQUIET \
    -dBATCH \
    -dSubsetFonts=true \
    -dCompressFonts=true \
    -dEmbedAllFonts=true \
    -sProcessColorModel=DeviceRGB \
    -sColorConversionStrategy=RGB \
    -sColorConversionStrategyForImages=RGB \
    -dConvertCMYKImagesToRGB=true \
    -dDetectDuplicateImages=true \
    -dColorImageDownsampleType=/Bicubic \
    -dColorImageResolution=300 \
    -dGrayImageDownsampleType=/Bicubic \
    -dGrayImageResolution=300 \
    -dMonoImageDownsampleType=/Bicubic \
    -dMonoImageResolution=300 \
    -dDownsampleColorImages=true \
    -dDoThumbnails=false \
    -dCreateJobTicket=false \
    -dPreserveEPSInfo=false \
    -dPreserveOPIComments=false \
    -dPreserveOverprintSettings=false \
    -dUCRandBGInfo=/Remove \
    -sOutputFile=- - > flytt_uppdrag_optimized.pdf

    Contribute

    See contribute

    License

    MIT - See licence

    Install

    npm i @lpgroup/ghostscript

    DownloadsWeekly Downloads

    506

    Version

    1.3.87

    License

    MIT

    Unpacked Size

    7.42 kB

    Total Files

    4

    Last publish

    Collaborators

    • arlukin
    • muscot