Иногда простая на первый взгляд задача превращается в полноценный проект с исследованием, тестами и неожиданными находками. Так и вышло с одним из наших заказчиков: нужно было просто — массово генерировать PDF-документы из DOCX-шаблонов. Но «просто» в связке с Битрикс24 — это не всегда просто. Рассказываем, как мы нашли рабочее решение.
Оглавление
1. Как всё началось
2. Переход на Битрикс24
2.1 С какими ограничениями столкнулись
3. Что мы пробовали
3.1 Стандартный сервер Битрикс24
3.2 PHP-библиотеки
4. Что сработало: LibreOffice
5. Как всё устроено
6. Что в итоге получилось
2. Переход на Битрикс24
2.1 С какими ограничениями столкнулись
3. Что мы пробовали
3.1 Стандартный сервер Битрикс24
3.2 PHP-библиотеки
4. Что сработало: LibreOffice
5. Как всё устроено
6. Что в итоге получилось
С чего всё началось
К нам обратилась компания, которая занимается корпоративным обучением. Они отправляют персонализированные приглашения на семинары в PDF — с ФИО, названием организации, должностью, подписью и печатью.
Раньше всё делали вручную: шаблон в DOCX, ручное заполнение, конвертация в PDF, отправка. На малых объемах это работало, но с ростом количества рассылок процесс начал сбоить: вручную обрабатывать сотни и тысячи документов — не вариант.
Раньше всё делали вручную: шаблон в DOCX, ручное заполнение, конвертация в PDF, отправка. На малых объемах это работало, но с ростом количества рассылок процесс начал сбоить: вручную обрабатывать сотни и тысячи документов — не вариант.
Переход на Битрикс24
Решение — автоматизация. Мы внедрили Битрикс24, и идея была понятной: подставляем данные из CRM в шаблон — и формируем письмо. Битрикс24 умеет работать с DOCX-шаблонами и автоматически подставлять значения из карточек клиентов (функционал генератора документов). Но как только дело дошло до массовой конвертации в PDF — начались проблемы.
Ограничения, с которыми мы столкнулись
У встроенного сервиса конвертации в Битрикс24 есть лимиты:
А заказчику нужно было 20–30 тысяч в день. Система просто не давала этого сделать: часть писем не уходила, часть висла, частично терялись данные. Никакие очереди и таймеры ситуацию не спасали.
Даже при использовании коробочной версии Битрикс24 сам модуль PDF-конвертации всё равно работает через облачный сервис Битрикс24, со всеми ограничениями.
Единственный «официальный» способ снять лимиты — перейти на редакцию Enterprise и поставить свой сервер конвертации. Но цена такой лицензии — от 1 299 000 рублей, и для задачи клиента это выглядело как перебор.
- не более 300 PDF-документов в час;
- максимум 2 000 PDF-документов в сутки.
А заказчику нужно было 20–30 тысяч в день. Система просто не давала этого сделать: часть писем не уходила, часть висла, частично терялись данные. Никакие очереди и таймеры ситуацию не спасали.
Даже при использовании коробочной версии Битрикс24 сам модуль PDF-конвертации всё равно работает через облачный сервис Битрикс24, со всеми ограничениями.
Единственный «официальный» способ снять лимиты — перейти на редакцию Enterprise и поставить свой сервер конвертации. Но цена такой лицензии — от 1 299 000 рублей, и для задачи клиента это выглядело как перебор.
Что мы пробовали
1. Стандартный сервер конвертации Битрикс24
Работает — но упирается в лимиты. Расширить можно только через переход на Enterprise, как выше описано, но клиенту это было нецелесообразно.
2. Библиотеки PHP (PHPWord, mPDF, TCPDF, DOMPDF)
Мы протестировали все популярные библиотеки. Результаты — неудовлетворительные:
Итог — подходит только для самых простых документов.
- проблемы с кириллицей;
- изображения съезжают;
- подпись и печать теряются;
- форматирование рушится.
Итог — подходит только для самых простых документов.
Что сработало: LibreOffice
Наконец, мы обратились к решению, которое показало стабильную работу — LibreOffice в headless-режиме, установленный на отдельный сервер.
LibreOffice умеет точно обрабатывать DOCX-документы (это один из его родных форматов), не ломает форматирование и легко запускается по системной команде.
LibreOffice умеет точно обрабатывать DOCX-документы (это один из его родных форматов), не ломает форматирование и легко запускается по системной команде.
Как всё устроено
1. Битрикс24 генерирует DOCX-документ на основе шаблона.
2. Документ передается на внешний сервер.

3. LibreOffice конвертирует его в PDF — быстро и точно.

4. PDF автоматически прикрепляется к письму и уходит клиенту.

Мы интегрировали всё это в бизнес-процесс Битрикс24 — без ручных операций, всё теперь работает автоматически.
Что в итоге получилось
После внедрения LibreOffice в связке с Битрикс24 мы получили устойчивую, масштабируемую и надежную систему для массовой генерации PDF-документов. Конвертация одного документа занимает в среднем всего 0,2 секунды, что позволяет обрабатывать десятки тысяч файлов ежедневно без потери качества.
Нагрузка распределяется равномерно, и система не зависает, не сбоит и не требует постоянного контроля. Мы протестировали нагрузку — решение стабильно справляется с объемами до 30 000 PDF-документов в сутки, что покрывает даже самые амбициозные сценарии массовых рассылок.
Качество конвертации — на высоком уровне: сохраняются подписи, печати, таблицы, стили, выравнивание и другие элементы, что особенно критично для официальных писем, контрактов и сертификатов. Документы на выходе выглядят ровно так, как и должны — без сдвигов, обрезов или искажений.
Самое главное — никаких лимитов, в отличие от стандартной функциональности Битрикс24. Теперь бизнес-процессы работают плавно, а рассылка документов идет непрерывно, в любое время и в любом количестве.
На основании этого опыта мы разработали готовое решение для массовой генерации PDF-документов из DOCX в связке с Битрикс24 — без лимитов, с сохранением форматирования, подписей и печатей.
Нагрузка распределяется равномерно, и система не зависает, не сбоит и не требует постоянного контроля. Мы протестировали нагрузку — решение стабильно справляется с объемами до 30 000 PDF-документов в сутки, что покрывает даже самые амбициозные сценарии массовых рассылок.
Качество конвертации — на высоком уровне: сохраняются подписи, печати, таблицы, стили, выравнивание и другие элементы, что особенно критично для официальных писем, контрактов и сертификатов. Документы на выходе выглядят ровно так, как и должны — без сдвигов, обрезов или искажений.
Самое главное — никаких лимитов, в отличие от стандартной функциональности Битрикс24. Теперь бизнес-процессы работают плавно, а рассылка документов идет непрерывно, в любое время и в любом количестве.
На основании этого опыта мы разработали готовое решение для массовой генерации PDF-документов из DOCX в связке с Битрикс24 — без лимитов, с сохранением форматирования, подписей и печатей.
Готовы внедрить его в вашей компании — под нужные объемы и инфраструктуру.
Связаться с нами
Посетите наш сайт
Посетите наш сайт