使用 ODF 工具包设置段落样式
Posted
技术标签:
【中文标题】使用 ODF 工具包设置段落样式【英文标题】:Setting style on a paragraph using ODF toolkit 【发布时间】:2014-10-26 14:43:06 【问题描述】:我正在尝试使用 Apache 的 ODF takeit 生成结构良好的 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");
但是,这似乎不起作用。 “废话”。我添加的段落以默认样式显示。看起来在最近几个版本中发生了很多变化,因此文档相当稀缺。
使用 Simple ODF API 可以实现我想要的吗?或者我应该查看实际的 ODFDOM API?如果是这种情况,我们将非常感谢您提供代码 sn-p。
谢谢。
【问题讨论】:
【参考方案1】:我通过执行以下操作找到了解决方法:
Paragraph p = odt.addParagraph("Blah.");
p.getOdfElement().setStyleName("Abc");
我确信这是一个错误,原始问题中的代码应该可以正常工作。因此,我提交了一个可以在here 找到的错误报告。从到目前为止的响应中,我了解到我对原始示例中的代码应该可以工作的假设是正确的。
【讨论】:
以上是关于使用 ODF 工具包设置段落样式的主要内容,如果未能解决你的问题,请参考以下文章
CSSCSS 文本样式 ③ ( 文字排版案例一 | 设置标题 | div 中设置布局 | hr 标签设置横线 | p 标签分割段落 | 设置页面总体文字大小 | 修改 h1 标签样式 )