这个问题在 2014 年 10 月已经被另一位成员问过,但是孵化的 simple-odf.0.8.1 似乎并没有解决问题。
我正在尝试生成 ODF 文本文档 (*.odt),将样式应用于新生成的段落。使用 LibreOffice 5 打开生成的文档时,新生成的段落以默认样式显示,而不是想要的样式。
我做错了什么还是有一个尚未纠正的错误?
import java.io.FileOutputStream;
import org.odftoolkit.odfdom.dom.style.OdfStyleFamily;
import org.odftoolkit.odfdom.incubator.doc.office.OdfOfficeStyles;
import org.odftoolkit.odfdom.incubator.doc.style.OdfStyle;
import org.odftoolkit.simple.TextDocument;
import org.odftoolkit.simple.text.Paragraph;
public class Test {
public static void main(String[] args) {
try {
// Loading template document with styles
TextDocument doc = (TextDocument)TextDocument.loadDocument("Template.odt");
// Checking if "MyStyle" is included
OdfOfficeStyles styles = doc.getOrCreateDocumentStyles();
for (OdfStyle e : styles.getStylesForFamily(OdfStyleFamily.Paragraph)) {
System.out.println(e.getStyleNameAttribute());
}
// Adding a styled paragraph, first way
Paragraph paragraph = doc.addParagraph("Text before setting style");
paragraph.setStyleName("MyStyle");
// adding a styled paragraph, other way just to be sure
paragraph = doc.addParagraph("");
paragraph.setStyleName("MyStyle");
paragraph.setTextContent("Text after setting style");
// Saving the result
doc.save(new FileOutputStream("Result.odt"));
System.out.println("saved");
} catch (Exception ex) {
System.err.println("ex=" + ex.getMessage());
}
}
}