如何用java编程创建odt文件?

bar*_*ris 23 java openoffice.org odt

如何以编程方式使用Java创建odt(LibreOffice/OpenOffice Writer)文件?一个"你好世界"的例子就足够了.我查看了OpenOffice网站,但文档不清楚.

Adn*_*nan 13

看看ODFDOM - OpenDocument API

ODFDOM是一个免费的OpenDocument格式(ODF)库.其目的是提供一种简单的通用方法来创建,访问和操作ODF文件,而无需详细了解ODF规范.它旨在为ODF开发人员社区提供易于轻松编程的API,可以移植到任何面向对象的语言.

当前的参考实现是用Java编写的.

// Create a text document from a standard template (empty documents within the JAR)
OdfTextDocument odt = OdfTextDocument.newTextDocument();

// Append text to the end of the document. 
odt.addText("This is my very first ODF test");

// Save document
odt.save("MyFilename.odt");
Run Code Online (Sandbox Code Playgroud)

后来

在撰写本文时(2016-02),我们被告知这些类已被弃用...很长时间,OdfTextDocumentAPI文档告诉您:

从0.8.8版本开始,由Simple API中的org.odftoolkit.simple.TextDocument取代.

这意味着您仍然在项目中包含相同的活动.jar文件simple-odf-0.8.1-incubating-jar-with-dependencies.jar,但是您希望解压缩以下.jar以获取文档:simple-odf-0.8.1-incubating-javadoc.jar而不是odfdom-java-0.8.10-incubating-javadoc.jar.

顺便提一下,文档链接在.zip中下载了一堆jar文件,里面写着"0.6.1"......但是里面的大部分东西看起来更像是0.8.1.我不知道为什么他们在"已弃用"类的文档中说"从0.8.8开始":几乎所有内容都已标记为已弃用.

那么上面的等效简单代码是:

odt_doc = org.odftoolkit.simple.TextDocument.newTextDocument()
para = odt_doc.getParagraphByIndex( 0, False )
para.appendTextContent( 'stuff and nonsense' )
odt_doc.save( 'mySpankingNewFile.odt' )
Run Code Online (Sandbox Code Playgroud)

PS正在使用Jython,但Java应该是显而易见的.


Jea*_*nal 8

我没有尝试过,但使用JOpenDocument可能是一个选择.(它似乎是一个生成OpenDocument文件的纯Java库.)