Назначение
Демо-класс ZCL_XTT_DEMO_100 заменяет изображения-заполнители в XLSX, DOCX, Word XML и PDF. Заполнитель сохраняет заданные в шаблоне размеры, положение, рамку и другие визуальные свойства.
Изображения в шаблоне
Как удобнее показать в шаблоне что в данном месте будет отображено несколько картинок?
Если в шаблоне заранее известное количество рисунков, можно создать пустые изображения и менять из содержимое в runtime. Проблем с подменой содержимого не возникает, тк в форматах на основе XML изображения обычно хранятся в base64, в офисных пакетах это картинки в определенных директориях в самом zip архиве шаблона. Тут все довольно просто
Простые картинки
Если вывод ни чем не осложнен и картинка в шаблоне это обычный прямоугольник, можно описать картинку как и прочие поля

На стороне ABAP нам понадобиться лишь 1 дополнительный класс zcl_xtt_image. Его инстанция и будет готовое изображение
img TYPE REF TO zcl_xtt_image, " <--- IMAGE
При создании объекта нужно будет передать лишь двоичные данные (iv_image TYPE xString)
" Create new instance
<ls_icon>-img = zcl_xtt_image=>create_image( iv_image = lv_image ).
Дополнительно можно передать размер изображения и его формат (расширение)
" Create new instance
<ls_icon>-img = zcl_xtt_image=>create_image( iv_image = lv_image
iv_ext = '.gif'
iv_width = lv_width
iv_height = lv_height ).
Но что если нам нужна еще рамка для изображения и скругленные края?
Шаблоны картинок
Если добавлять параметры в виде текста {R-T-IMG;borderColor=black;border-style=dotted} таких параметров будет очень много и сама реализация будет сильно отличаться в pdf от Excel.
1) Excel
Самый простой вариант добавить в альтернативный текст ID для данного поля

Но данный способ совсем не информативен (его просто не видно), и чтобы облегчить жизнь абаперу, который будет искать откуда растут ноги у данной картинки, можно назвать само изображение в соответствии с передаваемым в шаблон полем ABAP

Вот так будет понятнее, но чтобы минимизировать количество проклятий, можно сделать еще проще
Просто указать поле вместе с шаблоном для картинки в одной ячейке Excel

Результат Excel

2) Word
Кузен Excel также имеет поле альтернативный текст.
Но легко ли его заметить? В Word есть закладки и гиперссылки, но они также имеют тот же не достаток

В примечаниях его заметить будет намного проще

Результат Word

3) Pdf
И на конец, горячо любимый формат печати Pdf & LiveCycle Designer
Может не только использовать тексты, и менять тип на Image

Но и позволяет, при определенном желании, давать имена в фигурных скобках на вкладке XML Source

Но можно также указать его в URL (правда это не так заметно)

Результат Pdf
