PDF Handling

Adobe Acroread

If the GUI does not react, or not as you want, click into the open page!

pdftk

"The Swiss Army knife for PDF handling". Just two examples

Extract pages 4-5 from file A.pdf:
pdftk A.pdf cat 4-5 output B.pdf

Join A.pdf and B.pdf into C.pdf:
pdftk A.pdf B.pdf output C.pdf

Graphical interface to pdftk: pdfchain

Clean up metadata in a PDF file: first extract them:
pdftk A.pdf dump_data output meta
then edit file meta according to your wishes, then
pdftk A.pdf update_info meta output A_updated.pdf

ps/pdf to eps / pdf with bounding box

Task: make a tight bounding box (this is very useful for including the PDF into a LaTeX document) and keep/make the file small (well compressed). Solution:

epspdf -b file.ps file.pdf (-b makes the BB; operates on pdf files as well)

If you need a ps file, you can add:
pdf2ps file.pdf file.eps

pdfcrop file.pdf <outputfile.pdf>
If no outputfile is given, the output is written to file-crop.pdf. It is possible to use file.pdf also as output, then it is cropped in place. There are some useful parameters, especially -margins N, where N is the margin to be added in units of bp (ca. 0.37 mm).

pdfjam

comes with TeX Live, see http://www.ctan.org/pkg/pdfjam. Documentation. Most userful: pdfbook, pdfnup

Example for rearranging a presentation with 2 slides (landscape) on 1 portrait page: pdfnup --nup 1x2 --no-landscape presentation.pdf
To make a booklet: pdfbook --signature N input.pdf

PDFBox

The Apache PDFBox\u2122 library is an open source Java tool for working with PDF documents. This project allows creation of new PDF documents, manipulation of existing documents and the ability to extract content from documents. Apache PDFBox also includes several command line utilities. more

pdfinfo

Without option, gives some simple information. With -meta, it writes out all metadata in xml format, including metadata provided for PDF/A compliance.

PDF/A and PDF/X

To produce PDF/A or PDF/X files with LaTeX, use the pdfx package. See package documentation for details. Note specifically that you need to provide a xmpi file either directly or by putting some code a the very top of your source file to specify the metadata. It may be necessary to either copy/link the color profile files to your working directory, or to set the path to these file \pdfxSetRGBcolorProfileDir{\u27e8path to RGB color profiles\u27e9} or \pdfxSetCMYKcolorProfileDir{\u27e8path to CMYK profiles\u27e9} (use locate to find the location of the *.icc files).