YARG – бесплатное решение для генерации DOCX, XLSX, PDF

В этой статье будет рассмотрен процесс сборки standalone решения YARG для возможности генерации\обработки документов из шаблонов из командной строки.

Нам потребуется JDK. Удалось собрать на JDK 13.0.2. На более новых версиях 16,17 и 11-ой были ошибки сборки. Во время сборки Yarg 2.2.9 автоматически загружается Gradle 6.1.1

Загружаем Yarg 2.2.9, в нашем случае это Release 2.2.9 · cuba-platform/yarg · GitHub

Распаковываем в c:\apps. Запускаем CMD и переходим в c:\apps\yarg-2.2.9\core\

Устанавливаем переменную с JDK 13.0.2 через команду

set JAVA_HOME=”c:\Program Files\Java\jdk-13.0.2″

или можно воспользоваться Liberica JDK x64 от Bellsoft в виде ZIP архива. https://libericajdk.ru/pages/downloads/?version=java-13&release=13.0.2+9&os=Windows

Распакуем Liberica JDK в c:\apps и установим переменную:

set JAVA_HOME=”c:\apps\jdk-13.0.2″

Запускаем сборку gradlew.bat distZip

Будут собраны “бинарные” файлы yarg-console-2.2-SNAPSHOT.zip и yarg-server-SNAPSHOT.zip по следующим путям:

В yarg-console.cmd будет очень длинная строка для переменной CLASSPATH из-за чего будет возникать ошибка:

The input line is too long.
The syntax of the command is incorrect.

Для решения проблемы необходимо удалить строчку для set CLASSPATH и прописать

set CLASSPATH=%APP_HOME%\lib\*

Для поиска ошибок запуска в yarg-console можно установить переменную: set DEBUG=1

Теперь мы готовы к созданию документов на основе шаблонов.

Полезные ссылки:

YARG — open-source библиотека для генерации отчётов / Блог компании Haulmont / Хабр (habr.com)

https://github.com/cuba-platform/yarg/wiki/Standalone-usage

https://github.com/cuba-platform/yarg/releases/latest

https://libericajdk.ru/pages/downloads/

Вливайтесь в общение

2 комментария

  1. Спасибо, хорошая статья. Если бы попалась раньше – сэкономил бы время на установку, а так пришлось самому “пройти”.

    1. Процесс сборки получился весьма увлекательным, но в итоге не пригодился. Было найдено более интересное решение – ClosedXML.
      Кому-то может быть интересным проект Xylophone https://courseorchestra.github.io/xylophone/#system-usage

Оставьте комментарий

Добавить комментарий для Эдуард Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *