mirror of https://gitlab.com/dabruh/dotfiles.git
Initial version
This commit is contained in:
parent
35e074d129
commit
a52ed01ed8
|
@ -0,0 +1,71 @@
|
|||
#!/bin/bash
|
||||
|
||||
# compresspdf
|
||||
# Version: 0.1.0
|
||||
# Author: dabruh
|
||||
# GitLab: https://gitlab.com/dabruh
|
||||
# GitHub: https://github.com/dabruh
|
||||
#
|
||||
# Simply compress a PDF
|
||||
|
||||
SCRIPT_NAME="$(basename -- "$0")"
|
||||
FORCE=false
|
||||
|
||||
function usage() {
|
||||
echo "Usage: $SCRIPT_NAME [OPTIONS]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " -h Display help."
|
||||
echo " -i [FILE] Input file."
|
||||
echo " -o [FILE] Output file."
|
||||
echo " -f Overwrite existing output file."
|
||||
}
|
||||
|
||||
while getopts ":i:o:fh" arg; do
|
||||
case $arg in
|
||||
i) INPUT_FILE_PATH="$(realpath "$OPTARG")" ;;
|
||||
o) OUTPUT_FILE_PATH=$OPTARG ;;
|
||||
f) FORCE=true ;;
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
:)
|
||||
echo "$SCRIPT_NAME: Must supply a value with -$OPTARG." >&2
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
?)
|
||||
echo "Invalid option: -${OPTARG}."
|
||||
echo
|
||||
usage
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$INPUT_FILE_PATH" ]; then
|
||||
echo "$SCRIPT_NAME: Missing mandatory option -i." >&2
|
||||
usage
|
||||
exit 3
|
||||
elif [ -z "$OUTPUT_FILE_PATH" ]; then
|
||||
INPUT_FILE_DIR="${INPUT_FILE_PATH%/*}"
|
||||
INPUT_FILE_FULL_NAME="${INPUT_FILE_PATH##*/}"
|
||||
INPUT_FILE_NOEXT_NAME="${INPUT_FILE_FULL_NAME%.*}"
|
||||
INPUT_FILE_EXT="${INPUT_FILE_PATH##*.}"
|
||||
OUTPUT_FILE_PATH="$INPUT_FILE_DIR/$INPUT_FILE_NOEXT_NAME-min.$INPUT_FILE_EXT"
|
||||
fi
|
||||
|
||||
if [ -f "$OUTPUT_FILE_PATH" ]; then
|
||||
echo "File exists: $OUTPUT_FILE_PATH" >&2
|
||||
|
||||
if $FORCE; then
|
||||
echo "Removing: $OUTPUT_FILE_PATH" >&2
|
||||
rm "$OUTPUT_FILE_PATH" || exit 11
|
||||
else
|
||||
exit 12
|
||||
fi
|
||||
fi
|
||||
|
||||
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$OUTPUT_FILE_PATH" "$INPUT_FILE_PATH" || exit 21
|
||||
echo "$OUTPUT_FILE_PATH"
|
Loading…
Reference in New Issue