我有一个实体列表。反过来,它们包含字符串字段,这些字段可以包含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)
,但是,例如,不会显示此处的嵌入图像。此外,列表在前子弹中有一些奇怪的空符号。
如何正确显示字段?以及如何正确显示列表字段?
答案 0 :(得分:0)
如果问题只是嵌入式图像,XDocReport 1.0.4,不支持HTML文本样式的img HTML标记。请参阅HTML Supported styles以了解支持的HTML标记。
如果您在文字样式方面遇到其他问题,请附上docx + java main来创建XDocReport issue。