Обзор pdfsizeopt: сжатие структуры, изображений и шрифтов в PDF

pdfsizeopt — узкоспециализированный инструмент для тех случаев, когда PDF нужно уменьшить не за счёт грубого понижения разрешения, а за счёт более компактного представления уже существующего содержимого. Это не просмотрщик, не редактор и не онлайн-компрессор: программа работает из командной строки, разбирает внутреннюю структуру PDF, перепаковывает потоки и объекты, оптимизирует часть встроенных изображений и шрифтов и записывает новый PDF. Проект особенно известен в среде TeX и LaTeX, где документ может содержать много повторяющихся объектов и подмножеств шрифтов.

ПараметрСостояние
РазработчикPéter Szabó, GitHub-профиль pts
ТипСвободный консольный оптимизатор PDF
Основная задачаУменьшение размера PDF без намеренного снижения визуального качества
Ввод и выводPDF → PDF
ИнтерфейсКомандная строка, англоязычные сообщения и справка
ПлатформыLinux x86, Windows через Win32-комплект, macOS Intel и Apple silicon через Intel-бинарники и Rosetta; также Docker-сценарий для Linux и macOS
ЛицензияGNU GPL v2 или более поздняя версия
Цена и аккаунтБесплатно; локальный запуск не требует регистрации или ключа
Текущий статусUpstream не архивирован; последний коммит в master от 25 ноября 2024 года, последний опубликованный комплект бинарных зависимостей v9 — от 18 апреля 2023 года
Актуальность сведений12 сентября 2026 года

Скачать pdfsizeopt

Бесплатно
В реестре российского ПО
Чистая установка

Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.

⬇ Скачать PDF Commander бесплатно

⬇ Скачать pdfsizeopt

Безопасный исходный пункт — официальный upstream-репозиторий pts/pdfsizeopt на GitHub. В нём находятся README с платформенными инструкциями, файл pdfsizeopt.single, исходный код и раздел Releases с подготовленными комплектами зависимостей. Репозитории-копии и сторонние страницы с похожим названием не следует принимать за официальный канал: идентичность продукта задаётся владельцем pts и авторством Péter Szabó.

У проекта нет привычного установщика и нет единой «текущей версии приложения» в формате 1.x или 2.x. Название v9 в Releases относится к набору программных бинарников, которые используются pdfsizeopt, а не к новой редакции самого скрипта. Для Linux и macOS официальный README предлагает сочетать этот комплект с актуальным файлом pdfsizeopt.single из ветки master; для Windows используется архив с Win32-исполняемыми файлами и тот же скрипт.

Из-за зависимости от конкретных сборок Ghostscript и вспомогательных оптимизаторов сторонний архив может отличаться от конфигурации автора. Для воспроизводимой установки лучше брать файлы из README upstream-репозитория и перед работой запускать тест зависимостей.

Что такое pdfsizeopt

pdfsizeopt — проект Péter Szabó для оптимизации размера PDF-файлов. Автор описывает его как свободное кроссплатформенное приложение командной строки и одновременно как набор практик по уменьшению PDF, с особым вниманием к файлам, созданным TeX и LaTeX. В отличие от обычного «компрессора», который главным образом пересчитывает изображения с меньшим разрешением, pdfsizeopt пытается находить более компактное представление существующего содержимого: устраняет неиспользуемые и повторяющиеся объекты, пересобирает потоки, создаёт object streams и xref streams, а также передаёт отдельные задачи внешним оптимизаторам.

Заявленная цель «без потери визуального качества и интерактивности» описывает стратегию, а не гарантию для любого PDF. В коде есть обходные флаги для проблем со шрифтами и отключения оптимизаторов, а в 2026 году остаётся открытое сообщение об ошибке с PDF 2.0. Документы с редкими конструкциями, формами или сложными шрифтами нужно проверять отдельно.

