Все кейсы

Performance / Bitrix / PDF Diagnostics

Диагностика большого PDF на 1С-Битрикс

PDF открывался, но его размер мешал отправке и хранению. Я разбирал возможные источники объёма и порядок проверки ресурсов. Замеров до и после в этом кейсе нет.

Автор: Ярослав Мусатов Опубликовано: Обновлено:
НаправлениеПроизводительность
Год2025
СрокДиагностическая задача
РольFullstack Developer

Личная зона ответственности

Мой вклад

Здесь перечислена выполненная мной работа в рамках задачи, а не авторство всего продукта или результат всей команды.

  • Локализовал причины проблем при формировании большого PDF в 1С-Битрикс.
  • Проверил HTML, стили, изображения и серверные ограничения по этапам.
  • Сформировал безопасный сценарий диагностики без случайных production-правок.

Задача по поиску причины тяжёлого PDF

На проекте с 1С-Битрикс PDF формировался и открывался, но был слишком большим для отправки и хранения.

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

Какие причины проверялись

Я рассматривал несколько типичных источников веса: оригиналы изображений, встроенные шрифты, SVG, Base64-данные, дублирующиеся ресурсы и параметры генератора. Важно было отделить визуальный размер элемента на странице от физического размера ресурса, который попадает в PDF.

CSS может показать изображение маленьким, но если в HTML передан оригинал, PDF-движок всё равно получает исходный файл. Для Bitrix это особенно актуально: CMS может отдавать оригинальные изображения вместо подготовленных версий, если в шаблоне не выбран нужный размер.

Как искалась причина большого веса

Диагностика строилась вокруг исключения факторов. Сначала нужно понять, тяжёлый ли сам HTML, затем - какие ресурсы он подтягивает, затем - что именно попадает в PDF. Если после удаления или замены группы изображений размер резко меняется, причина ближе к медиа. Если нет - стоит смотреть шрифты, SVG или особенности генератора.

Здесь важнее сам метод диагностики: сначала проверить ресурсы до генерации, а уже потом разбираться с итоговым PDF. Такой подход помогает быстрее найти реальную причину большого веса документа.

  • Проверить, какие изображения реально попадают в PDF
  • Сравнить оригиналы и оптимизированные версии ресурсов
  • Отдельно проверить шрифты, SVG и Base64-вставки

Какие решения можно применять после диагностики

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

Размер картинки в вёрстке не показывает, сколько байтов попадёт в PDF.

Что дала такая проверка

Был определён порядок проверки: исходный HTML, изображения, шрифты, SVG, Base64 и настройки PDF-генератора. Причину большого размера и эффект конкретной оптимизации нужно подтверждать отдельными замерами.

С чего начинать проверку размера PDF

В PDF-задачах нельзя доверять визуальному виду страницы. Маленькая картинка на экране может быть большим оригиналом внутри документа. Поэтому диагностика должна начинаться до генерации: с того, какие данные и ресурсы вообще получает процесс.

Стек

Bitrix
PHP
PDF
HTML
CSS

Связанные услуги

Если у вас похожая задача, посмотрите состав работ и порядок оценки.

Как диагностировать сбой сайта, когда полных логов нет