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

Как сжать PDF и не потерять текстовый слой

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

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

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

Что делает сжатие
новый документ из одних JPEG: текста, ссылок и закладок в нём нет
Как проверить слой
извлечение текста: пустой результат означает, что терять нечего
Что сохраняет структуру
qpdf --linearize: содержимое не пересчитывается
Безопасное уменьшение
удалить страницы или извлечь нужный диапазон — ноль потерь качества

Сначала проверьте, что терять

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

Что реально уменьшает такой документ

  • Удаление страниц. Приложения, дубли и пустые листы между разделами весят столько же, сколько содержательные страницы.
  • Извлечение диапазона. Если адресату нужны три листа из ста, отдайте три: остальные девяносто семь просто не поедут.
  • Пересохранение структуры. Оно убирает дубли ресурсов и мусор от прошлых правок, не меняя ни одного символа.
  • Замена вставленных изображений на облегчённые до сборки документа — если исходник у вас, а не только готовый PDF.

Почему у нас нет кнопки «сжать с сохранением текста»

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

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

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

Есть ли режим сжатия, который не трогает текст?

У нашего компрессора нет: он работает через перерисовку страниц. Уменьшить документ с сохранением текста можно только удалением страниц и пересохранением структуры.

Я сжал файл и потерял поиск. Можно ли вернуть?

Только из исходного файла до сжатия. Из готовых картинок текст восстанавливается лишь распознаванием, и это уже другая задача с другими ошибками.

Как понять, что в документе есть текстовый слой?

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

Что делать со смешанным документом?

Разделить его: страницы со сканами сжать растеризацией, свёрстанные оставить как есть, а потом при необходимости собрать обратно в один файл.

Рядом