Сжать PDF или оптимизировать его
Обе операции обещают файл поменьше, но работают с разными его частями, поэтому результат определяется содержимым. Сжатие бьёт по изображениям: оно перерисовывает страницы и режет вес там, где вес несут пиксели. Оптимизация трогает только структуру: переставляет объекты и убирает лишнее в служебных таблицах. На документе из сканов первая даёт кратное падение, вторая почти ничего. На текстовом экспорте всё наоборот — и вот почему.
Коротко о цифрах
- Что уменьшает сжатие
- изображения страниц; текстовый слой при этом теряется
- Что уменьшает оптимизация
- служебную структуру; содержимое остаётся прежним
- Защита от роста
- если результат не меньше исходника, отдаётся исходник
- Предел сжатия
- 1 ГБ, обработка в браузере
- Предел оптимизации
- 50 МБ, обработка на сервере
Четыре типовых файла и что с ними произойдёт
- Текстовый экспорт из офисного пакета: пиксели в нём почти отсутствуют, поэтому сжатие даст мало, зато сделает текст невыделяемым. Здесь работает оптимизация.
- Подшивка цветных сканов: вес целиком в изображениях, сжатие уменьшает файл в разы, оптимизация не трогает почти ничего.
- Презентация с фотографиями на каждом слайде: сжатие срабатывает, но следите за подписями — мелкий шрифт на картинке пострадает первым.
- Файл, который уже прогоняли через сжатие: повторный проход бесполезен, а иногда вреден. Инструмент это заметит и вернёт исходник нетронутым.
Где происходит работа и какие пределы
Сжатие идёт целиком в вашей вкладке. Файл никуда не отправляется, ограничение по объёму — гигабайт, а платой за это становится память устройства: страница A4 при трёхстах точках на дюйм занимает около 33 МБ в развёрнутом виде, и на телефоне длинный документ лучше обрабатывать частями.
Оптимизация выполняется на сервере, потому что переписыванием файла занимается qpdf, а его в браузере нет. Отсюда другой предел: документ должен быть не тяжелее 50 МБ. Временный файл удаляется сразу после того, как ответ отправлен.
Порядок, если вы не знаете, что у вас за файл
- Попробуйте выделить текст мышью на второй-третьей странице. Выделяется — перед вами документ со слоем текста.
- Выделяется, но вес большой — ищите картинки: скорее всего, в документ вставлены фотографии, и поможет сжатие.
- Не выделяется вовсе — это сканы, и сжатие здесь единственный рычаг, терять там нечего.
- Вес приемлемый, но файл долго открывается по ссылке — вам нужна не сжатие, а оптимизация: она перекладывает начало документа вперёд.
- Сжатие вернуло файл того же размера с пометкой, что он уже оптимален, — значит, запас исчерпан, и дальше уменьшают число страниц, а не качество.
Частые вопросы
Оптимизация не уменьшила файл ни на байт. Это поломка?
Нет, это нормальный исход. Она переписывает структуру, а не содержимое, и на документе, где вес лежит в изображениях, уменьшать ей просто нечего. Иногда файл даже слегка прибавляет за счёт служебных таблиц.
Можно ли сделать обе операции подряд?
Да, порядок при этом важен. Сначала сжатие, потом оптимизация: сжатие всё равно пересобирает документ с нуля, поэтому линеаризация, сделанная до него, будет потеряна вместе со старой структурой.
Почему сжатие вернуло мне тот же самый файл?
Потому что результат оказался не меньше исходного, и сработала защита от роста. Так бывает с уже упакованными сканами: их изображения сжаты плотнее, чем даёт повторное кодирование через канвас.
Файл весит 200 МБ, оптимизация его не принимает. Что делать?
Разделить документ на части не тяжелее пятидесяти мегабайт и обработать каждую отдельно либо сначала сжать его в браузере, где ограничение на порядок выше, и уже результат отправить на оптимизацию.