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.

  1. 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.

  2. 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}