QPDF is a command-line program that does structural, content-preserving transformations on PDF files. It could have been called something like pdf-to-pdf. It also provides many useful capabilities to developers of PDF-producing software or for people who just want to look at the innards of a PDF file to learn more about how they work.
QPDF is capable of creating linearized (also known as web-optimized) files and encrypted files. It is also capable of converting PDF files with object streams (also known as compressed objects) to files with no compressed objects or to generate object streams from files that don't have them (or even those that already do). QPDF also supports a special mode designed to allow you to edit the content of PDF files in a text editor. For more details, please see the documentation links below.
QPDF includes support for merging and splitting PDFs through the ability to copy objects from one PDF file into another and to manipulate the list of pages in a PDF file. The QPDF library also makes it possible for you to create PDF files from scratch. In this mode, you are responsible for supplying all the contents of the file, while the QPDF library takes care off all the syntactical representation of the objects, creation of cross references tables and, if you use them, object streams, encryption, linearization, and other syntactic details.
QPDF is not a PDF content creation library, a PDF viewer, or a program capable of converting PDF into other formats. In particular, QPDF knows nothing about the semantics of PDF content streams. If you are looking for something that can do that, you should look elsewhere. However, once you have a valid PDF file, QPDF can be used to transform that file in ways perhaps your original PDF creation can't handle. For example, programs generate simple PDF files but can't password-protect them, web-optimize them, or perform other transformations of that type.
QPDF releases are hosted at its SourceForge project page, but the source code and issues are on github. On SourceForge, you can find downloads. To report bugs, open an issue on github.
QPDF is released under the terms of Version 2.0 of the Artistic License.
Version 6.0.0 was released on November 10, 2015. It can be downloaded from the download area of the SourceForge project.
Documentation is included in source and binary distributions available in the download area. You can also read it here in several formats:
Please see the download area in the SourceForge project.
Debian users may find the qpdf package in debian.
There is a pkgsrc package for qpdf for users of pkgsrc.
The qpdf package is also part of other Linux distributions. If you have made a package for qpdf for some distribution or packaging system, let me know by email at ejb [at] ql [dot] org, and I'll add a link here.