我正在尝试使用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:";