3

如何在 Java 中打开 Microsoft Word docx 文件?此外,如果它受密码保护,我该如何打开它?

例如,

File f = new File("hello.docx");

请尽量避免回应诸如“你不应该这样做”之类的内容。我有一个很好的理由,所以当你回答时请坚持这个问题。多谢!

4

6 回答 6

6

有用于处理 MS Office 文件的Apache POI项目。DOCX 文件只是一个包含一系列 XML 文件的 zip 文件,因此您可以解压缩文件并使用 XML。XML 规范(Open XML)是已知的。

于 2012-04-25T17:42:53.847 回答
3

我没有亲自使用它,但看起来 Apache POI 会为你工作:http: //poi.apache.org/

于 2012-04-25T17:40:59.500 回答
3

您也可以使用 docx4j。http://www.docx4java.org/trac/docx4j

于 2012-04-25T17:51:30.187 回答
2

我使用过 docx4j 和 Apache 的 POI 库,如果您使用 .docx,我会推荐 .docx4j。自动化了很多创建 .docx 的过程。
这里有一个很好的例子:http: //java.dzone.com/articles/create-complex-word-docx 关于如何使用 docx4j 包创建 .docx。

于 2012-11-02T17:26:45.950 回答
1

如果 docx 受密码保护,则它不会是 zip 文件。这将是一个复合文件。请参阅受保护的 Office Open XML 文档概述

要在 Java 中读取复合文件,请使用POIFS。POIFS 是 POI 的一部分(docx4j 也使用它,所以如果您下载 docx4j 发行版,您将能够使用 POIFS API)

解密加密包后,您可以使用 docx4j 或 POI 读取它。

编辑:好的,现在 docx4j 可以自动处理受密码保护的 docx

于 2012-04-26T04:00:16.587 回答
0

您是否尝试过使用Open Office api打开它?它可以与许多文档类型一起使用。

我将它与 MS Excel 文件 .xls(旧版本)格式一起使用。

希望这可以帮到你。

于 2012-04-25T17:43:29.617 回答