Как правильно отобразить список сущностей, содержащих строковые поля с форматированием 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.