披露:我领导docx4j项目
虽然docx4j也可以处理pptx和xlsx,但它主要用于docx操作.作为例证,在写作时,docx4j forum中有近1000个主题.pptx论坛只有10%的音量.
无论您想要使用docx文档,docx4j应该能够帮助您.有一个通用工作流程的single page overview.
对于许多常见的要求,docx4j提供了更高级别的API.这些包括:
>创建/打开/保存docx(当然)
>报告/文件生成,使用各种方法:(i)变量
替代,(ii)XML数据绑定(特别强),和(iii)Mailmerge
>导出为HTML,XHTML
>导出为PDF(带字体支持)
对于其他任何东西,您可以将docx的JAXB表示操作到您心脏的内容. JAXB是一个Java社区标准,包含在Java 6中,并在EclipseLink的MOXy中有强大的替代实现. (POI使用XML Bean而不是JAXB)
有一个web app可以帮助您探索docx,并生成Java代码来创建相应的Java对象.
当然,如果你有一些具体的任务,那么可能是docx4j或者POI在那里有一个特别的优势.
docx4j和POI都是ASL v2许可的.
docx4j积极维护;其源代码为on GitHub.
此外,如果您需要docx4j,也可以使用商业支持,以及多个商业扩展,例如MergeDocx.
docx4j确实依靠POI作为OLE 2复合文档格式的its implementation的库,我们非常感激.