Сжать PDF на телефоне
Сжатие устроено принципиально иначе, чем объединение: каждая страница отрисовывается на холсте и заново кодируется в JPEG. Ползунок качества превращается в разрешение по формуле от 72 до 300 DPI и в качество JPEG от 0,30 до 0,95. Лист A4 при 300 DPI — это 2480 на 3508 точек, около 8,7 мегапикселя и примерно 33 МБ памяти. Холст освобождается после каждой страницы, поэтому важна не длина документа, а вес исходника.
Коротко о цифрах
- Формула разрешения
- 72 + качество / 100 × 228, то есть 72…300 DPI
- Качество JPEG
- 0,30 + качество / 100 × 0,65
- Память на страницу A4
- ≈8,7 Мпикс и ≈33 МБ при 300 DPI
- Потолок холста
- 4096 точек по любой стороне
- Что живёт в памяти
- исходник целиком, готовые страницы и один холст
Что происходит с памятью телефона
Одновременно в памяти живут три вещи: байты исходного файла, все уже сжатые страницы будущего документа и ровно один холст. Холст сбрасывается сразу после того, как страница закодирована в JPEG, а внутренние кэши страницы очищаются в том же блоке — без этого документ на полсотни листов убивал бы вкладку на середине.
Отсюда практическое правило: длина документа сама по себе не страшна, страшен вес. Сто страниц текста при исходнике в 12 МБ пройдут спокойно. Двадцать страниц цветных сканов при исходнике в 300 МБ — уже нет, потому что эти 300 МБ целиком лежат в памяти всё время работы.
Второй ограничитель — размер холста. Ни одна сторона не может превысить 4096 точек, это кросс-браузерный потолок. A4 при 300 DPI в него укладывается, а A3 потребовал бы 4961 точку, поэтому масштаб для него автоматически зажимается примерно до 248 DPI. Файл при этом получится, просто чуть менее детальный, чем вы просили.
Где ставить ползунок на телефоне
- Текстовый документ, который надо просто уменьшить: 40–60. Это 163–209 DPI и качество JPEG 0,56–0,69 — читаемо и вдвое дешевле по памяти, чем максимум.
- Скан для отправки в чат: 25–35. Мелкие детали пострадают, но именно на этих значениях телефон работает быстрее всего.
- Документ на печать: не ниже 70, иначе на бумаге видно растр.
- Максимум 100 на телефоне почти никогда не нужен: 300 DPI даёт самый тяжёлый холст и самое долгое кодирование.
Порядок и что делать, если вкладка перезагрузилась
- Закройте лишние вкладки браузера — они делят память с той, в которой идёт работа.
- Загрузите PDF и посмотрите на его вес: именно он определяет, потянет ли устройство.
- Поставьте качество и запустите сжатие, не переключаясь в другие приложения до конца обработки.
- Если вкладка перезагрузилась, разделите документ на части и сжимайте по очереди.
- Если результат получился больше исходника, инструмент вернёт исходный файл нетронутым — так бывает со сканами, уже сжатыми хитрым алгоритмом.
Частые вопросы
От чего зависит, справится телефон или нет — от числа страниц?
От веса исходного файла в первую очередь. Он лежит в памяти целиком всё время работы, тогда как холст под страницу создаётся и освобождается заново на каждом шаге, поэтому длина документа влияет в основном на время.
Почему сжатие на телефоне идёт заметно дольше, чем на компьютере?
Потому что кодирование JPEG упирается в процессор, а мобильные ядра медленнее и раньше уходят в троттлинг при нагреве. Уменьшение качества сокращает и размер холста, и время кодирования сразу.
Останется ли текст выделяемым после сжатия?
Нет. Страницы превращаются в изображения, текстовый слой при этом теряется. Если нужен именно поиск по тексту, используйте оптимизацию структуры файла — она сжимает слабее, но не трогает шрифты.
Инструмент вернул файл того же размера. Это ошибка?
Нет, это защита. Если после пересжатия документ получился бы больше исходного, вам отдают исходник без изменений — отдавать якобы сжатый файл, который стал тяжелее, было бы обманом.