37 lines
811 B
Bash
Executable file
37 lines
811 B
Bash
Executable file
#!/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
|
|
# <http://alfredklomp.com/programming/shrinkpdf/>
|
|
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 $?
|