Проект нельзя считать официально прекращённым: репозиторий на GitHub не помечен как архивный, а в ноябре 2024 года в master был внесён коммит, исправляющий Docker-сборку. Одновременно темп сопровождения низкий, основной код остаётся привязан к Python 2.4–2.7 и старой совместимой ветке Ghostscript, а последний опубликованный набор зависимостей относится к апрелю 2023 года. Практически это означает «доступный и рабочий при подходящем окружении инструмент», а не современный пакет с регулярными релизами.

Основные функции pdfsizeopt

Оптимизация объектов и потоков

В режиме по умолчанию pdfsizeopt читает PDF, перестраивает его и записывает оптимизированный файл. Общая оптимизация объектов включает удаление недостижимых объектов, дедупликацию, повторную сериализацию заголовков и сокращение лишних пробелов и комментариев. Неприменимые к изображениям потоки могут быть перепакованы с сохранением меньшего из вариантов. Такой подход особенно полезен для документов, которые много раз собирались, объединялись или были произведены генератором с неэкономной структурой.

По умолчанию программа может создавать xref stream вместо классической таблицы перекрёстных ссылок и упаковывать обычные объекты в object streams. Эти возможности появились в PDF 1.5 и позволяют уменьшить служебную часть файла. Для совместимости с очень старыми просмотрщиками оба механизма можно отключить, но это обычно увеличивает результат.

Оптимизация встроенных изображений

Для изображений pdfsizeopt запускает несколько вариантов представления и выбирает более компактный результат. В официальной конфигурации участвуют sam2p или imgdataopt, jbig2 для двухцветных изображений и pngout; дополнительно поддерживаются zopflipng, optipng, advpng и ECT. Пользователь может задать собственный набор через параметр use-image-optimizer. Это не функция конвертации картинок в отдельные файлы: обработка происходит внутри PDF.

Самая заметная цена такого подхода — время. README отдельно предупреждает, что PDF с большим количеством изображений или крупными растрами может обрабатываться очень долго, а pngout назван самым медленным из стандартных методов. Для ускорения предусмотрено отключение pngout, а для двухцветных изображений — режим, который предпочитает jbig2 и не тратит время на варианты, почти наверняка не дающие меньший размер.

Работа со шрифтами

pdfsizeopt умеет оптимизировать прежде всего Type 1 и Type 1C, то есть CFF-шрифты. Он может пересериализовать их, удалять необязательные данные и пытаться объединять совместимые подмножества одного шрифта, чтобы не хранить одинаковые формы глифов несколько раз. Для TrueType в форме Type 42 таких оптимизаций нет. Поэтому эффект сильно зависит от происхождения PDF: старые TeX-цепочки и документы с множеством Type 1/CFF-подмножеств выигрывают заметнее, чем файл, где почти всё место занято современными JPEG и TrueType-шрифтами.

Пересборка шрифтов использует Ghostscript, и исходная справка признаёт риск редких проблем. Если после оптимизации видны пропавшие или искажённые символы, автор предусмотрел отключение объединения и полной регенерации шрифтов. Есть и дополнительная медленная проверка Type1C-вывода, которая повторно разбирает созданный шрифт и ищет пропавшие глифы.

Статистика и диагностика

Параметр —stats выводит статистику по объёмам разных типов объектов. Флаги отладки позволяют показать выбранный Ghostscript, раскрыть команды внешних оптимизаторов и увеличить подробность журнала. Это делает pdfsizeopt удобнее в автоматизированной среде, чем «чёрный ящик»: при неожиданном росте файла или сбое можно выяснить, на какой стадии возникла проблема, и затем отключить конкретную оптимизацию.

Штатный вывод идёт в stderr; подробность регулируется уровнем, а quiet-режим оставляет ошибки и фатальные сообщения. Это удобно для журналов CI.

Интерфейс и удобство использования

Графического интерфейса у pdfsizeopt нет. Рабочая зона — терминал или Command Prompt, вход — путь к исходному PDF, выход — новый путь к PDF и набор необязательных флагов. Базовый вызов прост: программе достаточно передать входной и выходной файл. Сложность начинается не в повседневной команде, а в установке зависимостей и выборе режимов для нестандартного документа.

