**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求书籍、工具、软件库等的建议。您可以编辑问题,以便使用事实和引文来回答。
七年前就关门了。
Improve this question
有人知道他们可以推荐什么东西来从.doc
或.docx
中提取纯文本吗?
我找到了this-想知道是否还有其他建议?
**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求书籍、工具、软件库等的建议。您可以编辑问题,以便使用事实和引文来回答。
七年前就关门了。
Improve this question
有人知道他们可以推荐什么东西来从.doc
或.docx
中提取纯文本吗?
我找到了this-想知道是否还有其他建议?
6条答案
按热度按时间vs3odd8k1#
如果你想要纯文本(我的要求),那么你需要的是
我在command line fu找到的
它解压缩docx文件,得到实际的文档,然后剥离所有的xml标记。显然,所有的格式都丢失了。
sc4hvdpw2#
自由办公室
其中一个选项是libreoffice/openoffice,处于无头模式(确保首先关闭所有其他的libreoffice示例):
有关更多详细信息,请参见以下链接:http://ask.libreoffice.org/en/question/2641/convert-to-command-line-parameter/
有关libreoffice过滤器的列表,请参见http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/config/fragments/filters
由于openoffice命令行语法有点过于复杂,有一个方便的 Package 器可以使这个过程更简单:unoconv。
Apache兴趣点
另一个选择是Apache POI-一个支持良好的Java库,它不同于antiword,可以读取、创建和转换
.doc
、.docx
、.xls
、.xlsx
、.ppt
、.pptx
文件。下面是将
.doc
或.docx
文档转换为纯文本的最简单的Java代码:注意事项:您需要将apache poi库添加到类路径中。在ubuntu/debian上,这些库可以通过
sudo apt-get install libapache-poi-java
安装-这会将它们安装在/usr/share/java
下。对于其他系统,您需要对库执行download操作,并将归档文件解压缩到您应该使用的文件夹中,而不是/usr/share/java
。如果您使用maven/gradle(推荐选项),然后包括org.apache.poi dependencies,如代码片段所示。相同的代码将适用于
.doc
和.docx
,因为所需的转换器实现将通过检查二进制流来选择。编译上面的类(假设它在默认包中,并且apache poi jar在
/usr/share/java
下):运行转换:
一个clonable gradle project,它提取所有必要的依赖项并生成 Package 器shell脚本(使用
gradle installDist
)。yh2wf1be3#
尝试Apache Tika。它使用基于Java的库(其中包括Apache POI)支持大多数文档格式(每种MS Office格式、OpenOffice/LibreOffice格式、PDF等)。它使用起来非常简单:
wko9yo5t4#
尝试使用“反字”或“反字-xp-rb”
我最喜欢的是反话:
http://www.winfield.demon.nl/
下面是一个类似的项目,它声称支持docx:
https://github.com/rainey/antiword-xp-rb/wiki
omhiaaxx5#
我发现wv比catdoc或antiword更好,它可以处理.docx并转换为文本或html,这里是我添加到我的.bashrc中的一个函数,用于在终端中临时查看文件,根据需要更改它。
hiz5n14c6#
我最近处理了这个问题,发现OpenOffice/LibreOffice命令行工具在生产中不可靠(处理了数千个文档,并发处理了几十个)。
最后,我构建了一个轻量级的 Package 器DocRipper,它的速度要快得多,可以从.doc、.docx和.pdf中抓取所有文本而不进行格式化。