Linux: Merge PDFs with page numbers
1 min readJul 10, 2019
Tested on Ubuntu and all the distributions where pdftk and enscript is available (should be almost everywhere).
You need:
$ sudo apt install pdftk # for merging
$ sudo apt install enscript # for numbering
to create the script:
$ cat merge.sh#!/usr/bin/env bashpdftk "$@" output unnumbered.pdf #1number_of_pages=$(pdftk unnumbered.pdf dump_data | grep NumberOfPages | sed 's/NumberOfPages: //g') #2enscript -L1 -b'||Page $% of $=' -o- < \
<(for i in $(seq 1 $number_of_pages); do echo; done) | \
ps2pdf - | \
pdftk 'unnumbered.pdf' multistamp - output merged.pdf #3rm unnumbered.pdf
It passes all arguments to “pdftk” (#1), which merges it into a new file (). “enscripten” creates a a PDF with the page-numbering and the same amount of pages (#2) and “pdftk” merges the created PDF and the numbered one (#3).
To make it executable from everywhere, do
$ sudo mv merge.sh /usr/bin/merge_pdfs
Now, you can merge some PDFs:
$ merge_pdfs 1.pdf 2.pdf 3.pdf
Or all PDFs in the directory (listed in the order ‘ls’ do):
$ merge_pdfs *.pdf
All of this creates a ‘merged.pdf’