Сжатие пачки файлов: что работает, а что нет
Разделите задачу по типу файлов. Картинки: конвертация изображений берёт до тридцати штук за раз, применяет одно качество ко всем и отдаёт архив. PDF: очереди нет, каждый документ загружается отдельно — либо объедините их в один и сожмите один раз, либо пройдите по списку вручную. Подбор под точный размер стоит до семи полных перерисовок документа, поэтому на пачке он ровно всемеро дороже фиксированного качества.
Коротко о цифрах
- Картинок за раз
- 30, каждая до 100 МБ
- Диапазон растеризации PDF
- 72–300 DPI по формуле 72 + качество/100 × 228
- Перерисовок при подборе под размер
- до 7 на документ
- Одинаковые имена в архиве
- второй файл получает суффикс -2
- Очередь в сжатии PDF
- отсутствует, один файл за приём
Пачка картинок
- Конвертация изображений принимает до 30 файлов, каждый до 100 МБ.
- Ползунок качества идёт от 30 до 95, и вместе с потолком длинной стороны применяется ко всем файлам сразу.
- Два файла и больше приходят архивом, одиночный результат скачивается сам по себе.
- Совпавшие имена разводятся суффиксом: второй a.jpg станет a-2.jpg, иначе в архиве остался бы один файл.
- Перевод в JPEG уничтожает прозрачность: под неё подкладывается белый фон, а имена таких файлов перечисляются в сообщении.
Пачка PDF: два пути
- Путь первый: объедините документы, сожмите общий файл один раз и разделите обратно по диапазонам.
- Путь второй: загружайте по одному — настройки на странице остаются, меняется только файл.
- Первый путь выбирают для однородной пачки: одно качество на всех даёт предсказуемый результат.
- Второй путь выбирают, когда среди файлов есть и чистый текст, и цветные сканы: им нужны разные настройки.
- Помните, что сжатие PDF растеризует страницы — после него текст перестаёт выделяться и искаться.
Сколько это стоит по времени
Время сжатия PDF считается страницами, а не файлами. Каждая страница рисуется в канвас, кодируется в JPEG и вкладывается обратно, и на A4 при 300 DPI это картинка примерно в 8,7 мегапикселя, около 33 МБ памяти на время шага. Десять пятистраничных документов и один пятидесятистраничный обойдутся почти одинаково.
Режим «до размера» умножает эту работу. Сначала проверяются обе границы шкалы, и если цель лежит между ними, идёт бисекция — всего до семи полных перерисовок. На пачке из десяти файлов это до семидесяти перерисовок, поэтому там, где точный потолок не требуется, дешевле поставить фиксированное качество и не искать ничего.
Частые вопросы
Можно ли задать один потолок в килобайтах на всю пачку картинок?
Нет. Режим точного размера у компрессора изображений работает с одним файлом. Для пачки задаются качество и потолок длинной стороны, а итоговый вес у каждого снимка получится свой.
Что делать, если после сжатия файл стал больше?
Ничего, такой результат вам просто не отдадут. Если пересжатие увеличило документ, возвращается исходный файл нетронутым с пометкой, что он уже оптимизирован.
Почему пачка PDF не жмётся одной кнопкой?
Потому что очередь файлов есть только в объединении и в сборке PDF из картинок. Сжатие рассчитано на один документ, и обойти это можно лишь объединением с последующим разделением обратно.
Стоит ли сжимать сканы и текстовые PDF одними настройками?
Нет. Скан выигрывает от снижения разрешения, а текстовый документ на той же настройке теряет чёткость штрихов почти без выигрыша в весе. Разнородную пачку лучше разделить надвое.