пытаюсь вывести в отчет изображение.
последовательноть действий:
1)создала сервис для получения FileDescriptor. Получаю его успешно и из результата получаю массив byteArrayInputStream = new ByteArrayInputStream(fileStorageService.loadFile(logo));. Возвращаю byteArrayInputStream.toString() byte[].
2) создала отчет. В Форматах значений указала ${bitmap:200x200}.
3) создала шаблон .docx и туда прописала нужный параметр.
В результате при печати получаю вместо картинки вот такое значение: @7d8051b8.
Пожалуйста, помогите разобраться в выводом изображения в отчет.
Подскажите пожалуйста как вы добавляете картинки в отчет формата .docx?
Добрый день, Эльвира
-
Вы храните изображения в CUBA file storage? Если да, используйте формат значений ${imageFileId:WxH} для имени поля в формате (BandName.FieldName), и просто передавайте в отчёт id FileDescriptor’а в запросе, без преобразований в байтовый массив.
-
Если изображения уже хранятся в БД как байтовые массивы, используйте формат ${bitmap:WxH} и получайте в запросе само поле.
Можете посмотреть пример отчёта с изображениями вот здесь.
Пожалуйста, напишите, если у вас останутся вопросы.
Добрый день, Ольга!
У меня получилось вывести файлы первым и вторым способом. Но вот в отчете результат у меня отображается не как картинка, а как массив. Скажите пожалуйста как добиться чтобы в файле отображалась картинка, а не массив?
Квитанции с 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)
Не могли бы вы прикрепить тестовый проект, чтобы мы могли воспроизвести и решить эту проблему?
Добрый день Эльвира,
Пример работающего отчета во вложении для вашего проекта.
Из того что было исправлено:
- Формат значений должен иметь имя: Head.qRcodeimage. В скринах почему то не было имени Band
- Из goovy band для формата значений imageFileId необходимо возвращать id FileDescriptor
тест.zip (15.8K)
Здравствуйте! Ольга, Андрей, у меня все получилось! Спасибо за помощь!
Здравствуйте! Если Band возвращает List с полем FileDescriptor.id, то какое имя должен иметь формат значений?