If you need to join/merge multiple PDF files into a single one, there are
different options available. I tested three different commands using 9 input
files with about 8-10 pages each.
pdfunite
If Poppler is installed on your system, you should have the pdfunite
command available:
pdfunite input1.pdf input2.pdf input3.pdf output.pdf
It is very fast but has no configuration options and internal hyperlinks in the
resulting output are broken.
pdfjam
If you've installed a LaTeX distribution and the pdfpages package, there's also
a pdfjam command.
pdfjam input1.pdf input2.pdf input3.pdf -o output.pdf
In contrast to pdfunite, it has tons of configuration options. You can see them
by issueing pdfjam --help. For example you can change the page size, inject
a custom LaTeX preamble and more.
There area also some additional useful commands:
- pdf90, pdf180, pdf27 rotate the pages of one or more PDF files.
- pdfflip reflects the pages of one or more PDF files.
- pdfjam-slides6up, pdfjam-slides3up convert PDF presentation slides to six-per-page or three-per-page for handout purposes.
It's a bit slower than pdfunite and all hyperlinks are gone in the resulting
output.
pdftk
The pdftk command comes together with Ghostscript and should be available
on most Linux systems.
pdftk input1.pdf input2.pdf input3.pdf cat output output.pdf
It also features tons of options (see pdftk --help). It is a bit slower than
pdfunite, but still very fast. In contrast to the other commands, hyperlinks
are preserved and work fine.
Comparison
pdfunite | pdfjam | pdftk | |
Configuration | No configuration options. | Lots of options. See pdfjam --help. | Lots of options. See pdftk --help. |
Speed | 0.200s | 1.297s | 0.293s |
File Size | 718 KiB | 743 KiB | 774 KiB |
Hyperlinks | Internal hyperlinks broken | Gone | OK |
Page Format | Original format is preserved. | All pages are converted to the same format. | Original format is preserved. |
Conclusion
Given the comparison table above, I'd usually go for pdftk. The command is
harder to memorize and generates the largest files, but it is very fast and
preserves both original file format and hyperlinks.
For the cases where I need additional features like header injection, page
numbering, presentation handouts and more, I'll use pdfjam.