Обзор Xpdf Tools: девять утилит для текста, изображений, HTML, PostScript и анализа PDF
Xpdf Tools — не графический PDF-ридер, а компактный набор консольных программ Glyph & Cog для автоматизированной обработки PDF. Он особенно полезен там, где документ нужно не «открыть в окне», а разобрать в скрипте: получить текст, отрисовать страницы в PNG, извлечь встроенные изображения и вложения, проверить шрифты и свойства файла либо преобразовать PDF в HTML или PostScript. По состоянию на 11 сентября 2026 года актуальной публично распространяемой веткой остаётся 4.06; при этом для неё опубликована CVE-2026-4407, поэтому применение к недоверенным входным файлам требует отдельной дисциплины безопасности.
| Параметр | Актуальное состояние |
|---|---|
| Разработчик | Glyph & Cog, LLC; проект Xpdf связан с Дереком Нунбургом |
| Тип | Набор из девяти утилит командной строки для PDF |
| Версия | 4.06, опубликована в ноябре 2025 года |
| Основные платформы | Windows, macOS, Linux; состав пакетов дистрибутивов может отличаться |
| Входной формат | |
| Основные результаты | TXT, HTML, PostScript/EPS, PNG, PPM/PGM/PBM/PAM, извлечённые изображения и вложения, диагностический текст |
| Лицензия | GPL v2-only или GPL v3-only; для некоторых сценариев встраивания доступно коммерческое лицензирование исходного кода |
| Аккаунт и облако | Для работы утилит не требуются; обработка выполняется с локальными файлами или потоками |
| Графический интерфейс | Нет; XpdfReader/Xpdf viewer — отдельная часть семейства Xpdf |
Скачать Xpdf Tools
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
Получать Xpdf Tools безопаснее со страницы загрузок Xpdf у разработчика, выбирая именно command-line tools, а не XpdfReader, XpdfWidget или исходный архив полного проекта. Для Windows пакет 4.06 называется xpdf-tools-win-4.06.zip и содержит каталоги bin64 и bin32 с девятью исполняемыми файлами. Отдельные архивы этой ветки доступны для macOS и Linux.
Windows-версия портативная: мастер установки не нужен. Публичный индекс Scoop для 4.06 указывает SHA-256 архива 2b6ca45da794e7854a6468fd6c8063fde62701f001ce03fa4f603eab7e15a0b6. На macOS пакет Xpdf также доступен через Homebrew; его stable-формула на 11 сентября 2026 года остаётся 4.06 и включает все девять команд. Homebrew предупреждает о конфликтах имён с Poppler, поэтому после установки стоит сверять путь команды и вывод -v.
На Linux состав системных пакетов различается: знакомые pdftotext, pdfinfo или pdfimages нередко принадлежат Poppler. Если требуется именно реализация Glyph & Cog, проверяйте источник пакета и версию каждого бинарника, а не только имя команды.
Версию 4.06 подтверждает и исходный архив xpdf-4.06.tar.gz, датированный 13–14 ноября 2025 года: в нём лежат отдельные man-страницы для всех девяти утилит и общий xpdfrc. Это полезная контрольная точка, если бинарный пакет получен через менеджер пакетов: номер команды -v и документация должны соответствовать ожидаемой ветке, а не случайно найденному совместимому исполняемому файлу.
Что такое Xpdf Tools
Xpdf Tools — командная часть проекта Xpdf от Glyph & Cog, LLC. В наборе 4.06 девять программ: pdftotext, pdftohtml, pdftops, pdftopng, pdftoppm, pdfimages, pdfinfo, pdffonts и pdfdetach. Они используют общий движок PDF и файл конфигурации xpdfrc, но запускаются независимо и предназначены для терминала, пакетных заданий и скриптов.
Это не XpdfReader/Xpdf viewer с интерфейсом Qt и не XpdfWidget SDK. Также Xpdf Tools нельзя отождествлять с Poppler: Poppler исторически вырос из Xpdf 3.0, поэтому сохранил ряд тех же имён команд, но сегодня это отдельный проект. Исходный архив Xpdf 4.06 датирован ноябрём 2025 года, а публичные пакетные индексы в сентябре 2026-го всё ещё считают 4.06 актуальной стабильной веткой.
Основные функции Xpdf Tools
Извлечение текста: pdftotext
pdftotext преобразует PDF в обычный текст. Ключи -f и -l ограничивают диапазон страниц; -layout старается сохранить физическое размещение текста, а simple, simple2 и table дают альтернативные стратегии разбиения. Дополнительно можно управлять переводами строк, разрывами страниц, областью извлечения и кодировкой через параметры команды и xpdfrc. Это удобно в автоматизации, но не является OCR: скан без текстового слоя либо документ с неразбираемой кодировкой шрифта потребует распознавания во внешнем инструменте, например ABBYY FineReader.
Режим layout полезен, когда столбцы и отступы важны человеку, но он не превращает PDF в структурированную таблицу. Режим table меняет логику поиска текстовых областей и может лучше работать на страницах с табличной сеткой. Для машинного импорта результат всё равно нужно валидировать: PDF хранит команды рисования, а не обязан содержать логический порядок абзацев.
PDF в HTML: pdftohtml
pdftohtml создаёт выходной каталог с HTML-файлом для каждой страницы и вспомогательными изображениями. В 4.06 по умолчанию формируется index.html с навигацией; -noframe даёт простой индекс, -f/-l задают страницы, -table меняет алгоритм извлечения текста для табличного макета. Существующий каталог по умолчанию вызывает ошибку; осознанное перезаписывание разрешается ключом -overwrite. Полученный HTML воспроизводит PDF, но не гарантирует чистую семантическую веб-вёрстку.
Растеризация: pdftopng и pdftoppm
pdftopng пишет отдельный PNG для каждой страницы и поддерживает диапазон, поворот, монохромный/серый режим, альфа-канал и сглаживание. Разрешение по умолчанию — 150 DPI. pdftoppm работает сходно, но выводит PPM, PGM, PBM либо CMYK PAM. PNG практичнее для предпросмотра, а семейство Netpbm удобно как технический промежуточный формат.
Извлечение изображений: pdfimages
pdfimages извлекает встроенные растровые объекты в PPM, PGM, PBM или JPEG. -list показывает страницу, размеры, эффективное DPI, цветовое пространство и BPC; -listonly делает аудит без записи изображений. Важное ограничение: извлекаются сырые данные без поворота, clipping, инверсии и других преобразований, заданных потоком страницы.
Сведения о документе и шрифтах
pdfinfo выводит метаданные, число страниц, тип формы, наличие тегов, шифрование и разрешения, размер и поворот страницы, размер файла, linearization, JavaScript и версию PDF. pdffonts перечисляет шрифты и признаки embedding, subset и ToUnicode. В паре они полезны как предварительная диагностика перед извлечением текста или конвертацией.
Это диагностические, а не исправляющие команды. Например, отметка о JavaScript сообщает о наличии соответствующего содержимого, но не анализирует его безопасность; отсутствие ToUnicode у шрифта помогает объяснить плохое извлечение, но pdffonts не создаёт таблицу соответствий. Такая специализация делает выводы прозрачными: сначала измерить свойства, затем выбирать отдельный инструмент для изменения документа.
Вложения и PostScript
pdfdetach перечисляет и сохраняет встроенные вложения — одно либо все. Он не проверяет извлечённый файл на вредоносность. pdftops преобразует PDF в PostScript, поддерживает диапазон страниц, уровни PostScript и EPS для одной страницы; результат можно направлять в stdout. Это прежде всего инструмент для печатных и Unix-конвейеров, а не редактор PDF.
Интерфейс и удобство использования
У Xpdf Tools нет окон, меню и панелей: рабочая среда — терминал или вызывающий процесс. Это ускоряет повторяемые операции и делает команды удобными для shell, PowerShell, cron и CI, но требует точного синтаксиса и понимания путей. -h показывает справку, -v — реализацию и версию, что особенно важно при соседстве с Poppler.
Типовая схема кодов завершения единообразна: 0 — успех, 1 — ошибка открытия PDF, 2 — ошибка выходного файла, 3 — проблема PDF permissions, 98 — нехватка памяти, 99 — прочая ошибка. Большинство команд читает xpdfrc и поддерживает параметры пароля. На практике удобство заметно растёт, если сценарий заранее задаёт каталог вывода, проверяет return code и не перезаписывает оригинал.
Поддерживаемые форматы и совместимость
Общий входной формат девяти утилит — PDF. Это не универсальный конвертер DOCX, EPUB или DjVu. Результат зависит от команды: TXT; HTML и изображения; PNG; PPM/PGM/PBM/PAM; извлечённые JPEG и другие растры; PostScript/EPS; вложения либо диагностический текст.
| Команда | Результат | Главное ограничение |
|---|---|---|
| pdftotext | Текст | Нет OCR |
| pdftohtml | HTML-каталог | Не гарантирует семантический макет |
| pdftopng | PNG | Растр теряет структуру PDF |
| pdftoppm | PPM/PGM/PBM/PAM | Технические растровые форматы |
| pdfimages | Встроенные изображения | Без трансформаций страницы |
| pdfinfo/pdffonts | Диагностический текст | Не исправляют документ |
| pdfdetach | Вложения | Не проверяет их безопасность |
| pdftops | PS/EPS | Необратимое преобразование |
CLI-компоненты рассчитаны на Windows, macOS и Linux и, в отличие от графического Xpdf, не требуют Qt. Интеграция строится через аргументы, файлы, stdout и коды завершения; аккаунт и облачный сервис для операций не нужны. На Unix-подобных системах необходимо учитывать совпадение имён с Poppler.
Совместимость результатов тоже различается по типу вывода. TXT проще переносить между системами, но он теряет графику; PNG сохраняет визуальный рендер, но не структуру; HTML создаёт комплект взаимосвязанных файлов; PostScript ориентирован на печатный тракт. Поэтому «конвертация PDF» в Xpdf Tools — не одна универсальная операция, а выбор представления под дальнейший этап конвейера.
Производительность и стабильность
Официальных универсальных бенчмарков, лимита размера PDF или фиксированного требования к RAM для Xpdf Tools нет. Нагрузка определяется операцией: чтение метаданных обычно проще полной растеризации, а у pdftopng/pdftoppm расход ресурсов растёт вместе с числом страниц и DPI. Значение по умолчанию — 150 DPI; -f/-l позволяют обрабатывать только нужный диапазон. Ряд команд умеет писать в stdout, что удобно для конвейеров.
Для больших PDF разумна двухфазная схема: сначала дешёвая диагностика pdfinfo/pdffonts, затем только требуемая операция и диапазон. Если нужно извлечь оригинальную фотографию, pdfimages избавляет от рендеринга целой страницы, но выдаёт ресурс без page-level трансформаций; если важен именно вид страницы, нужен pdftopng/pdftoppm. Такое разделение обычно важнее попытки подобрать один «быстрый» ключ для всех файлов.
Предсказуемые ошибки
Код 98 обозначает нехватку памяти; в таком случае разумно уменьшить диапазон или DPI. Для текста отдельный класс проблем связан с устройством PDF: сканы и повреждённые шрифтовые карты не исправляются увеличением ресурсов. Коды 1, 2 и 3 позволяют отдельно обработать ошибку входного файла, вывода и разрешений.
Безопасность версии 4.06
CVE-2026-4407 описывает out-of-bounds array write при обработке поля N в ICCBased color space и помечает Xpdf 4.06 как затронутый. Запись опубликована 18 марта 2026 года; CNA Glyph & Cog оценивает её по CVSS 4.0 в 2,1 (Low). На 11 сентября 2026 года публично индексируемая upstream-версия всё ещё 4.06, поэтому нельзя считать проблему устранённой только из-за повторной загрузки архива. Для неизвестных PDF нужны минимальные права, изоляция и проверка патчей конкретного дистрибутива.
Лицензирование и версии
Xpdf лицензируется по GNU GPL v2-only или GPL v3-only; формула «или любая более поздняя версия» проектом не используется. У командного набора нет подписки, аккаунта, пробного режима, лимита страниц или платной разблокировки функций. Текущая публичная ветка — 4.06.
При распространении и встраивании правила GPL важнее, чем при обычном локальном запуске. README Xpdf указывает, что производные могут распространяться по GPL v2 и/или v3, а для включения исходного кода в распространяемый закрытый продукт предусмотрена коммерческая лицензия Xpdf source. Фиксированная публичная цена в проверенных материалах не заявлена, поэтому условия такого внедрения нужно уточнять у правообладателя и, при необходимости, у юриста.
Системные требования
Для командных утилит не опубликована универсальная таблица минимальных CPU, RAM и диска. Подтверждены Windows, macOS и Linux; не-GUI инструменты не требуют Qt. Реальное потребление памяти зависит от PDF, числа страниц и параметров растеризации.
Windows
Архив 4.06 содержит bin64 и bin32 и работает без установщика. Надёжно подтверждённого upstream-минимума по конкретной старой версии Windows для текущего tools-архива нет, поэтому обещать совместимость с устаревшей ОС только по данным сторонних каталогов не следует.
macOS
Homebrew stable 4.06 имеет готовые bottles для актуальных macOS на Apple Silicon и для Sonoma на Intel. Полная формула Xpdf подтягивает Qt для GUI, хотя сами девять CLI-команд от Qt не зависят.
Linux
Доступны Linux-сборка и исходный код; системные пакеты могут отличаться составом. При самостоятельной сборке нужен C++ toolchain, а современная Homebrew-формула использует CMake. Из-за Poppler всегда проверяйте путь и -v.
Преимущества и недостатки Xpdf Tools
Плюсы и минусы
• Набор узких команд вместо монолита. Текст, изображения, метаданные, шрифты, вложения и PostScript обрабатываются отдельными инструментами, которые легко комбинировать.
• Автоматизация без GUI. Параметры, stdout и коды возврата подходят для скриптов, серверных задач и повторяемых конвейеров.
• Локальная обработка. Для выполнения основных операций не нужен аккаунт или облачный сервис; файл остаётся в локальном рабочем процессе.
• Кроссплатформенность. Командные компоненты рассчитаны на Windows, macOS и Linux, а исходный код допускает сборку и на других совместимых системах.
• Хорошая диагностика перед конвертацией. pdfinfo, pdffonts и pdfimages -listonly позволяют сначала понять структуру PDF и только затем выполнять тяжёлую операцию.
• GPL без функциональной урезки. У бесплатного набора нет водяных знаков, лимита страниц или блокировки команд по подписке.
Минусы
• Нет графического интерфейса. Пользователю, которому надо читать, комментировать или визуально редактировать PDF, понадобится другое приложение.
• Нет OCR. Отсканированный PDF без текстового слоя нельзя превратить в нормальный текст одной командой pdftotext.
• Ограниченный круг преобразований. Набор не предназначен для создания PDF из офисных файлов, редактирования текста на странице, подписания, объединения и перестановки страниц.
• Конфликты имён с Poppler. Одноимённые команды могут находиться в PATH раньше Xpdf, из-за чего сценарий фактически запустит другой проект.
• Текущая 4.06 затронута CVE-2026-4407. Это особенно важно для автоматической обработки неизвестных входящих PDF.
• Часть результатов необратима. TXT, растры и извлечённые ресурсы не содержат всех структурных свойств исходного PDF и не позволяют восстановить его байт-в-байт.
Карта критических зависимостей
| Зависимость | Нужна ли | Практическое значение |
|---|---|---|
| Аккаунт Xpdf | Нет | Команды запускаются локально; регистрация не является условием конвертации |
| Интернет | Для загрузки и обновления | После получения программы локальные операции не требуют веб-сервиса |
| Облако | Нет | Документация оперирует файлами, каталогами и stdout, а не загрузкой на сервер |
| Qt | Не для CLI | Нужен графическому Xpdf; девять командных утилит отделены от GUI |
| xpdfrc | Опционально | Единый файл задаёт шрифты, кодировки и другие повторяемые параметры |
| Корректная текстовая карта PDF | Для качественного извлечения текста | При повреждённых кодировках помогает только OCR либо иной источник текста |
| PATH | Не обязателен, но удобен | Ошибочная очередность PATH может подменить Xpdf одноимённой утилитой Poppler |
| GPL-совместимая модель распространения | При производных и распространении | Для закрытого встраивания следует отдельно изучить коммерческую лицензию Xpdf |
| Патчи безопасности | Критично для недоверенных PDF | Версия 4.06 отмечена как затронутая CVE-2026-4407 |
Такая карта объясняет главное преимущество и главный риск набора одновременно. Xpdf Tools мало зависит от внешней инфраструктуры и хорошо переносится в автономные процессы, однако качество результата сильно зависит от внутреннего устройства PDF, а безопасность — от актуальности конкретной сборки. Для корпоративного конвейера стоит фиксировать не только команду, но и происхождение бинарника, его версию и политику обновлений.
Паспорт обратимости операций
| Операция | Исходный PDF меняется | Что сохраняется | Что нельзя восстановить из результата |
|---|---|---|---|
| pdftotext | Нет | Извлечённый текст и частично порядок/раскладка | Точный макет, графика, интерактивность и структура PDF |
| pdftohtml | Нет | Визуальное HTML-представление, текст и вспомогательные изображения | Гарантированный исходный PDF и чистая семантическая разметка |
| pdftopng/pdftoppm | Нет | Внешний вид отрисованной страницы | Выделяемый текст, векторные объекты, ссылки, формы и метаданные |
| pdfimages | Нет | Сырые растровые ресурсы | Повороты, обрезка и иные трансформации, применяемые при рисовании страницы |
| pdfinfo/pdffonts | Нет | Диагностические сведения | Само содержимое документа; команды ничего не исправляют |
| pdfdetach | Нет | Байты встроенных вложений | Контекст размещения или гарантии безопасности вложения |
| pdftops | Нет | Печатное представление в PostScript/EPS | Гарантированный без потерь круговой переход обратно в исходный PDF |
Практический вывод простой: Xpdf Tools в основном читает исходник и пишет новый результат, поэтому самая надёжная стратегия отката — никогда не заменять оригинальный PDF выходным файлом и хранить его неизменяемую копию. Обратимость здесь не означает «Undo»: утилита не ведёт историю проекта. Она означает возможность удалить производные TXT, HTML или изображения и повторить конвертацию с другими параметрами из сохранённого оригинала.
Сравнение с аналогами
| Продукт | Модель | Когда предпочтительнее |
|---|---|---|
| Xpdf Tools 4.06 | Девять CLI-команд | Локальное извлечение, диагностика и скрипты |
| Sumatra PDF 3.6.1 | Windows-просмотрщик | Чтение и навигация по PDF и другим форматам |
| Poppler 26.09.0 | Библиотека и CLI | Linux/Unix-среда с активно обновляемыми poppler-utils |
| MuPDF Core | Движок и mutool | Более широкие преобразования и программируемый mutool run |
| PDF24 Creator 11.30.1 | Бесплатный GUI для Windows | OCR, создание, объединение и визуальные операции |
Место относительно Sumatra PDF
Стабильная Sumatra PDF 3.6.1 — прежде всего лёгкий Windows-ридер, который открывает PDF, EPUB, MOBI, DjVu, XPS, CHM, комиксы и изображения. Xpdf Tools нужен, когда PDF требуется автоматически разобрать без окна. У Sumatra уже развивается sumatrapdf-tool с convert, extract, clean и другими командами, но документация относит этот расширенный CLI к pre-release 3.7, поэтому сравнивать его со стабильной 3.6.1 как с готовым эквивалентом некорректно.
Poppler, MuPDF и GUI-пакеты
Poppler — ближайшая CLI-альтернатива: он вырос из Xpdf 3.0, но давно развивается отдельно; актуальный Poppler 26.09.0 выпущен 3 сентября 2026 года. В его changelog для этой версии есть изменения именно в utils, включая pdftotext и pdftohtml, что показывает независимое развитие одноимённых команд. Если инфраструктура уже основана на poppler-utils, заменять бинарники на Xpdf без регрессионной проверки опасно.
MuPDF Core предлагает mutool для рендеринга, конвертации, извлечения и программируемого доступа, но требует переноса сценариев на другой синтаксис. Если нужны ручное редактирование, OCR и сборка страниц, логичнее PDF24 Creator или PDF-XChange Editor. У Xpdf Tools преимущество появляется там, где операция должна быть короткой, детерминированной и легко вызываемой из скрипта без GUI.
Инструкция по установке
Windows
1. На странице Xpdf выберите command-line tools и архив xpdf-tools-win-4.06.zip, а не XpdfReader или SDK.
2. Распакуйте архив в отдельный каталог и выберите bin64 либо bin32 в соответствии со средой.
3. В терминале выполните pdftotext -v и pdfinfo -h. Если нужен глобальный запуск, добавьте выбранный bin в PATH и снова проверьте -v.
4. При удалении уберите запись из PATH и удалите распакованный каталог; отдельно сохраните xpdfrc, если хотите перенести настройки.
macOS
1. Проверьте, не установлены ли уже одноимённые команды Poppler.
2. Через Homebrew используйте brew install xpdf, затем pdftotext -v. Формула 4.06 содержит CLI и графический xpdf.
3. Удаляйте Homebrew-установку командой brew uninstall xpdf. При использовании прямого tools-архива достаточно убрать его каталог и запись PATH.
Linux
1. Выясните, кому принадлежат pdftotext, pdfinfo и pdfimages, уже находящиеся в PATH.
2. Если нужен Xpdf Glyph & Cog, используйте upstream tools-архив либо пакет, который прямо идентифицирует Xpdf 4.06.
3. Проверьте -v у нескольких команд и зафиксируйте путь/версию в документации скрипта.
Параметры, которые важно настроить сразу
• PATH: не допускайте скрытой подмены командами Poppler.
• xpdfrc: на Linux/Unix/macOS пользовательский файл — ~/.xpdfrc, системный обычно /etc/xpdfrc; на Windows xpdfrc без точки и расширения лежит рядом с exe.
• Вывод: храните оригиналы отдельно; pdftohtml по умолчанию не принимает существующий каталог.
• Безопасность: неизвестные PDF запускайте с минимальными правами и с учётом CVE-2026-4407.
Практические кейсы
Извлечь текст с приблизительной раскладкой
Цель: получить текст отчёта. Подготовка: выполнить pdfinfo input.pdf. Шаги: pdftotext -layout input.pdf output.txt; для части файла добавить -f и -l. Проверка: сопоставить заголовки, числа и несколько сложных строк с PDF. Ограничение: скан без текстового слоя и повреждённые кодировки требуют OCR.
Сделать PNG-превью страниц 3–5
Цель: получить растровые превью. Шаги: pdftopng -f 3 -l 5 -r 150 input.pdf page. Проверка: должны появиться три файла с ожидаемым поворотом и читаемостью. Ограничение: PNG теряет выделяемый текст, ссылки и векторную структуру; увеличение DPI увеличивает объём данных.
Извлечь встроенные изображения
Цель: достать исходные растры. Подготовка: pdfimages -listonly input.pdf. Шаги: pdfimages input.pdf image. Проверка: сравнить число и размеры файлов со списком. Ограничение: поворот, clipping и инверсия из content stream не применяются.
Проверить свойства и шрифты
Цель: технический preflight. Шаги: pdfinfo input.pdf и pdffonts input.pdf. Проверка: просмотреть page count, encryption, JavaScript, PDF version, embedding и ToUnicode. Ограничение: это не проверка PDF/A, доступности или вредоносного кода.
Извлечь вложение
Цель: получить embedded file. Шаги: pdfdetach -list input.pdf, затем pdfdetach -save 1 -o attachment.bin input.pdf либо -saveall с каталогом. Проверка: сверить список и результат. Ограничение: неизвестное вложение следует проверять отдельными средствами безопасности.
Преобразовать PDF в HTML-каталог
Цель: получить постраничное представление для локального просмотра. Подготовка: выбрать новый выходной каталог. Шаги: pdftohtml input.pdf html-output; для таблиц можно повторить в другом каталоге с -table. Проверка: открыть index.html, несколько страниц и проверить вспомогательные изображения. Ограничение: это реконструкция визуального PDF, а не гарантированная семантическая HTML-версия; существующий каталог без -overwrite вызывает ошибку.
Подготовить PostScript для печатного конвейера
Цель: передать PDF в систему, ожидающую PS/EPS. Подготовка: выяснить поддерживаемый уровень PostScript и диапазон страниц. Шаги: запустить pdftops input.pdf output.ps; при EPS ограничить вывод одной страницей. Проверка: открыть PS совместимым просмотрщиком или проверить в целевом печатном тракте. Ограничение: обратное преобразование не восстановит исходный PDF со всей его структурой.
Навигатор по сбоям
| Симптом | Проверка | Действие |
|---|---|---|
| Код 1 | Путь и читаемость PDF | Повторить на локальной копии |
| Код 2 | Права записи и выходной путь | Выбрать новый каталог/файл |
| Код 3 | Шифрование и permissions | Использовать только законно полученный пароль |
| Код 98 | DPI и диапазон | Снизить DPI или дробить страницы |
| Плохой текст | Текстовый слой и ToUnicode | Проверить pdffonts, при скане перейти к OCR |
| Не та версия | PATH и -v | Указать полный путь к Xpdf |
| Изображение выглядит иначе | Трансформации страницы | Для внешнего вида использовать pdftopng |
Контроль перед сохранением и передачей
• Не заменяйте оригинальный PDF производным файлом.
• Проверьте начало, конец и одну среднюю страницу выбранного диапазона.
• В TXT сопоставьте кириллицу, числа и заголовки; в HTML — также изображения и index.html.
• Для pdfimages сравните результат с -listonly и учтите неприменённые трансформации.
• Не оставляйте пароль к PDF в журнале или сценарии без необходимости.
• Зафиксируйте версию Xpdf, если результат должен воспроизводиться на другой машине.
Часто задаваемые вопросы
Xpdf Tools и XpdfReader — одно и то же?
Нет. XpdfReader/Xpdf viewer — графический просмотрщик на Qt, а Xpdf Tools — девять консольных программ. Отдельный tools-архив Windows не требует установки ридера.
Почему pdftotext выдаёт пустой или искажённый текст?
PDF может состоять из изображений либо использовать непригодное сопоставление кодов шрифта. pdffonts помогает диагностировать ситуацию; layout/simple меняют раскладку, но не выполняют OCR.
Можно ли объединять, разделять и редактировать страницы?
Не этим набором 4.06. Он анализирует, извлекает и конвертирует, но не заменяет редактор страниц. Для таких задач нужны PDF24 Creator, PDF-XChange Editor или другой профильный инструмент.
Работают ли защищённые паролем PDF?
Многие команды поддерживают owner/user password; код 3 обозначает проблему PDF permissions. Используйте только пароль, на который у вас есть право, и учитывайте, что аргумент может попасть в историю shell.
Загружаются ли документы в облако?
Нет обязательного облачного этапа: команды работают с локальными файлами, каталогами и stdout, аккаунт не требуется. Однако локальность не отменяет защиту диска, прав доступа и актуальность самого Xpdf.
Почему в Linux pdftotext показывает другую версию?
Частая причина — Poppler с одноимённой командой. Проверьте -v и путь исполняемого файла; для воспроизводимого сценария можно указывать полный путь.
Есть ли русский интерфейс и можно ли настроить кодировку?
Графического интерфейса у Tools нет; имена команд и справка англоязычные. Текстовые параметры Xpdf и xpdfrc позволяют задавать карты Unicode и кодировки, но качество кириллицы прежде всего зависит от того, как символы описаны внутри исходного PDF.
Выполняет ли Xpdf Tools OCR?
Нет. pdftotext и pdftohtml извлекают уже существующий текстовый слой. Если страница является изображением, сначала нужен внешний OCR, а затем результат следует сверить с оригиналом.
Можно ли запускать Xpdf Tools на headless-сервере?
Да, не-GUI утилиты не требуют Qt. Для входящих неизвестных PDF нужны минимальные права и изоляция, особенно пока 4.06 затронута CVE-2026-4407.
Есть ли бесплатный лимит страниц и поддерживается ли подпись?
У GPL-набора нет маркетингового лимита страниц или водяных знаков. Инструмента цифровой подписи в этих девяти командах нет; для пользовательских функций чтения, форм и подписи можно рассмотреть Adobe Acrobat Reader или профильный редактор.
Можно ли использовать набор в компании?
Обычный запуск GPL-бинарников не требует подписки. Распространение модифицированного Xpdf или встраивание исходного кода в закрытый продукт затрагивает условия GPL; для таких случаев существует коммерческая лицензия Xpdf source, и модель распространения стоит оценивать отдельно.
Вывод
Xpdf Tools 4.06 подходит разработчикам, администраторам, специалистам по данным и техническим редакторам, которым нужен воспроизводимый локальный способ извлекать текст, изображения и вложения, создавать PNG/Netpbm/HTML/PostScript и быстро получать сведения о PDF. Его сильная сторона — не богатство интерфейса, а простая композиция команд, общий подход к конфигурации и предсказуемые коды завершения.
Набор хуже подходит пользователю, который хочет читать PDF в окне, делать комментарии, переставлять страницы, распознавать сканы или редактировать содержимое визуально. В этих случаях разумнее выбрать Sumatra PDF для лёгкого просмотра Windows, Poppler или MuPDF для альтернативной CLI-инфраструктуры либо полноценный GUI-редактор. Особенно важно не строить новый конвейер на предположении, что Xpdf Tools содержит OCR или функции редактирования, которых у него нет.
Главная оговорка текущего состояния — безопасность 4.06: CVE-2026-4407 официально включает эту версию в затронутые. Для доверенных локальных документов Xpdf остаётся практичным специализированным инструментом, но поток неизвестных PDF следует изолировать и сопровождать контролем обновлений. При таком подходе Xpdf Tools занимает ясную нишу: минимальный набор команд для тех случаев, когда PDF нужно не читать, а системно разбирать и преобразовывать.