diff --git a/bin/pdfoptim b/bin/pdfoptim new file mode 100755 index 00000000..93522a29 --- /dev/null +++ b/bin/pdfoptim @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Compress pdf files using ghostscript. +# +# Defaults to 72 dpi. +# +# Usage: +# pdfoptim SRC [TARGET] [DPI] +# +# Requires: ghostscript (gs) + +optimize() { + # Adapted from Alfred Klomp's shrinkpdf script + # + gs -q -dNOPAUSE -dBATCH -dSAFER \ + -sDEVICE=pdfwrite \ + -dPDFSETTINGS=/screen \ + -dCompatibilityLevel=1.3 \ + -dEmbedAllFonts=true \ + -dSubsetFonts=true \ + -dAutoRotatePages=/None \ + -dMonoImageResolution=$3 \ + -dMonoImageDownsampleType=/Bicubic \ + -dGrayImageResolution=$3 \ + -dGrayImageDownsampleType=/Bicubic \ + -dColorImageResolution=$3 \ + -dColorImageDownsampleType=/Bicubic \ + -sOutputFile="$2" \ + "$1" +} + +SRC="$1" +DEST="${2:--}" +DPI="${3:-72}" + +optimize "$SRC" "$DEST" "$DPI" || exit $?