Три способа сжать PDF
Без потерь. Файл пересобирается библиотекой pdf-lib: снимаются автор, программа и другие метаданные, объекты упаковываются плотнее. Структура и картинки остаются как есть, текст по‑прежнему выделяется и ищется. Честно предупредим: выигрыш обычно скромный — 3–15%, а у уже оптимизированных файлов из современных редакторов может не быть вовсе. Этот режим не поможет, если вес файла определяют тяжёлые фотографии на страницах — здесь нужно сильное сжатие.
Сильное сжатие. Каждая страница рисуется заново как картинка при выбранном разрешении (72, 100 или 150 точек на дюйм) и сохраняется в JPEG нужного качества, затем страницы собираются в новый PDF. Вес падает в разы, но текст перестаёт быть текстом — выделить или найти его уже нельзя, а мелкие детали на скриншотах и чертежах могут стать нечёткими на низком разрешении.
До нужного размера. Самый частый запрос — уложить файл в лимит: 1 МБ для формы на Госуслугах, 10 МБ для письма. Инструмент перебирает разрешение от 150 до 72 DPI и для каждого бинарным поиском находит максимальное качество JPEG, при котором файл ещё укладывается в цель — так теряется меньше резкости, чем при случайно выбранном качестве наугад. Если даже 72 DPI и минимальное качество не укладываются в цель (бывает с документами на полсотни страниц), инструмент честно отдаёт самый лёгкий вариант, какой получился, и сообщает об этом.
Что происходит с файлом
Сжатие идёт прямо в браузере: страницы рисует pdf.js, а собирает готовый PDF pdf-lib — без загрузки на сервер и без очереди. Можно добавить сразу несколько файлов: каждый сожмётся с одинаковыми настройками, а после обработки покажется размер «было → стало» и процент экономии по каждому. Один файл скачивается сам, для нескольких — кнопка «Скачать всё» соберёт их в ZIP. Открыть и распаковать такой архив обратно поможет разархиватор ZIP.
Если нужно сначала собрать документ из нескольких файлов, а потом сжать — воспользуйтесь объединением PDF: он тоже работает в браузере, а результат можно сразу загрузить сюда. Если, наоборот, часть страниц лишняя и раздувает вес — уберите их в разделении PDF перед сжатием.