Linux: Merge PDFs with page numbers

Thomas Deniffel
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 #3
rm 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’

--

--

Thomas Deniffel

Programmer, CTO at Skytala GmbH, Software Craftsman, DDD, Passion for Technology