XSQUARE REPORTS
Проектируй шаблоны печатных форм сразу в привычных MS Office/ Мой Офис, Р7 офис. Не нужно никакого дополнительного дизайнера печатных форм
Какие преимущества дает работа с XREPORTS
Требования к запуску
- REST API (xml/json)
- 1 команда для установки - yum install xreports
- 5 параметров для настройки
- 10 минут и первый отчет готов
Требования к окружению
- Нативная генерация XLSx, DOCx, PDF. Независимость от фреймворков и библиотек. 100% своя разработка.
- 15 МБ RAM для работы 10-ти HTTP клиентов
- Любая RPM/DEB based операционная система
- Любая архитектура - X86/ARM/Эльбрус/Байкал
Требования к производительности
- 10 000 отчетов за минуту в конкурентном режиме
- 1 млн строк XLSx за 15 секунд
- массовая печать документов
- нативный парсинг XLSX
- объединение PDF документов
Скорость формирования XLSx:
- 0.129 секунды10 тысяч строк
- 1.3 секунды100 тысяч строк
- 15 секунд1 млн строк
Архитектура решения XREPORTS
- HTTP BY{JSON}<XML>
- XSQUARE-REPORTS SREVERНабор шаблонов
- Готовые документы
Пример вызова сервиса генерации XLSx
Пример вызова сервиса
Для формата XML
curl --request POST --data-binary "@templates/examples/xlsx/base_example_xml.xml" http://localhost:8087/excel_report_xml
Для формата JSON
curl --request POST --data-binary "@templates/examples/xlsx/base_example.json" http://localhost:8087/excel_report_json
Структура ответа
Формат ответа (JSON или XML) может быть задан двумя способами:
- в HTTP заголовке Accept. Поддерживаемые значения:
application/json
иapplication/xml
. - в теле запроса в элементе (объекте)
response-format
. Поддерживаемые значения:json
иxml
.
Приоритет имеет формат, указанный в теле запроса.
Ответ сервиса содержит объект в формате JSON или XML, который включает:
- Описание ошибки (код ошибки, сообщение об ошибке). В случае успешного ответа сервиса возвращается значение
null
. - Результат (закодированный в BASE64 файл документа отчета в формате xlsx).
Формат ответа
{
error: {
code
message
}
result: "[base64 encoded xlsx file]"
}
Пример ответа
{
"error": null,
"result": "UEsDBBQACAAIAPdKo...JwAAAAA="
}
Коды ошибок
Поле code может принимать следующие значения:
“1” - ошибка в запросе;
“2” - ошибка формирования отчета.
Пример для формата JSON
{
"template":
{
"uri": "local",
"id": "template_example_1"
},
"input-data":
{
"ORGANIZATION": "АО «xxxxyyyy»",
"TAG_IN_HEADER_TEST": "Пример верхнего колонтитула",
"TAG_IN_FOOTER_TEST": "Пример нижнего колонтитула",
"CONDITIONAL_TAG_TRUE": "true",
"CONDITIONAL_TAG_FALSE": "false",
"TABLE-NO-FORMAT":
{
"header":
[
"№ п/п",
"№ дела в Арбитражном суде",
"Период задолженности",
"Основной долг, руб. с НДС",
"Проценты, руб.",
"Госпошлина, руб.",
"Неустойка по решению суда",
"Общая сумма погашения, руб.",
"Срок погашения, не позднее"
],
"rows":
[
[
"1",
"А12-1234/2030",
"Октябрь 2017",
"12 345,58",
null,
"23 456,00",
"78 912,41",
null,
"31.08.2019"
]
]
},
"TABLE-FORMATTED":
{
"rows":
[
{
"номер_пп": "1",
"номер_договора": "Пример номера 1",
"район": "Пример района 1",
"предприятие": "Пример предприятия 1",
"дата_отключения": "Пример даты 1",
"адрес": "Пример адреса 1",
"комплексное_поле": "Пример суммы 1"
}
]
},
"images":
{
"IMAGE-1-JPEG":
{
"data": "/9j/4AAQSkZJRgABAQEAYABgAAD…igAooAKKACigAooAKKACigD//Z"
},
"IMAGE-2-JPEG":
{
"data": "/9j/4AAQSkZJRgABAQEAYAB…AooAKKACigAooAKKACigAooA//9k="
}
}
},
"options":
{
"enable-debug-report-save": true,
"formatting": {
"tables": {
"enable-cells-auto-merge": true
}
}
}
}
Преимущества
Заходи и пробуй
Процесс генерации отчетов
Создавайте шаблон документа в привычном формате.
Редактируйте шаблоны там , где Вам удобно: WORD / EXCEL / P7 Office/ Мой офис/ Libre Office
Формируйте попиксельную верстку PDF документов с помощью команд PDF генератора
1 этап генерацииСоздавайте запрос в унифицированном формате в файлах JSON или XML. Благодаря этому источником данных для заполнения шаблонов может быть ваша база данных, веб-страницы, веб-формы, а также сторонние сервисы.
Использование единого сервера отчетов позволяет унифицировать все документы в организации.
2 этап генерацииВ результате сервис сформирует готовый документ в необходимом формате:
DOCX, XLSX, PDF, CSV и т.д.Подготовка шаблона занимает пару минут и может в любое время редактироваться без привлечения разработчиков.
Готовый результат
Сервер отчетов это:
Сервис формирования отчетов из документа-шаблона в формате DOCX по HTTP-запросу в формате JSON или XML
Функциональные возможности:
- формирование отчетов PDF по запросу в формате JSON;
- генерация текстовых данных;
- генерация таблиц;
- добавление изображений;
- генерация графических примитивов;
- использование PDF документов в качестве шаблонов страниц;
- использование тегов в командах для замены подстановочными данными;
- условные команды для управления состоянием генератора;
- объединение PDF документов;
- формирование печатной формы для PDF документа;
Среда исполнения
Оборудование:
RAM - 20Mb
CPU - 1 Core
HDD - 50Mb
Операционные системы:
Совместимо с
- Astra Linux
- RED OS
- Alt Linux
- ROSA
Любые rpm/deb based OS
- Ubuntu 20+
- Red Hat 8+
- Debian 10+
Архитектуры:
- x86-64
- ARM (в том числе байкал)
- e2k Эльбрус