Перейти к содержимому
pdftools.kz

Чем сжатие PDF отличается от оптимизации

Это две разные операции, которые часто называют одним словом. Сжатие перерисовывает каждую страницу в JPEG и собирает из картинок новый документ: вес падает в разы, текстовый слой, ссылки и закладки исчезают навсегда. Оптимизация переписывает файл через qpdf, меняя только порядок объектов: содержимое остаётся байт в байт, вес почти не меняется, зато первая страница открывается до докачки остального.

Локально в браузеребез регистрации

Коротко о цифрах

Сжатие
растеризация: каждая страница становится JPEG, вес падает в разы
Оптимизация
qpdf --linearize: порядок объектов меняется, содержимое — нет
Потери при сжатии
текстовый слой, поиск, ссылки, закладки и поля форм не переносятся
Выигрыш оптимизации
первая страница показывается до докачки файла
Где выполняется
сжатие — в браузере, оптимизация — на сервере через qpdf

Что делает каждая из операций

  • Сжатие: рендер страницы в канвас, кодирование в JPEG, вставка картинки в новый документ. Работает в браузере, файл не уходит на сервер.
  • Оптимизация: qpdf переписывает файл с ключом линеаризации, объекты первой страницы уходят в начало. Работает на сервере, файл загружается.
  • Сжатие уменьшает вес кратно, оптимизация — почти нет, а иногда добавляет байты из-за таблиц подсказок.
  • Сжатие необратимо: из картинки текст обратно не собрать. Оптимизацию можно применять сколько угодно раз без потерь.

Что теряется и что остаётся

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

После оптимизации не теряется ничего. Шрифты, разметка, выделение текста, гиперссылки и оглавление остаются на месте, потому что qpdf не пересчитывает содержимое, а только перекладывает его в другом порядке. Ровно поэтому оптимизация не может служить заменой сжатию: она решает другую задачу.

Как выбрать за минуту

  1. Ответьте на один вопрос: нужен ли вам поиск по тексту в этом документе.
  2. Нужен — значит, сжатие исключено, остаются оптимизация и удаление лишних страниц.
  3. Не нужен, а файл состоит из сканов — берите сжатие, терять там нечего.
  4. Файл лежит в вебе и его открывают в браузере — линеаризуйте, даже если вес вас устраивает.
  5. Нужны и вес, и текст — делайте две версии документа вместо одного компромиссного файла.

Частые вопросы

Можно ли применить обе операции подряд?

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

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

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

Какая операция безопаснее для важного документа?

Оптимизация: она не трогает содержимое и не меняет ни одного пикселя. Сжатие следует применять только к копии, сохранив исходник в неприкосновенности.

Что выбрать, если файл просто долго открывается?

Сначала линеаризацию: медленное открытие часто вызвано порядком объектов, а не весом. Если после этого всё ещё медленно, причина в размере, и тогда нужно сжатие.

Рядом