5

我正在寻找用 Java 读取 Word 文档以处理其文本的内容。我所需要的只是文本,没有什么花哨的。我知道 Apache POI,但是它现在不包括对 DOCX 的支持,有什么吗?

4

4 回答 4

5

如果您不需要格式化信息、图像和所有其他花哨的东西,那么这项工作就容易多了。只需大约 5 到 10 行代码即可。

  1. 将 DOCX 视为 zip 文件。它由一堆文件组成,其中包括“document.xml”。使用 ZipInputStream 并单独提取该文件。(您可以使用您最喜欢的 zip 实用程序并打开 docx 并亲自查看!)
  2. 使用 SAX 解析器并读取节点 body/p/r/t 之间的内容 - 瞧,你得到了文本!

这仅在您只需要文本时适用

于 2010-03-01T17:04:54.440 回答
3

通过一些谷歌搜索,我找到了 OpenXML4J。这可能会解决您的问题。在我确信社区中的某个人会有更好的洞察力之前,我没有使用过这个。

注意:这是一个重复的问题。这有解决方案和一些讨论。链接到问题。

于 2010-02-15T04:51:31.963 回答
2

试试apache poi - 它可以处理 doc、docx、xls、xlsx、ppt、pptx。

另一个生产级解决方案是无头模式下的 OpenOffice,它甚至可以在服务器端场景中使用。

于 2012-09-03T10:55:36.570 回答
1

你可以试试 docx4j;见http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/TextUtils.java

于 2010-08-31T03:10:25.510 回答