How can I create an odt (LibreOffice/OpenOffice Writer) file with Java programmatically? A "hello world" example will be sufficient. I looked at the OpenOffice website but the documentation wasn't clear.

解决方案

ODFDOM is a free OpenDocument Format

(ODF) library. Its purpose is to

provide an easy common way to create,

access and manipulate ODF files,

without requiring detailed knowledge

of the ODF specification. It is

designed to provide the ODF developer

community with an easy lightwork

programming API portable to any

object-oriented language.

The current reference implementation

is written in 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");

later

As of this writing (2016-02), we are told that these classes are deprecated... big time, and the OdfTextDocument API documentation tells you:

As of release 0.8.8, replaced by org.odftoolkit.simple.TextDocument in

Simple API.

This means you still include the same active .jar file in your project, simple-odf-0.8.1-incubating-jar-with-dependencies.jar, but you want to be unpacking the following .jar to get the documentation: simple-odf-0.8.1-incubating-javadoc.jar, rather than odfdom-java-0.8.10-incubating-javadoc.jar.

Incidentally, the documentation link downloads a bunch of jar files inside a .zip which says "0.6.1"... but most of the stuff inside appears to be more like 0.8.1. I have no idea why they say "as of 0.8.8" in the documentation for the "deprecated" classes: just about everything is already marked deprecated.

The equivalent simple code to the above is then:

odt_doc = org.odftoolkit.simple.TextDocument.newTextDocument()

para = odt_doc.getParagraphByIndex( 0, False )

para.appendTextContent( 'stuff and nonsense' )

odt_doc.save( 'mySpankingNewFile.odt' )

PS am using Jython, but the Java should be obvious.

java解析odt,如何用java以编程方式创建odt文件?相关推荐

  1. java生成和读取keystore_java-如何以编程方式创建新的KeyStore?

    java-如何以编程方式创建新的KeyStore? 我正在尝试以编程方式在Java中创建新的密钥库. 如下代码: KeyStore keyStore = KeyStore.getInstance(Ke ...

  2. 动态生成word文档原来如此简单!Aspose.Words助力以Java编程方式创建丰富的Word文档

    近年来,Word文档的动态生成已成为组成报告,报价,发票和其他类型文档的流行功能.各种制造公司都基于数据库中存储的数据生成发票.在这种情况下,文档自动化可以节省手动文档创建过程中所需的时间,精力和资源 ...

  3. unity c 语言教程,程序丨Unity教程:如何用最简单的方式创建Simplex噪声?

    原标题:程序丨Unity教程:如何用最简单的方式创建Simplex噪声? 翻译:刘甜甜(青悠) 审校:周伟杰 (Senser) 在本篇教程中,你将学会创建Value噪声与Perlin噪声的替代噪声,即 ...

  4. MATLAB自动驾驶学习(3)——以编程方式创建驾驶场景的变体

    前言 以编程方式创建使用驾驶方案设计器应用生成的驾驶方案的变体,便于基元场景的快速组合生成,能够在多个条件下快速测试驾驶算法,一般在自动化测试时很有用.主流的自动驾驶仿真软件中都支持在程序中直接改变场 ...

  5. 如何使用C#以编程方式将MPP文件转换为PDF?

    Microsoft Project文件用于组织和管理项目中的不同任务.您可以使用C#以编程方式将MPP文件转换为PDF.本文将介绍以下内容: 使用C#以编程方式将MPP转换为PDF 在C#中将MPP转 ...

  6. java解析字符串_用Java解析字符串有哪些不同的方法?

    用Java解析字符串有哪些不同的方法? 对于解析播放器命令,我最常使用split方法通过定界符对字符串进行分割,然后再通过一系列ifs或switches找出其余部分. Java中解析字符串的几种不同方 ...

  7. java+解析未知json_在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例...

    java+解析未知json 使用Jackson API在Java中解析JSON时的常见问题之一是,当您的JSON包含未知属性(即您的Java类没有对应于所有JSON属性的所有字段)时,该操作将失败. ...

  8. 如何用命令行写java程序_如何用java实现doc命令行

    如何用java实现doc命令行, dir显示当前所有目录下的文件 cd 文件目录 进入到该目录 cd ..退到上级目录,一面是我写的代码,调试了. 不过有点小bug就是当你进去的是文件就会提示空指针异 ...

  9. java 解析器_高性能Java解析器实现过程详解

    如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...

最新文章

  1. vnc用户名 查看linux_linux 查看vnc服务器
  2. 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第11章-大系统的分散控制
  3. 2016 server sql 错误53_MS SQL Server 错误53 错误17是什么?如何解决
  4. spring smtp_使用Spring使用Java发送电子邮件– GMail SMTP服务器示例
  5. eclipse中birt插件使用_waves教学:如何使用通道条插件在DAW中创建模拟工作流
  6. VScode 格式化代码快捷键、修改快捷键
  7. centos7删除符号链接_如何在 Linux 上查找和删除损坏的符号链接 | Linux 中国
  8. 使用yo -v查看yeoman版本号
  9. MFC CImageList序列图的用法
  10. mysql表删除后恢复
  11. 图灵革命如何颠覆我们对世界的认知?
  12. 面试官问你期望的工资是多少,怎么回答最好?
  13. Python使用百度地图API实现地点信息转换及房价指数热力地图
  14. React Native入门——布局实践:开发京东客户端首页
  15. 颠覆虚拟机的神器——WSL来了
  16. Linux 查看服务器cpu信息常用命令大全
  17. 2021年全国姓名报告出炉,你的姓与名上榜了吗?
  18. NYOJ 20 吝啬的国度
  19. 移动终端软件测试基础知识,移动终端软件测试基础知识 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  20. java就是我的幸福,我的幸福我的人生

热门文章

  1. 阿里云rds mysql坑_配置ECS上自建MySQL作为RDS从库过程中踩到的坑
  2. canvas画渐变线条
  3. Android-线程常用方法-线程同步
  4. 【深度长文】细思极恐的YouTube可跳过广告
  5. 即时配送-小程序使用
  6. HIT软构lab2中GraphPoet的一种实现
  7. python 实现单因素方差分析(1)
  8. linux 虚拟机nat模式网络配置
  9. 【数据科学】相关书籍推荐
  10. Chrome插件英雄榜V2.0