如何在 Linux 中从 MS Office 文档中提取文本?

如何在 Linux 中从 MS Office 文档中提取文本?

我需要一种方法来在 Linux 中从所有 MS Office 文档类型(Word、Excel、Powerpoint)中提取文本。我设想可能有几种不同的方法来实现这一点,例如 Bash 或 Python 脚本,或者将它们转换为 PDF,然后使用 pdftotext 等工具提取文本。

这似乎是一个常见的要求。是否有既定的程序或工具可以轻松实现此目的?

答案1

卡特多克可以将 doc、xls 和 ppt 转换为文本。第二个选项是威盛

更多实用工具请查看http://www.linux.com/archive/articles/52385用于单词到文本的转换器和

答案2

我终于找到了用于脚本文档解析的完美工具,它就是 apache-tika,它可以将无数非文本格式解析为文本,非常酷!

从此处获取 Apache Tika:

http://tika.apache.org/

(Mac Homebrew 用户brew install tika:)

命令行界面的工作方式如下:

tika --text something.docx > something.txt

答案3

艾比沃德可以通过命令行在它知道的任何文件格式之间进行转换。

从 Word 转换为纯文本:

abiword --to=txt myfile.doc

从 Word 文件制作 PDF:

abiword --to=pdf myfile.doc

等等。这些情况下的结果将是 myfile.txt 或 myfile.pdf。如果您想指定输出名称,也可以这样做:

abiword --to=txt --to-name=output.txt myfile.doc

将 ODT 转换为 Word:

abiword --to=doc myfile.odt

将 Word 转换为 ODT:

abiword --to=odt myfile.doc

公平地说,其他答案应该注意的是,AbiWord 使用 wvWare 来处理 Word 文档,但即使wvWare 主页建议在大多数转换中使用 AbiWord。

我讨厌文字处理器。这是我安装 AbiWord 的主要原因。

你也可能对此有兴趣反卷积,这是一个类似的工具,支持 OpenOffice 所知道的格式(包括电子表格等),但我个人没有使用过它。

答案4

你可以使用杯子(虚拟打印机)并使用 ld。

相关内容