如何正确显示包含HTML格式的字符串字段的实体列表

时间:2014-08-12 08:58:02

标签: xdocreport

我有一个实体列表。反过来,它们包含字符串字段,这些字段可以包含h​​tml格式(它们是从富文本区域填充的),包括嵌入的图像。实体列表应作为表格显示在生成的报告中,并显示这些字段中的值。

示例实体代码:

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 个答案:

答案 0 :(得分:0)

如果问题只是嵌入式图像,XDocReport 1.0.4,不支持HTML文本样式的img HTML标记。请参阅HTML Supported styles以了解支持的HTML标记。

如果您在文字样式方面遇到其他问题,请附上docx + java main来创建XDocReport issue