PDF (Portable Document Format) is a file format invented by Adobe. PDF is useful to present documents independent of hardware, operating system and application software. Each PDF file has a fixed layout, including page size, fonts, graphics and other information. It is also possible to encrypt a PDF file for security, or create a digital signature for authentication.
PDF documents are created from traditional text documents via a printer driver, or as with LaTeX, created directly from source-code. One important consequence is that one cannot convert a PDF-document “back” into it's original format such as a Microsoft Word document.
This article describes how you can merge several PDF documents into a single PDF document. For example, this is useful if you have several pages from a scanner in PDF format and want to put these files into one file. There are several tools available; some are included in the stock Slackware install as well as others that can be readily installed.
Tools which are already available on your Slackware computer if you have a complete installation.
The convert tool comes in Slackware's imagemagick package from the xap-series.
The convert tool uses the -adjoin option to achieve this.
convert -adjoin file1.pdf file2.pdf merged.pdf
Thanks to jlinkels for the contribution.
To increase the quality of the output, it is better to read the input PDF files with a higher density (in dots per inch (DPI)) and then resize the output density back to common DPI, 96 for example. I usually use an input density of 600 (after many trial and errors), and then resize with 93.75% (if you dont resize you will get a huge output file).
convert -density 600 fileinput_1.pdf fileinput2_.pdf -resize 93.75% output.pdf
Thanks to eXpander_ for the contribution.
The ghostscript package resides in Slackware's ap-series.
With GhostScript you can merge PDF files on the command line.
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=<newfilename>.pdf <inputfilenameshere>
Thanks to mrclisdue for the contribution.
The pdfconcat tool comes in Slackware's xpaint package from the xap-series.
pdfconcat -o <output.pdf> <input1.pdf> [...]
Thanks to BroX for the contribution.
The pdfunite tool comes in Slackware's poppler package from the l-series.
pdfunite [options] PDF-sourcefile1..PDF-sourcefilen PDF-destfile
Thanks to nivieru for the contribution.
Additional tools that can be easily installed.
pdftk is available at slackbuilds.org. It is also a command line tool and the usage is:
pdftk first.pdf second.pdf third.pdf cat output altogether.pdf
pdftk can do more things than joining PDF files, for example rotating a document by 180 degrees is done this way:
pdftk upsidedown.pdf cat 1-endsouth output rotated.pdf
Thanks to brianL and michaelk for pointing me to pdftk.
pdfshuffler is also available at slackbuilds.org. It comes with a graphical user interface and is written in Python, therefore pyPdf and pypoppler are required in order to get this program to work. It is very convenient because it comes with a document-viewer and shows what you're doing. It has additional features like rotating or splitting PDF files.
pdfjam is a LaTeX-package which is unfortunately not included in tetex. But those of us who have installed texlive instead already have pdfjam. It is also a command line tool (like LaTeX). The documentation is available with the texdoc command
texdoc pdfjam
Thanks to joghi for pointing me to pdfjam.