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

Почему PDF медленно открывается в сети

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

Сервер · удаление сразудо 50 МБбез регистрации

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

Первая проверка
открыть скачанный файл локально: медленно и там — дело в документе
Почему нужен весь файл
таблица ссылок лежит в конце; без линеаризации первую страницу не собрать
Условие на стороне сервера
без запросов по диапазону байтов выигрыша нет
Память страницы
A4 при 300 DPI ≈ 8,7 Мпикс ≈ 33 МБ
Предел вкладки
iOS Safari закрывает её примерно на 1 ГБ
Наш optimize
qpdf --linearize, до 50 МБ, таймаут 60 секунд

Ветка первая: тормозит сам документ

  • Страницы-сканы: A4 при 300 DPI — это около 8,7 мегапикселя и примерно 33 МБ в памяти на каждую страницу.
  • Память устройства: iOS Safari убивает вкладку примерно на гигабайте, поэтому подшивка сканов роняет мобильный браузер быстрее, чем догружается.
  • Встроенные шрифты и прозрачности: их отрисовка стоит процессорного времени, и на слабом телефоне это заметно.
  • Векторные карты и чертежи: тысячи линий на одной странице рисуются дольше, чем фотография такого же веса.
  • Проверка простая: если то же самое повторяется с локальной копией, сеть ни при чём.

Ветка вторая: тормозит передача

Главная структурная причина — документ не линеаризован. Таблица перекрёстных ссылок лежит в конце файла, и без специальной раскладки просмотрщику нужен весь документ, прежде чем он покажет хоть первую страницу. На стомегабайтном файле это разница между «показалось сразу» и «ждём всю загрузку».

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

Что делать по порядку

  1. Скачайте файл и откройте локально — это разделяет две ветки за минуту.
  2. Посмотрите вес: всё, что больше десятка мегабайт, на мобильном интернете открывается заметно.
  3. Уберите лишние страницы: приложения, дубли и пустые листы весят столько же, сколько нужные.
  4. Сожмите документ, если внутри сканы, и проверьте, что текст остался читаемым.
  5. В самом конце линеаризуйте файл — эта операция не сжимает, а меняет порядок объектов внутри.
  6. Замените ссылку на сайте новой версией: старый файл в кэше читателя может держаться ещё долго.

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

Линеаризация уменьшит мой файл?

Нет, это не сжатие. Она переставляет объекты внутри документа, чтобы первая страница читалась из начала файла; размер при этом меняется незначительно и иногда растёт.

Файл открывается быстро у меня и медленно у читателя. Почему?

У вас он уже лежит в кэше браузера, а читатель качает его впервые и, возможно, через мобильный интернет. Сравнивайте на чистой вкладке без сохранённых данных.

Что даст больше — сжатие или линеаризация?

Сжатие, если файл тяжёлый: оно убирает мегабайты. Линеаризация ускоряет показ первой страницы, но только на сервере, который умеет отдавать файл по частям.

Стоит ли резать длинный документ на части?

Да, если читателю нужен один раздел из десяти. Короткий файл открывается быстрее по всем причинам сразу: меньше вес, меньше страниц и меньше памяти на устройстве.

Рядом

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