Справка ориентирована на технического пользователя: названия параметров длинные, но описания достаточно точны и отражают внутреннюю модель PDF. Это плюс для инженера, которому важно контролировать объекты, потоки и шрифты, и минус для пользователя, ожидающего ползунок «качество» и визуальное сравнение до и после. Локализации интерфейса нет: сообщения и help-текст англоязычные.

На Windows есть отдельные ограничения путей. README предупреждает, что имена с акцентированными символами могут работать не во всех окружениях, а папка, в которую помещён pdfsizeopt, не должна содержать пробелы или такие символы. Пробелы в именах входных файлов допускаются при правильном заключении пути в кавычки. Для русскоязычного рабочего места это важнее, чем внешний вид интерфейса: путь вроде каталога с кириллицей лучше заменить на короткую ASCII-папку.

Поддерживаемые форматы и совместимость

Форматная специализация предельно узкая: вход — PDF, результат — PDF. pdfsizeopt не импортирует DOCX, EPUB или изображения как самостоятельные исходники, не экспортирует Office-форматы и не выполняет OCR. Его работа с PNG-подобными, двухцветными или JPEG-данными относится к изображениям, уже встроенным в PDF.

Инструмент сохраняет документ как новый PDF и рассчитан на сохранение визуального содержимого и интерактивных элементов, например гиперссылок. При этом внутренняя структура меняется существенно: объекты могут быть удалены как неиспользуемые, объединены, перенумерованы и упакованы в object streams, а потоки — рекомпрессированы. Поэтому «тот же документ» здесь означает эквивалентный для чтения результат, а не побайтово или структурно идентичный файл.

Зашифрованный PDF — отдельное ограничение. В исходном коде предусмотрена специальная ошибка для встретившегося encrypted PDF, поэтому pdfsizeopt нельзя считать средством снятия пароля или оптимизации защищённых документов. Сначала нужен легитимно расшифрованный экземпляр, созданный инструментом, который умеет работать с известным владельцу паролем.

Совместимость с новыми вариантами стандарта требует осторожности. Открытое issue января 2026 года сообщает о проблеме PDF 2.0; это не доказывает отказ на каждом PDF 2.0, но показывает, что универсальную поддержку современной спецификации заявлять нельзя. Для архивов с неизвестным происхождением полезно сначала обрабатывать копию и проверять результат несколькими просмотрщиками.

Производительность и стабильность

pdfsizeopt написан на Python 2, а тяжёлые операции делегирует C, C++ и другим внешним программам. Автор прямо характеризует скрипт как сравнительно медленный. Главный фактор времени — изображения: для каждого подходящего объекта могут запускаться несколько вариантов оптимизации, после чего выбирается наименьший. Большой сканированный документ поэтому способен обрабатываться гораздо дольше, чем текстовый PDF такого же размера.

pngout — известный источник задержки; официальный README рекомендует —use-pngout=no, если скорость важнее потенциальных дополнительных процентов экономии. Это полезный компромисс для пакетной обработки: структурная оптимизация, дедупликация, потоки и другие методы останутся активными, но самая медленная ветвь анализа изображений будет исключена.

Во время работы создаются временные файлы с префиксом psotmp. При штатном завершении программа их удаляет. Папку временных файлов можно задавать параметром, но при необработанном исключении часть временных данных может остаться; это прямо отражено в исходном коде и списке незавершённых задач. На сервере следует выделять временное пространство с запасом и периодически контролировать его очистку.

Нельзя обещать определённый процент сжатия. Если PDF уже содержит хорошо сжатые JPEG, компактные object streams и не имеет повторов, выигрыш может быть небольшим. На другом файле повторяющиеся объекты, избыточные шрифты и неэффективно упакованные растры дадут заметно больший эффект. Корректный критерий — сравнивать размер и содержимое конкретной пары вход/выход, а не ориентироваться на универсальный коэффициент.

Лицензирование и версии

