我正在尝试使用Apache的ODF编辑生成结构良好的OpenDocument文本文件。我希望通过为不同的数据部分使用样式来实现这一点。所以我生成了一个包含我想要使用的所有样式的模板文件。
我的下一步是尝试使用Simple ODF API来设置我的文档。显然这是推荐的方法。出于测试目的,我决定保持简单。所以现在我只想给一个段落一个预定义的样式。
这是我写的代码:
public static void main(String[] args) throws Exception {
TextDocument odt = TextDocument.loadDocument("template.ott");
// List the paragraph styles, just to check if 'Abc' is actually there.
// Which it is.
OdfOfficeStyles styles = odt.getOrCreateDocumentStyles();
for (OdfStyle e : styles.getStylesForFamily(OdfStyleFamily.Paragraph)) {
System.out.println(e.getStyleNameAttribute());
}
// Create a paragraph, and give it the style 'Abc'
Paragraph p = odt.addParagraph("Blah.");
p.setStyleName("Abc");
// Save the file
odt.save("result.odt");
}
但是,这似乎不起作用。 'Blah'。我添加的段落显示默认样式。看起来好像在最近几个版本中发生了很多变化,因此文档很少。
使用Simple ODF API我想要什么?或者我应该查看实际的ODFDOM API?如果是这种情况,我会非常感谢您的代码片段。
感谢。
答案 0 :(得分:1)
我通过执行以下操作找到了解决方法:
Paragraph p = odt.addParagraph("Blah.");
p.getOdfElement().setStyleName("Abc");
我确信这是一个错误,原始问题的代码应该可行。因此,我提交了一份可以找到的错误报告here。从目前为止的回复中我得出的结论是,我假设原始示例中的代码应该正常工作。