From 44308e890f9459e303564f979d54f16f61335507 Mon Sep 17 00:00:00 2001 From: Dan Church Date: Fri, 21 Apr 2023 10:50:16 -0500 Subject: [PATCH] Check qpdf is available before starting --- optipdf | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/optipdf b/optipdf index 13f6a33..3a63f3e 100755 --- a/optipdf +++ b/optipdf @@ -105,6 +105,22 @@ if [[ ${#FILES[@]} -eq 0 ]]; then exit 2 fi +check_required_binaries() { + local BIN MISSING=() + for BIN; do + if ! type -t "$BIN" &>/dev/null; then + MISSING+=("$BIN") + fi + done + if [[ ${#MISSING[@]} -gt 0 ]]; then + printf 'Error: You are missing required programs:\n' >&2 + for BIN in "${MISSING[@]}"; do + printf -- '- %s\n' "$BIN" >&2 + done + exit 2 + fi +} + file_size() { stat \ --format='%s' \ @@ -200,6 +216,9 @@ use_smaller() { } +check_required_binaries \ + qpdf + QPDF_ARGS=( --compression-level=9 --deterministic-id