Исходный код pdfsizeopt распространяется по GNU General Public License версии 2 с разрешением использовать более позднюю версию лицензии. Платного тарифа, подписки, пробного срока, рекламной версии или лицензионного ключа у самого pdfsizeopt нет. Для локального запуска не требуется аккаунт.

Нужно различать приложение и наборы зависимостей. В официальных GitHub Releases последний элемент с пометкой Latest называется v9 program binaries to be used with pdfsizeopt и датирован 18 апреля 2023 года. Это комплект вспомогательных исполняемых файлов. Основной однофайловый скрипт берётся из master, поэтому называть «pdfsizeopt v9» версией всей программы неточно.

Опциональный Multivalent-компрессор исторически мог запускаться после встроенных оптимизаций, но сейчас выключен по умолчанию, а справка прямо указывает, что необходимый Multivalent.jar больше недоступен для покупки или загрузки. Рассматривать эту ветвь как нормальную современную конфигурацию не стоит.

Системные требования

Linux и FreeBSD

Официальный простой путь рассчитан на Linux с архитектурой i386 или amd64 и использует статически собранные x86-компоненты из libexec. Автор указывает, что благодаря этому конкретный дистрибутив и libc не должны быть принципиальны. Для x86 FreeBSD предлагается Linux compatibility layer и затем Linux-инструкция. Нативный generic Unix-путь остаётся возможным, но сам README называет его всё более сложным из-за зависимости от Python 2.4–2.7 и Ghostscript 9.05.

Windows

Для Windows опубликован Win32-комплект. Официальная инструкция не даёт современного MSI/EXE-установщика: архив распаковывается вручную, а pdfsizeopt.single помещается рядом. Документация ориентирована на x86-совместимую Windows и не заявляет нативную Windows on ARM. Минимальные объёмы RAM, диска и конкретная версия Windows в актуальном README не стандартизированы, поэтому придумывать такие цифры неправильно.

macOS

Современный для проекта macOS-путь использует 64-битные Intel x86_64-бинарники. На Apple silicon они запускаются через Rosetta. Автор тестировал схему на macOS Ventura 13.3 в 2023 году и для Intel, и для Apple silicon. Это не равнозначно заявлению о сертификации на всех более новых выпусках macOS.

На 12 сентября 2026 года Apple сохраняет Rosetta для Intel-приложений и объявила, что общая поддержка таких приложений останется через macOS 27, после чего будет существенно ограничена. Для pdfsizeopt это долгосрочный риск: если нативный Apple silicon-комплект не появится, прямой macOS-путь после следующего поколения системы может перестать быть практичным. Docker/виртуализированный Linux может стать более устойчивым обходом, но его тоже нужно проверять на конкретной конфигурации.

Зависимости

При ручной generic Unix-установке ядро требует Python 2.4–2.7 и не работает на Python 3. Для шрифтов рекомендуемый исторический Ghostscript — 9.05; README предупреждает, что новые Ghostscript несовместимы с частью оптимизаций. Для изображений используются sam2p или imgdataopt, jbig2 и pngout, а дополнительные оптимизаторы подключаются по желанию. Подготовленные libexec-архивы как раз предназначены для того, чтобы не собирать эту старую комбинацию самостоятельно.

Карта критических зависимостей

ЗависимостьКогда нужнаПрактический риск
Python 2.xЗапуск исходного скрипта в generic Unix-средеВ современных ОС давно снят с основной поддержки; лучше использовать официальный комплект, где это возможно
Ghostscript 9.05-совместимая средаРазбор и пересборка части шрифтовНовые Ghostscript могут ломать этот путь; нельзя просто заменить на последнюю версию и ожидать идентичного поведения
sam2p/imgdataopt, jbig2, pngoutПолная оптимизация встроенных изображенийОтсутствие или несовместимость конкретного оптимизатора требует отключить соответствующий режим
Rosetta на Apple siliconПрямой запуск Intel-бинарников macOSApple уже объявила ограничение общей поддержки после macOS 27
DockerИзолированный запуск на Linux и macOSСам Docker должен быть установлен; официальный образ обновляется редко
ИнтернетПервичная загрузка репозитория, libexec или Docker-образаДля обычной локальной оптимизации после установки сеть не требуется

