Перейти к содержимому
pdftools.kz
Организация

Браузер зависает на обработке PDF

Обработка идёт целиком в вашей вкладке, поэтому упирается она не в интернет, а в оперативную память устройства. Каждая страница на время работы разворачивается в растр: лист А4 при высоком разрешении — это около 8,7 миллиона точек и примерно 33 мегабайта. На iOS вкладка закрывается около гигабайта занятой памяти, то есть тридцать страниц, не освобождённых вовремя, — это уже предел.

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

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

Память на страницу
А4 при 300 DPI — около 8,7 Мпикс и примерно 33 МБ
Потолок вкладки на iOS
около 1 ГБ занятой памяти
Как экономится память
ресурсы страницы освобождаются, а холст обнуляется после каждого цикла
Потолок холста
4096 точек по стороне — кросс-браузерное ограничение
Стоимость подбора размера
до 7 полных ререндеров всего документа

Почему память кончается именно здесь

Страница PDF хранится как набор команд рисования, а работать с ней нужно как с картинкой. Каждый лист приходится развернуть в растр, а растр — это четыре байта на точку. При высоком разрешении лист А4 занимает десятки мегабайт, и держать в памяти сразу весь документ невозможно ни на каком устройстве.

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

Что делать прямо сейчас

  1. Закройте лишние вкладки: они делят с обработкой одну и ту же память устройства.
  2. Разделите документ на части по десять-двадцать страниц и обработайте их по очереди.
  3. Если нужны конкретные страницы, извлеките только их — обрабатывать весь документ ради трёх листов незачем.
  4. Не запускайте вторую обработку, пока идёт первая: они складывают расход памяти, а не делят его.
  5. На телефоне беритесь за большой документ только после разделения — там потолок вкладки заметно ниже.

Какие операции самые дорогие

  • Сжатие до заданного размера: подбор делает до семи полных ререндеров всего документа, и на двухстах страницах это тысяча четыреста отрисовок.
  • Перевод страниц в изображения: каждая страница разворачивается в растр целиком, и чем выше выбранное разрешение, тем дороже.
  • Редактор с предпросмотром: рядом с растром страницы держится ещё и разобранный текстовый слой.
  • Объединение и разделение, наоборот, дёшевы: страницы копируются без разворачивания в картинку.

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

Почему обработка не идёт на сервере, где памяти больше?

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

Помогает ли более быстрый интернет?

Нет, никак. Файл никуда не передаётся, и скорость соединения на обработку не влияет вообще. Значение имеют только объём памяти устройства, число страниц и выбранное разрешение.

Сколько страниц можно обработать за один раз?

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

Вкладка перезагрузилась. Файл испорчен?

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

Рядом

Частые задачи с этим инструментом