How do I duplicate pages within PDF files automatically?
Solution for Windows using PDFtk (which you seem to be using as per your tags):
This will result in a PDF with pages 1-end followed by 1-end again:
pdftk in.pdf cat 1-end 1-end output out.pdf
If you want each page to be duplicated together (as in 1,1,2,2,...), use the following batch file:
@echo off
set pages=
setlocal enabledelayedexpansion
for /f "tokens=2" %%a in ('pdftk in.pdf dump_data ^| find /i "NumberOfPages"') do for /l %%b in (1,1,%%a) do set pages=!pages! %%b %%b
pdftk in.pdf cat!pages! output out.pdf
I might give you a better solution if you answer the questions in my comment but for the sake of your wife, here are couple of suggestions.
ImageMagick is a cross-platform command line tool for image manipulation. Once you install it, you should be able to use its convert
tool to do what you want. The details depend on your operating system. I am assuming you want two copies of the entire file, not each page doubled.
Linux/OSX/Unix etc
for n in *pdf; do convert -density 150 "$n" "$n" "$n"; done
This will overwrite the existing files, you may want to backup first.
Windows. This may well be slightly wrong, I don't use Windows so I cannot test it but the general idea should be something like this
for %f in (*.pdf) do (convert.exe %f %f %f)
If you want each page to be duplicated together (as in 1,1,2,2,...) on Linux, this script will do it:
#!/bin/bash
INPUTFILE=$*
PAGENUM=`pdftk ${INPUTFILE} dump_data | grep NumberOfPages | cut -d : -f 2 | cut -d " " -f 2`
PAGES=`seq 1 ${PAGENUM}`
DUPAGES=`for i in ${PAGES} ; do echo $i $i | tr "\n" " " ; done`
OUTPUT=`basename ${INPUTFILE} .pdf`.dup.pdf
pdftk ${INPUTFILE} cat ${DUPAGES} output ${OUTPUT}