1

这个问题在 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());
        }
    }
}
4

0 回答 0