如何在 Java 中打开 Microsoft Word docx 文件?此外,如果它受密码保护,我该如何打开它?
例如,
File f = new File("hello.docx");
请尽量避免回应诸如“你不应该这样做”之类的内容。我有一个很好的理由,所以当你回答时请坚持这个问题。多谢!
有用于处理 MS Office 文件的Apache POI项目。DOCX 文件只是一个包含一系列 XML 文件的 zip 文件,因此您可以解压缩文件并使用 XML。XML 规范(Open XML)是已知的。
我没有亲自使用它,但看起来 Apache POI 会为你工作:http: //poi.apache.org/
您也可以使用 docx4j。http://www.docx4java.org/trac/docx4j
我使用过 docx4j 和 Apache 的 POI 库,如果您使用 .docx,我会推荐 .docx4j。自动化了很多创建 .docx 的过程。
这里有一个很好的例子:http: //java.dzone.com/articles/create-complex-word-docx
关于如何使用 docx4j 包创建 .docx。
如果 docx 受密码保护,则它不会是 zip 文件。这将是一个复合文件。请参阅受保护的 Office Open XML 文档概述
要在 Java 中读取复合文件,请使用POIFS。POIFS 是 POI 的一部分(docx4j 也使用它,所以如果您下载 docx4j 发行版,您将能够使用 POIFS API)
解密加密包后,您可以使用 docx4j 或 POI 读取它。
编辑:好的,现在 docx4j 可以自动处理受密码保护的 docx。