28 lines
1.1 KiB
Bash
Executable File
28 lines
1.1 KiB
Bash
Executable File
#!/bin/sh -e
|
|
test "$1" = "-q" && quiet=$1 && shift
|
|
test ! -r "$1" && echo "Usage: sign <document.pdf> [hoffset [voffset [scale [signature-image]]]]" && exit 1
|
|
|
|
signature=$(pass info/signature$(test -n "$5" && echo "-$5"))
|
|
|
|
# TODO make filenames unique and don't rerun unneccessarily
|
|
tmp_base=/tmp/sign
|
|
mkdir -p $tmp_base
|
|
tmp_signed=$tmp_base/$1_last-signature.pdf
|
|
tmp_reversed=$tmp_base/$1_reverse.pdf
|
|
sig=$tmp_base/signature_offset.pdf
|
|
result="${1%.pdf}_${5:-signed}.pdf"
|
|
|
|
pdfjam $quiet "$signature" --outfile "$sig" --papersize "{595pt, 842pt}" --noautoscale true \
|
|
--offset "${2:--160}pt ${3:--310}pt" --scale "${4:-1}"
|
|
pdfjam $quiet "$1" last "$sig" --outfile "$tmp_signed" --delta "0 -842pt" --nup "1x2" --fitpaper true
|
|
|
|
timg "$tmp_signed"
|
|
|
|
# https://apple.stackexchange.com/questions/198854/shell-command-to-count-pages-in-a-pdf-other-than-pdftk
|
|
if test "$(pdftk "$1" dump_data | grep Pages | cut -d' ' -f2)" -gt 1
|
|
then
|
|
pdfjam $quiet "$1" last-1 --outfile "$tmp_reversed"
|
|
pdfjam $quiet "$tmp_reversed" last-2 "$tmp_signed" --outfile "$result"
|
|
else cp "$tmp_signed" "$result"
|
|
fi
|