2021-12-18 17:30:00 +00:00
|
|
|
.. _overview:
|
2021-12-18 14:01:52 +00:00
|
|
|
|
2024-06-09 12:07:29 +00:00
|
|
|
What is qpdf?
|
2021-12-18 14:01:52 +00:00
|
|
|
=============
|
|
|
|
|
2024-06-09 12:07:29 +00:00
|
|
|
qpdf is a program and C++ library for structural, content-preserving
|
|
|
|
transformations on PDF files. qpdf's website is located at
|
|
|
|
https://qpdf.sourceforge.io/. qpdf's source code is hosted on github
|
2021-12-20 22:16:39 +00:00
|
|
|
at https://github.com/qpdf/qpdf. You can find the latest version of
|
|
|
|
this documentation at https://qpdf.readthedocs.io/.
|
2021-12-18 14:01:52 +00:00
|
|
|
|
2024-06-09 12:07:29 +00:00
|
|
|
qpdf provides many useful capabilities to developers of PDF-producing
|
2021-12-18 14:01:52 +00:00
|
|
|
software or for people who just want to look at the innards of a PDF
|
2024-06-09 12:07:29 +00:00
|
|
|
file to learn more about how they work. With qpdf, it is possible to
|
2021-12-18 14:01:52 +00:00
|
|
|
copy objects from one PDF file into another and to manipulate the list
|
|
|
|
of pages in a PDF file. This makes it possible to merge and split PDF
|
2024-06-09 12:07:29 +00:00
|
|
|
files. The qpdf library also makes it possible for you to create PDF
|
2021-12-18 14:01:52 +00:00
|
|
|
files from scratch. In this mode, you are responsible for supplying
|
2024-06-09 12:07:29 +00:00
|
|
|
all the contents of the file, while the qpdf library takes care of all
|
2021-12-18 14:01:52 +00:00
|
|
|
the syntactical representation of the objects, creation of cross
|
|
|
|
references tables and, if you use them, object streams, encryption,
|
|
|
|
linearization, and other syntactic details. You are still responsible
|
|
|
|
for generating PDF content on your own.
|
|
|
|
|
2024-06-09 12:07:29 +00:00
|
|
|
qpdf has been designed with very few external dependencies, and it is
|
|
|
|
intentionally very lightweight. qpdf is *not* a PDF content creation
|
2021-12-18 14:01:52 +00:00
|
|
|
library, a PDF viewer, or a program capable of converting PDF into other
|
2024-06-09 12:07:29 +00:00
|
|
|
formats. In particular, qpdf knows nothing about the semantics of PDF
|
2021-12-18 14:01:52 +00:00
|
|
|
content streams. If you are looking for something that can do that, you
|
2024-06-09 12:07:29 +00:00
|
|
|
should look elsewhere. However, once you have a valid PDF file, qpdf can
|
2021-12-18 14:01:52 +00:00
|
|
|
be used to transform that file in ways that perhaps your original PDF
|
|
|
|
creation tool can't handle. For example, many programs generate simple PDF
|
|
|
|
files but can't password-protect them, web-optimize them, or perform
|
|
|
|
other transformations of that type.
|
2021-12-19 22:35:15 +00:00
|
|
|
|
|
|
|
This documentation aims to be comprehensive, but there is also a `wiki
|
|
|
|
<https://github.com/qpdf/qpdf/wiki>`__ for less polished material and
|
|
|
|
ongoing work.
|