Платформа для массовой подготовки счетов и PDF-документов

Компания СКЭНД разработала платформу для массовой подготовки счетов, квитанций, выписок и других транзакционных документов. Система подставляет данные в шаблоны Adobe InDesign, экспортирует готовые PDF-файлы, распределяет задачи между несколькими серверными узлами Adobe InDesign Server и сохраняет стабильную верстку при высокой нагрузке.

О клиенте

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

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

Клиент искал решение на базе Adobe InDesign Server, которое позволило бы ежедневно формировать большие объемы счетов, квитанций и выписок объемом от 1 до 10 страниц без ручного вмешательства и потери качества.

Задача

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

Основные задачи проекта:

  • готовить до 1 млн транзакционных документов в день;
  • обрабатывать документы объемом от 1 до 10 страниц;
  • сохранять одинаковую верстку и брендовый стиль во всех счетах, квитанциях и выписках;
  • поддерживать длительную работу Adobe InDesign Server без утечек памяти и падения скорости;
  • распределять задачи между несколькими  серверными узлами Adobe InDesign Server;
  • справляться с резким ростом числа задач в очереди;
  • заранее рассчитывать время подготовки больших партий документов.

Краткий обзор проекта

Мы разработали платформу для массовой подготовки транзакционных документов на Adobe InDesign Server.

Когда в систему поступала партия счетов, квитанций или выписок, RabbitMQ распределял задачи между свободными серверными узлами Adobe InDesign Server. За счет этого документы формировались параллельно, а платформа не зависела от одного узла обработки.

Чтобы ускорить формирование документов, команда СКЭНД разработала C++-плагины на базе InDesign SDK и оптимизировала .NET-бэкенд. Это позволило быстрее работать с шаблонами, объектами InDesign и большими партиями однотипных документов.

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

Решение

Платформа стала внутренним сервисом для массового формирования счетов, квитанций, выписок и других PDF-документов на Adobe InDesign Server.

Система принимала входные данные, подставляла их в шаблоны Adobe InDesign, запускала формирование документов через Adobe InDesign Server и сохраняла готовые PDF-файлы. Такой подход подходил для счетов, квитанций, выписок, сводных отчетов и других документов, где важны точная подстановка данных, единое фирменное оформление и высокая скорость подготовки.

RabbitMQ распределял задачи между несколькими узлами Adobe InDesign Server, чтобы платформа могла обрабатывать пиковые нагрузки без остановки. C++-плагины ускоряли работу с шаблонами и объектами InDesign, а .NET-бэкенд управлял задачами, сборкой документов и сохранением результатов.

Ключевые возможности

  • массовая подготовка счетов, квитанций, выписок и отчетов;
  • обработка до 1 млн транзакционных документов в день;
  • работа с документами объемом от 1 до 10 страниц;
  • автоматическая подстановка данных в шаблоны Adobe InDesign;
  • формирование PDF-файлов для печати и электронной отправки;
  • распределение задач через RabbitMQ;
  • параллельная работа нескольких экземпляров Adobe InDesign Server;
  • ускорение операций InDesign через C++-плагины;
  • .NET-бэкенд для управления задачами, сборки документов и сохранения результатов;
  • хранение готовых PDF-файлов в AWS S3;
  • стабильная работа платформы при длительной высокой нагрузке.

Технологический стек

  • Бэкенд: .NET-сервисы для управления задачами и интеграции с Adobe InDesign Server
  • Плагины: C++-плагины на базе InDesign SDK
  • Обработка задач: RabbitMQ
  • База данных: Microsoft SQL Server
  • Инфраструктура: AWS, Terraform, CI/CD
  • Хранение документов: AWS S3

Результаты

Клиент получил платформу, которая ежедневно готовит большие объемы счетов, квитанций, выписок и других транзакционных PDF-документов без ручной обработки.

Команда СКЭНД ускорила работу Adobe InDesign Server за счет C++-плагинов, оптимизации .NET-бэкенда и параллельной работы нескольких серверных узлов Adobe InDesign Server. Это помогло сократить время формирования крупных партий документов и стабильно укладываться в согласованные SLA.

В результате клиент получил:

  • подготовку более 1 млн транзакционных документов в день;
  • стабильную обработку документов объемом от 1 до 10 страниц;
  • рост скорости формирования PDF на 35-50% по сравнению с базовой конфигурацией Adobe InDesign Server;
  • стабильную работу платформы на уровне 99,9% при длительной высокой нагрузке;
  • сокращение времени подготовки крупных партий документов с 4-6 часов до 60-90 минут;
  • подготовку больших партий счетов, квитанций и выписок без срывов SLA.

Нуждаетесь в разработке похожего проекта?

Свяжитесь с нами

Мы любим новые проекты! Напишите нам, и мы ответим вам в ближайшее время.

Спасибо, что написали нам! Ваше сообщение было успешно отправлено. Мы обязательно ответим на него в ближайшее время. Пожалуйста, проверьте, получили ли Вы от нас письмо-подтверждение на указанную Вами почту.