qpdf — утилита командной строки и библиотека на языке C++ для работы с PDF-документами, ориентированная на структурные преобразования и сохранение содержимого файлов без повторной отрисовки страниц. Проект предоставляет инструменты для анализирования внутренней структуры PDF, изменения потоков объектов, перестройки кросс-ссылок и прямого манипулирования шифрованием, линейализацией (оптимизацией для быстрых веб-загрузок), а также для операций слияния и разбиения файлов. Архитектура рассчитана на сохранение исходного содержимого потоков и объектов там, где это возможно, чтобы минимизировать изменения и избежать потери качества.
Разработка и поддержка qpdf ориентированы на сценарии, где требуется контролируемая автоматизация обработки PDF из командной строки или встраивание функциональности в приложения через библиотечное API. qpdf часто используется для инспекции структуры PDF, преобразования старых или повреждённых файлов в корректные документы, удаления или изменения шифрования, а также для подготовки документов к дальнейшей автоматической обработке. Проект имеет открытый исходный код и активно применяется в системах автоматической подготовки и доставки документов.
- Командная строка — мощный набор опций для выполнения преобразований без графического интерфейса.
 - Библиотека C++ — API для интеграции функциональности в собственные приложения.
 - Линейализация (Fast Web View) — перестройка файла для постраничной загрузки в вебе.
 - Шифрование и дешифрование — поддержка изменения/удаления паролей и управления разрешениями.
 - Слияние и разделение — комбинирование нескольких PDF и извлечение страниц без потери содержимого.
 - Инспекция структуры — просмотр и анализ объектов, потоков и кросс‑ссылок PDF-файла.
 - Поддержка PDF-структур — работа с объектами, потоками, шрифтовыми ссылками и объектными графами.
 - Ремонт и нормализация — исправление некоторых типов повреждений и приведение файлов к совместимому формату.
 - Минимальное изменение содержимого — при операциях сохраняется исходная кодировка потоков и ресурсов, когда это возможно.
 - Автоматизация — пригоден для скриптов и серверных процессов по обработке больших объёмов документов.