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)