-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcutpdf
executable file
·25 lines (20 loc) · 956 Bytes
/
cutpdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env bash
die() { printf %s "${@+$@$'\n'}" 1>&2 ; exit 1 ; }
see() ( { set -x; } 2>/dev/null ; "$@" ) ;
qpdf="qpdf.ai" # AppImage version "installed" to get latest release from https://github.com/qpdf/qpdf/releases/
qpdf="qpdf" # apt-installed version
command -v "$qpdf" > /dev/null || die "$qpdf needs to be installed"
do1file() (
fullname="$1" ; shift
test -f "$fullname" || die "not a file: $fullname"
dirname="$(dirname -- "${fullname}")" # ; echo "dirname $dirname"
filename="$(basename -- "${fullname}")" # ; echo "filename $filename"
extension="${filename##*.}" # ; echo "extension $extension"
basename="${filename%.*}" # ; echo "basename $basename"
# logical parameters:
outfnm="$dirname/${basename}_cut.pdf"
echo "fullname=$fullname"
echo "outfnm=$outfnm"
see "$qpdf" "$fullname" --pages . "$@" -- "$outfnm" || die "$qpdf [$outfnm] failed"
)
do1file "$@"