You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
603 B
Bash

#!/bin/bash
# join pdfs and insert an empty (one-page) pdf for pdfs with an odd page number
# create an empty (one-page) pdf
emptypdf="$(mktemp -u /tmp/pdfjoin-aligned-XXXXXX).pdf"
echo -ne "0 0 moveto\n() show\n" | ps2pdf - "$emptypdf"
# go through pdfs
declare -a pdfs
for pdf in "$@"; do
pdfs+=("$pdf")
# is it odd or not?
pages=$(pdfinfo "$pdf" | awk '{ if (/^Pages:/) { print $2 } }')
odd=$(($pages % 2))
if [ "$odd" = "1" ]; then
pdfs+=("$emptypdf")
fi
done
# join!
out="$(mktemp -u /tmp/joined-XXXXXX).pdf"
pdfjoin --outfile "$out" "${pdfs[@]}"
# cleanup
rm -f "$emptypdf"