2014-10-26 51 views
0

我试图用Apache的ODF grabit生成结构良好的OpenDocument文本文件。我希望通过对不同部分的数据使用样式来实现这一点。所以我生成了一个包含我希望使用的所有样式的模板文件。使用ODF工具包在段落上设置样式

我的下一步是尝试使用简单的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?如果是这种情况,那么代码片段将非常感谢。

谢谢。

回答

1

我找到了一个解决方法通过执行以下操作:

Paragraph p = odt.addParagraph("Blah."); 
p.getOdfElement().setStyleName("Abc"); 

我相信,这是一个错误,并从原来的问题代码应该实际工作。因此,我提交了一个bug报告,可以找到here。从迄今为止的回应中我收集到,我假设原始示例中的代码应该正常工作。

相关问题