在 ODT 文档中使用 jOpenDocument 的字段中换行



我正在尝试使用jOpenDocument库从java填写模板。

我想在字段中开始一个新行。 正常的新行号 () 不起作用。

当我在文档中手动执行此操作并查看 xml 文件(content.xml)时,我明白为什么这不起作用。对于字段中的每个新行,都有一个单独的段落。

所以也许有一种方法可以在一个对象中组合多个段落,然后用多个段落对象调用 setField()。但直到现在我还没有找到任何解决方案。

代码示例:

EngineTemplate template = new RhinoTemplate(templateFile);
template.setField("nameField", "this is the contentnI wish to be multilined"); 

基本上n默认跳过,但您可以通过在模板中以%enc:开头的字段名称来更改它。

以下是org.jopendocument.dom.template.engine.Processor类文档中的说明:

从预处理的模板内容生成最终文档内容。 字段替换的行为可以通过前缀来控制:

AS_STR以下表达式将替换为字符串。对于 XML 元素,将输出其树。

ENCODING以下表达式将使用 toString() 转换为字符串,然后使用 org.jopendocument.dom.OOXML.encodeWS(java.lang.String) 进行编码。

OO_XML,以下表达式将使用 toString() 转换为字符串,然后解析为 OO XML。

如果未指定这些元素,则 XML 元素将被视为要移植的 OO XML(仅其子元素),否则该值将仅设置为字段的文本。

并声明ENCODE字段:

public static final String ENCODE = "%enc:";

最新更新