Описание проекта
Решение должно читать структурированные входные данные (строки по счетам, сторонам договора и позициям), подставлять их в заранее заданные шаблоны и формировать аккуратный PDF. Для каждого типа документа нужен свой шаблон, но все они обязаны иметь единый визуальный стиль: одинаковые колонтитулы, шрифты, поля и цветовые акценты, чтобы весь комплект выглядел как продукт одного бренда. Мы ждём динамические поля, которые подставляют имена клиентов, адреса, даты и суммы, повторяющиеся таблицы позиций с автоматическим подсчётом промежуточных итогов и налогов, а также сквозную нумерацию документов без пропусков и дублей. Система должна запускаться по требованию и по расписанию, складывать готовые файлы в общую папку и вести журнал того, что было сформировано.
Пожалуйста, опишите ваш подход, какие библиотеки или инструменты вы будете использовать и как сделать шаблоны удобными для правки нетехническими сотрудниками. Больше всего мы ценим чистый, задокументированный код и надёжную нумерацию. Что ожидаем получить:
— Рабочий генератор, который делает счета, договоры и отчёты в PDF из данных таблицы и API
— Переиспользуемые шаблоны с динамическими полями, повторяющимися таблицами, автоитогами и единым брендингом
— Автоматическую сквозную нумерацию с безопасным счётчиком без пропусков
— Запуск по расписанию и по требованию с логированием и базовой обработкой ошибок
— Короткую документацию, чтобы команда могла править шаблоны и добавлять новые типы документов