I have a PDF file that needs a blank page inserted into it every so often. The pattern is unpredictable, so I need a command that will allow me to fit one in wherever necessary.
How can i do this?
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
pdftk A=src.pdf B=blank.pdf cat A1 B1 A2-end output res.pdf
Hope you like this script, just save it as
pdfInsertBlankPageAt.sh, add execute permissions, and run.
./pdfInsertBlankPageAt 5 src.pdf res.pdf
#!/bin/bash if [ $# -ne 3 ] then echo "Usage example: ./pdfInsertBlankPageAt 5 src.pdf res.pdf" exit $E_BADARGS else pdftk A=$2 B=blank.pdf cat A1-$(($1-1)) B1 A$1-end output $3 fi
cat A1 B1 A2-end means that the output file will contain the first page of document A (
src.pdf) followed by the first page of document B (
blank.pdf) followed by the rest (pages 2 to end) of document B. This operation is called concatenation, Linux
cat is very often used to display text, but it is interesting when used with more than one argument.
blank.pdf, see How do I create a blank PDF from the command line?
For anyone just looking to add a single blank page to the end of a PDF, I used the already linked question How do I create a blank PDF from the command line? to create a
blank.pdf file and merge it with my existing pdf using
pdfunite input.pdf blank.pdf output.pdf