我试图用jOpenDocument库从java中填写一个模板。
我想在一个领域开始一条新的路线。正常的新行号(\n)不能工作。
当我在文档中手动执行这一操作并查看xml文件(content.xml)时,我明白了为什么这不起作用。对于外地的每一行,都有一个单独的段落。
因此,也许有一种方法可以将一个对象中的多个段落组合起来,然后调用setField()和多个段落对象。但到目前为止我还没有找到任何解决办法。
代码示例:
EngineTemplate template = new RhinoTemplate(templateFile);
template.setField("nameField", "this is the content\nI wish to be multilined"); 发布于 2017-03-18 17:13:29
基本上,默认情况下跳过\n,但是您可以通过使用%enc:在模板中启动字段名来更改它。
下面是来自org.jopendocument.dom.template.engine.Processor类文档的解释:
从预处理模板内容生成最终文档内容。可以用前缀来控制字段替换的行为: AS_STR下面的表达式将被替换为字符串。对于XML元素,它的树将被输出。 下面的表达式将转换为带有org.jopendocument.dom.OOXML.encodeWS(java.lang.String). ()的字符串,然后使用进行编码 OO_XML下面的表达式将转换为带有toString()的字符串,然后解析为OO_XML。 如果没有指定这些元素,则将XML元素作为OO进行嫁接(只有其子元素),否则值将被简单地设置为字段的文本。
并声明了ENCODE字段:
public static final String ENCODE = "%enc:";https://stackoverflow.com/questions/42877122
复制相似问题