Как правильно отобразить список сущностей, содержащих строковые поля с форматированием HTML

У меня есть список лиц. Они, в свою очередь, содержат поля String, которые могут содержать html-форматирование (они заполнены областями форматированного текста), включая встроенные изображения. Список объектов должен отображаться в сгенерированном отчете в виде таблицы с указанием значений в этих полях.

Пример кода объекта:

public class Entity {
    String htmlFormatted;
    String anotherHtmlFormatted;
    List<String> listOfHtmlFormattedStrings;
    // ...
}

Я загружаю шаблон отчета, добавляю к нему список сущностей и обрабатываю его:

IXDocReport report = ...
// metadata
metadata.addFieldAsTextStyling("entity.anotherHtmlFormatted", SyntaxKind.Html);

List<Entity> entities = new ArrayList<Entity>();
// add a list
entities.add(...);
context.put("entities", entities);

OutputStream out = new FileOutputStream(new File("..."));
report.process(context, out);

Файл шаблона docx содержит #foreach($entity in $entities) директива вокруг стола. В таблице ячейки заполнены с использованием, например, $entity.anotherHtmlFormattedи поля списка отображаются в пределах своего собственного foreach в ячейках.

я использую metadata.addFieldAsTextStyling("entity.htmlFormatted", SyntaxKind.Html), но, например, встроенные изображения в этом не отображаются. Кроме того, в списках есть несколько странных пустых символов в передних маркерах.

Что мне сделать, чтобы получить правильное отображение полей? А как правильно отобразить поля списка?

1 ответ

Если проблема заключается только во встроенных изображениях, XDocReport 1.0.4 не поддерживает тег img HTML для стилизации текста HTML. См. HTML Поддерживаемые стили, чтобы узнать, какие теги HTML поддерживаются.

Если у вас есть другие проблемы со стилем текста, пожалуйста, создайте проблему XDocReport, подключив ваш docx+java main.

Другие вопросы по тегам