Как облегчить PDF для сайта
Рычагов два, и они делают разное. Сжатие перерисовывает страницы картинками: разрешение считается по формуле dpi = 72 + качество/100 × 228, качество JPEG — 0,30 + качество/100 × 0,65. Это убирает мегабайты, но вместе с ними уходит текстовый слой. Перезапись структуры вес почти не трогает, зато ускоряет показ первой страницы. Для файла на сайте порядок такой: сначала выбросить лишнее, потом сжать, в конце линеаризовать.
Коротко о цифрах
- Формула DPI
- dpi = 72 + качество/100 × 228, диапазон 72…300
- Качество JPEG
- 0,30 + качество/100 × 0,65
- Подбор под размер
- бисекция, не больше 7 ререндеров, сначала проверяются обе границы
- Потолок холста
- 4096 px по стороне: A3 при 300 DPI зажимается до ≈248 DPI
- Цена растеризации
- текстовый слой исчезает: ни поиска, ни выделения, ни чтения с экрана
- Порядок операций
- убрать лишнее → сжать → линеаризовать
Что выбрать под задачу
- Внутри сканы и вес в десятки мегабайт — сжимайте: растеризация здесь ничего не отнимает, текста в сканах и так нет.
- Внутри текстовый документ, который читают и ищут — не растеризуйте: потеряете поиск, копирование и доступность.
- Файл нормального веса, но долго показывает первую страницу — линеаризуйте, это другая проблема.
- Нужен конкретный потолок по весу — задайте целевой размер: подбор идёт бисекцией, не больше семи ререндеров, сначала обе границы.
- Цель недостижима — вы получите самый маленький возможный файл и прямое сообщение, а не молча превышенный лимит.
Разрешение под экран
Для документа, который читают с экрана, 150 DPI обычно достаточно: на ползунке это примерно середина шкалы. Триста нужны, когда документ будут печатать или увеличивать фрагменты — например, чертёж или прайс с мелкими сносками. Ниже сотни имеет смысл опускаться только под жёсткий лимит: мелкий шрифт превращается в серую рябь.
Помните про потолок холста: сторона больше 4096 пикселей зажимается. A4 при 300 DPI — это 2480 × 3508 и проходит спокойно, а A3 потребовал бы 4961 пикселя и сам опустится примерно до 248 DPI. Для сайта это редко проблема, но объясняет, почему большой лист сжимается не так, как вы задали.
Порядок для публикации
- Удалите то, что не нужно читателю: приложения, дубли, пустые листы между разделами.
- Если внутри сканы, сожмите документ и посмотрите результат на телефоне, а не только на большом экране.
- Если внутри текст, не растеризуйте его вовсе — переходите сразу к следующему шагу.
- Линеаризуйте файл: первая страница начнёт показываться до окончания загрузки.
- Выложите новую версию под тем же именем, чтобы не сломать существующие ссылки.
- Проверьте вес ссылки на мобильном интернете: то, что незаметно на кабеле, заметно на телефоне.
Частые вопросы
Какое разрешение брать для файла на сайте?
Сто пятьдесят точек на дюйм для чтения с экрана и триста, если документ будут печатать. Меньше сотни берите только под жёсткий внешний лимит по весу.
Почему после сжатия по документу перестал работать поиск?
Сжатие перерисовывает страницы картинками, и текстовый слой исчезает вместе с ними. Для текстового документа на сайте это плохая сделка: обычно достаточно линеаризации.
Что делать, если файл всё равно тяжёлый?
Разделите его: читателю чаще нужен один раздел, а не подшивка целиком. Короткий файл выигрывает сразу по весу, числу страниц и памяти на устройстве.
Линеаризовать до сжатия или после?
После. Сжатие перезаписывает документ целиком и раскладку объектов не сохраняет, поэтому линеаризация, сделанная раньше, просто пропадёт.