DEV Community

Cover image for TIL How to Batch Compress PDF Files Using Ghostscript
Nick Ciolpan
Nick Ciolpan

Posted on

TIL How to Batch Compress PDF Files Using Ghostscript

brew install ghostscript
Enter fullscreen mode Exit fullscreen mode
#!/bin/bash
[ $# -lt 3 ] && { echo "Usage: $0 /input_dir /output_dir /quality"; exit 1; }
input_dir="$1"; output_dir="$2"; quality="$3"
mkdir -p "$output_dir"
for file in "$input_dir"/*.pdf; do
  base=$(basename "$file" .pdf)
  gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="$quality" -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$output_dir/${base}_compressed.pdf" "$file"
done
Enter fullscreen mode Exit fullscreen mode
./compress_pdfs.sh /path/to/input /path/to/output /quality_setting
Enter fullscreen mode Exit fullscreen mode

Quality options: /screen, /ebook, /printer, /prepress.

Say goodbye to online pdf converters.

Originally posted on: https://graffino.com/til/til-how-to-batch-compress-pdf-files-using-ghostscript

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.