Для чувствительных документов наиболее прозрачна локальная схема: после загрузки компонентов исходный и выходной PDF остаются на машине, а внешний сервис во время оптимизации не требуется. Docker-вариант тоже выполняет работу локально, если сам Docker запущен на рабочем компьютере.

Преимущества и недостатки pdfsizeopt

Плюсы и минусы

Ориентация на содержательно безопасную оптимизацию. Программа старается уменьшать внутреннее представление без намеренного снижения визуального качества и без удаления интерактивности.

Глубокая работа со структурой PDF. Дедупликация, удаление неиспользуемых объектов, object streams, xref streams и рекомпрессия потоков дают эффект там, где обычный JPEG-ползунок почти бесполезен.

Сильная сторона в TeX/LaTeX-сценариях. Работа с Type 1 и Type1C-подмножествами адресует типичную причину раздутых академических и технических PDF.

Локальная обработка. Для основного рабочего процесса не нужен аккаунт, облачный сервис или передача документа на чужой сервер.

Автоматизация. CLI, статистика, уровни журнала и выбор внешних оптимизаторов удобны для скриптов и пакетных конвейеров.

Свободная лицензия. Нет платной редакции, подписки или искусственных лимитов по страницам.

Минусы

Устаревшая технологическая база. Исходный скрипт остаётся на Python 2.x и исторически совместимой версии Ghostscript.

Нет GUI. Пользователю без опыта терминала проще взять современный настольный оптимизатор.

Медленная обработка изображений. Полный набор оптимизаторов, особенно pngout, может заметно увеличивать время выполнения.

Ограниченная форматная роль. Нет OCR, редактирования, конвертации в Office, организации страниц или электронной подписи.

Риск новых платформ. Apple silicon зависит от Intel-бинарников и Rosetta, а с PDF 2.0 уже зафиксирован открытый проблемный сценарий.

Нет обещанного SLA поддержки. Репозиторий не архивирован, но релизный темп низкий.

Сравнение с аналогами

ИнструментПодход к уменьшению PDFИнтерфейсЦенаКогда предпочтительнее
pdfsizeoptСтруктурная оптимизация, потоки, изображения, Type 1/CFF-шрифты; цель — без намеренной потери качестваCLIБесплатно, GPLTeX/LaTeX, автоматизация, локальная lossless-ориентированная обработка
qpdfПерепаковка структуры и Flate, object streams; также есть отдельная опция JPEG-оптимизации, которая уже может быть с потерямиCLIСвободное ПОСовременный поддерживаемый CLI, ремонт и преобразование структуры PDF
GhostscriptПерезапись через pdfwrite; может уменьшать изображения и менять представление документаCLIСвободная/коммерческая модель в зависимости от примененияКогда допустима контролируемая переработка PDF и важны профили качества
PDF24 CreatorГрафическое сжатие плюс большой набор дополнительных PDF-инструментовGUI, WindowsБесплатноПользователю нужен простой офлайн-интерфейс, OCR, объединение, конвертация и другие операции
Adobe Acrobat ProReduced Size и Advanced Optimization с настройками изображений, шрифтов и совместимостиGUIКоммерческий продуктКорпоративная работа, визуальный контроль, редактирование и комплексная оптимизация

qpdf ближе всего к pdfsizeopt по философии консольной работы со структурой, но его собственная документация прямо говорит, что минимизация размера не является основной функцией; современная опция optimize-images может переводить подходящие изображения в JPEG и тем самым допускать потери. pdfsizeopt, напротив, исторически строился именно вокруг уменьшения файла без намеренной деградации внешнего вида, но платит за это старой базой зависимостей.

