Добавление изображения в отчет docx

пытаюсь вывести в отчет изображение.
последовательноть действий:
1)создала сервис для получения FileDescriptor. Получаю его успешно и из результата получаю массив byteArrayInputStream = new ByteArrayInputStream(fileStorageService.loadFile(logo));. Возвращаю byteArrayInputStream.toString() byte[].
2) создала отчет. В Форматах значений указала ${bitmap:200x200}.
3) создала шаблон .docx и туда прописала нужный параметр.
В результате при печати получаю вместо картинки вот такое значение: @7d8051b8.
Пожалуйста, помогите разобраться в выводом изображения в отчет.

Подскажите пожалуйста как вы добавляете картинки в отчет формата .docx?

Добрый день, Эльвира

  1. Вы храните изображения в CUBA file storage? Если да, используйте формат значений ${imageFileId:WxH} для имени поля в формате (BandName.FieldName), и просто передавайте в отчёт id FileDescriptor’а в запросе, без преобразований в байтовый массив.

  2. Если изображения уже хранятся в БД как байтовые массивы, используйте формат ${bitmap:WxH} и получайте в запросе само поле.

Можете посмотреть пример отчёта с изображениями вот здесь.

Пожалуйста, напишите, если у вас останутся вопросы.

1 симпатия

Добрый день, Ольга!
У меня получилось вывести файлы первым и вторым способом. Но вот в отчете результат у меня отображается не как картинка, а как массив. Скажите пожалуйста как добиться чтобы в файле отображалась картинка, а не массив?

Квитанции с QR (17).docx (16.0K)

Спасибо, что приложили шаблон отчёта, по нему у меня получилось воспроизвести проблему. В багтреккинговой системе заведен тикет на генератор отчётов.
В качестве воркэраунда попробуйте переименовать диапазон ${Head.QRcodeimage} так, чтобы qRcodeimage начинался с маленькой буквы (соответственно, так же нужно переименовать параметр в запросе и диапазон в шаблоне DOCX.
Обязательно напишите, помогло ли данное решение.

Ольга, как вы и сказали, я переименовала диапазон ${Head.QRcodeimage} на ${Head.qRcodeimage} и изменила этот выпараметр в бэнде и в формате значений, но, к сожалению, это не помогло.
Пока в результирующем файле отчета все еще отображается массив.
Ниже прикрепляю файл Шаблона, файл с Результатом, и скриншоты бэнда и настроек формата значений и все остальные файлы.
“В багтреккинговой системе заведен тикет на генератор отчётов.” - скажите пожалуйста как там авторизоваться чтобы посмотреть результаты?

Шаблон.docx (13.2K)

Шаблон (2).docx (15.4K)

файл Бэнд

формат значений

TestServiceBean.txt (2.3K)

Обновила ссылку, теперь должна быть доступна. С вашей проблемой разбираемся.

Спасибо! Надеюсь на быстрое решение данного бага. Уже неделю как вожусь с этой проблемой, клиенты ждут отчет…

Попробуйте заменить в груви-скрипте test.getByte().toString() на test.getByte()

Здравствуйте, Ольга. Пробовала, до того как задать вопрос. Вот что получаю в результате [B@8eb8c5f

Шаблон (5).docx (12.1K)

Не могли бы вы прикрепить тестовый проект, чтобы мы могли воспроизвести и решить эту проблему?

Да, конечно.

sample-report-generation.rar (290.8K)

Добрый день Эльвира,

Пример работающего отчета во вложении для вашего проекта.
Из того что было исправлено:

  1. Формат значений должен иметь имя: Head.qRcodeimage. В скринах почему то не было имени Band
  2. Из goovy band для формата значений imageFileId необходимо возвращать id FileDescriptor

тест.zip (15.8K)

Здравствуйте! Ольга, Андрей, у меня все получилось! Спасибо за помощь!

Здравствуйте! Если Band возвращает List с полем FileDescriptor.id, то какое имя должен иметь формат значений?

:ticket: See the following issue in our bug tracker:

https://youtrack.cuba-platform.com/issue/YARG-20