Ghostscript мощнее как универсальный интерпретатор и генератор PDF, однако pdfwrite создаёт новый PDF из графических примитивов и способен менять неотображаемые данные. В собственных материалах Ghostscript подчёркивает, что результат не обязан быть меньше исходника и не обязан сохранять внутренности документа. Для агрессивного уменьшения сканов это полезно; для сохранения структуры и интерактивности pdfsizeopt концептуально осторожнее.

Тем, кому нужен визуальный контроль, разумнее смотреть на PDF24 Creator или PDF-XChange Editor. Последний имеет Save as Optimized с настройкой изображений, шрифтов, очистки и аудита занимаемого места. Такие приложения легче освоить, но это другой класс продукта.

Sumatra PDF находится вообще в другой точке цепочки: это прежде всего быстрый просмотрщик, а не оптимизатор. Он не заменяет pdfsizeopt для уменьшения файла, зато подходит как один из независимых способов открыть готовый PDF и визуально проверить страницы после обработки. В рабочем процессе эти программы скорее дополняют друг друга, чем конкурируют.

Инструкция по установке

Linux: рекомендуемый upstream-путь

Создайте отдельный каталог, например ~/pdfsizeopt, чтобы старые зависимости не смешивались с системными.

Из официального Releases upstream-репозитория загрузите Linux libexec v9, а из ветки master — pdfsizeopt.single. Используйте именно имена и ссылки, приведённые в README, а не сторонние зеркала.

Распакуйте libexec в созданный каталог, сделайте pdfsizeopt.single исполняемым и создайте удобную ссылку pdfsizeopt.

Сначала выполните ~/pdfsizeopt/pdfsizeopt —version. Затем запустите поставляемый автором dependency test: он нужен не для оценки степени сжатия, а для проверки того, что вся цепочка внешних программ стартует корректно.

Первый рабочий PDF обрабатывайте в копии: ~/pdfsizeopt/pdfsizeopt input.pdf output.pdf. Не подменяйте оригинал до проверки результата.

Windows

Создайте короткую ASCII-папку без пробелов, например C:\pdfsizeopt.

Из официального Releases скачайте Win32 libexec v9 и распакуйте так, чтобы в папке появился pdfsizeopt.exe. Отдельно сохраните туда pdfsizeopt.single из upstream master.

Откройте Command Prompt и выполните C:\pdfsizeopt\pdfsizeopt input.pdf output.pdf. Для путей с пробелами используйте кавычки; кириллицу и акцентированные символы в каталоге самой программы лучше исключить.

После успешного первого запуска при желании добавьте C:\pdfsizeopt в PATH. Сначала убедитесь, что команда работает по полному пути: так проще отличить ошибку PATH от проблемы самой программы.

macOS

На Intel Mac используйте x86_64 libexec v9 из Releases. На Apple silicon тот же комплект требует Rosetta; перед установкой учитывайте объявленный Apple горизонт общей поддержки Intel-приложений.

Создайте ~/pdfsizeopt, распакуйте libexec, загрузите pdfsizeopt.single, сделайте файл исполняемым и создайте ссылку pdfsizeopt — последовательность соответствует Linux-варианту.

Запустите dependency test из официального README и откройте исходный и оптимизированный тестовые PDF. Только после этого переходите к рабочим данным.

Если прямой Intel-путь нежелателен, используйте Docker-сценарий, описанный upstream. Он удобнее для изоляции зависимостей, но не отменяет необходимость проверить выходной PDF.

FreeBSD и generic Unix

На x86 FreeBSD upstream рекомендует включить Linux compatibility layer и затем следовать Linux-схеме. Для прочих Unix есть ручной путь: установить Python 2.4–2.7, совместимый Ghostscript и требуемые оптимизаторы изображений, скачать pdfsizeopt.single, переименовать его в pdfsizeopt, сделать исполняемым и сначала проверить —version. Сам автор называет этот путь неудобным и склонным к ошибкам на современных системах, поэтому без необходимости лучше использовать подготовленный libexec или изолированное окружение.

Безопасное удаление

Специального деинсталлятора нет, потому что стандартная установка — это каталог с файлами. Сохраните нужные исходные и выходные PDF, удалите каталог pdfsizeopt и, если добавляли его вручную, уберите соответствующую запись из PATH. На Docker-схеме отдельно удаляется образ. Системные Python и Ghostscript не следует удалять только из-за pdfsizeopt, если они были установлены для других задач.

Практические кейсы

Уменьшение PDF из LaTeX перед публикацией

Цель. Сократить размер технической статьи, не переводя схемы и текст в пониженное разрешение. Подготовка. Сохранить исходный PDF и убедиться, что документ открывается, формулы и ссылки работают. Действия. Запустить обычный режим pdfsizeopt с отдельным выходным именем. Если обработка завершилась, сравнить размер. Проверка. Просмотреть страницы со сложными формулами, таблицами и редкими глифами; открыть внутренние и внешние ссылки; проверить копирование текста. Ограничение. Если файл уже собран современным генератором компактно, экономия может быть умеренной.

Скан с большим числом двухцветных страниц

Цель. Уменьшить PDF со сканами текста. Подготовка. Выбрать копию без шифрования и убедиться, что исходные страницы читаемы. Действия. Начать со стандартного режима, где для двухцветных изображений доступен jbig2. При слишком долгой обработке включить fast-bilevel-режим или исключить pngout. Проверка. Увеличить мелкий шрифт на нескольких страницах, сравнить тонкие линии, пунктуацию и номера. Ограничение. pdfsizeopt не выполняет OCR: если у исходного скана нет текстового слоя, после сжатия он сам по себе не появится.

Быстрый режим для большого изображения-насыщенного PDF

Цель. Получить разумное уменьшение без многочасового перебора вариантов. Подготовка. Сначала выполнить —stats и зафиксировать исходный размер. Действия. Запустить оптимизацию с —use-pngout=no. Если результат достаточен, не усложнять конфигурацию. Если размер критичен, отдельной задачей повторить полный режим и сравнить итог. Проверка. Сопоставить оба результата по размеру и визуально на страницах с крупными изображениями. Ограничение. Быстрый вариант сознательно отказывается от одного из медленных кандидатов, поэтому иногда выдаёт немного больший файл.

Навигатор по сбоям

СимптомЧто проверитьБезопасное действиеКонтроль
Ошибка при старте GhostscriptПуть к libexec и выбранную версию gsВернуться к официальному комплекту, включить debug-gsDependency test проходит полностью
Обработка слишком долгаяМного ли крупных изображенийОтключить pngout; для bilevel использовать быстрый режимСравнить размер с полным режимом на одном образце
После обработки испортились символыСтраницы с Type 1/CFF-шрифтамиОтключить unify-fonts и regenerate-all-fonts, повторить на копииСравнить редкие глифы и копирование текста
Windows не находит файлПробелы, кириллицу, кавычки и каталог программыПеренести программу и тестовый PDF в короткий ASCII-путьЗапустить по полному пути до изменения PATH
Ошибка на новом PDFШифрование, PDF 2.0, необычные фильтрыНе форсировать повреждённый вывод; попробовать qpdf/Acrobat или иной современный инструментВыход должен открываться без предупреждений и сохранять функции исходника

Контроль перед сохранением и передачей

Сравнить размер исходного и выходного PDF и убедиться, что уменьшение действительно есть.

Открыть начало, середину и конец документа минимум в одном независимом просмотрщике; для важного файла — в двух.

Проверить мелкий текст, формулы, нестандартные шрифты, прозрачность и страницы с крупными изображениями.

Открыть гиперссылки, закладки и формы, если они используются в рабочем процессе.

Если файл должен быть подписан электронной подписью, выполнять оптимизацию до финального подписания.

Не удалять исходный PDF, пока получатель или последующая система не подтвердили совместимость результата.

Часто задаваемые вопросы

pdfsizeopt сжимает PDF без потерь?

Его проектная цель — уменьшать файл без намеренного ухудшения визуального качества или удаления интерактивности. Для этого он в основном выбирает более компактное представление тех же данных. Однако результат всё равно нужно проверять: шрифты пересобираются через Ghostscript, структура PDF существенно меняется, а совместимость с редкими конструкциями не гарантируется.

Есть ли у pdfsizeopt графическая версия?

Нет. Официальный проект — командная строка. Приложения с названием «PDF optimizer» и графическим интерфейсом, найденные в других каталогах, не являются редакциями pdfsizeopt Péter Szabó. Если нужен GUI, практичнее выбрать PDF24 Creator, PDF-XChange Editor или Acrobat Pro.

Нужен ли интернет для обработки документов?

После локальной установки и загрузки зависимостей — нет: обычный запуск работает с локальными файлами и локальными программами. Интернет нужен для получения компонентов, но сама оптимизация не требует облачного сервиса.

Можно ли обработать PDF с паролем?

pdfsizeopt не является средством расшифрования. В коде предусмотрена отдельная ошибка для encrypted PDF. Если у владельца есть право и пароль на документ, сначала нужно получить незашифрованную копию подходящим инструментом, а уже затем оптимизировать её.

Поддерживает ли программа OCR?

Нет. Она может перекодировать и компактнее упаковать уже встроенные изображения, но не распознаёт текст на сканах и не создаёт новый поисковый текстовый слой. Для этого нужен отдельный OCR-инструмент.

Почему после оптимизации файл иногда почти не уменьшается?

В PDF может просто не быть заметной избыточности. Уже сжатые JPEG/JPX, компактные object streams, отсутствие дубликатов и небольшой набор шрифтов оставляют мало пространства для без потерь оптимизации. В такой ситуации сильное дальнейшее уменьшение обычно требует уже качественных компромиссов: downsampling, JPEG-перекодирования или удаления данных.

Можно ли использовать современный системный Ghostscript вместо старого?

Без проверки — нежелательно. Upstream специально предупреждает, что новые версии Ghostscript несовместимы с частью шрифтовых оптимизаций и рекомендует историческую совместимую версию. Подготовленный libexec как раз снижает риск случайно подобрать неподходящую комбинацию.

Подходит ли pdfsizeopt для PDF 2.0?

Универсальную поддержку заявлять нельзя. В январе 2026 года в официальном issue tracker появилось открытое сообщение «PDF 2.0 Error». Для PDF 2.0 следует работать с копией, а при отказе использовать более современный инструмент, который явно поддерживает этот формат.

Можно ли применять pdfsizeopt в CI или на сервере?

Да, CLI и управляемый журнал подходят для автоматизации. Но окружение лучше фиксировать целиком: версия скрипта, libexec или Docker-образ, набор флагов и проверка результата. Из-за старых зависимостей обновление базового образа без тестов может неожиданно сломать конвейер.

Вывод

pdfsizeopt остаётся интересным специализированным инструментом для инженеров, издательских и научных workflows, где важно уменьшить PDF без обычного рецепта «снизить DPI и качество JPEG». Он особенно уместен для TeX/LaTeX-документов, повторяющихся объектов и Type 1/CFF-шрифтов, хорошо вписывается в скрипты и работает локально без аккаунта.

Главный компромисс — возраст архитектуры. Python 2.x, зависимость от старого Ghostscript, Intel-компоненты на macOS и редкий выпуск обновлений требуют фиксированного окружения и дисциплины проверки. Для нового PDF 2.0, Windows on ARM, будущих версий macOS или пользовательского рабочего места без терминала разумнее выбрать современный qpdf, PDF24 Creator, PDF-XChange Editor или Acrobat Pro в зависимости от задачи.

Если задача — просто читать PDF, pdfsizeopt вообще не нужен: для этого лучше использовать Sumatra PDF или другой просмотрщик. Если же требуется подготовить компактную копию перед публикацией или передачей и есть готовность проверить результат, pdfsizeopt даёт необычно тонкий контроль над размером без перехода сразу к заметной потере качества.


Ваш адрес email не будет опубликован. Обязательные поля помечены *