将Microsoft Office文档转换为文本

时间:2009-11-17 06:36:50

标签: linux ms-office office-2007

我正在寻找一个库(或命令行工具)将MS Office文档转换为纯文本或HTML(用于转换为文本)。

它必须在Linux上运行(不是通过Wine!)。

我找到了反词,但最后一个版本是2005年,所以它不会读取新的Office 2007格式。

我需要它来阅读Word,Excel和Powerpoint文档

4 个答案:

答案 0 :(得分:4)

新的Office 2007格式只是(ZIP)压缩的XML。

所有文本(至少以.docx格式)都位于word文件夹document.xml文件中(一旦解压缩文件)。从所有XML标记中删除它,您将获得文本。毫无疑问,你会丢失格式,但如果你想进行文本索引或类似的东西,格式无论如何都不相关。订单保留。

我没有分析Excel和Powerpoint,但方法应该类似。 Excel可能比较复杂,具体取决于单元格如何存储在XML文件中。

答案 1 :(得分:2)

Apache POI库可以extract text from office formats。这由Tika in Lucene使用。 Tika可以command line tool

执行
curl http://.../document.doc \
  | java -jar tika-app-x.y.jar --text \
  | grep -q keyword

答案 2 :(得分:0)

PyODConverter用于自动化OpenOffice。用它来进行转换。
 {\ t}}将Doc转换为PDF,但任何OpenOffice支持的导入或导出都应该有效。如果需要,还具有无头工作的优势。

其他选项包括, OONinja example 或者你真的只想处理命令行Abiword,但我认为它不支持Docx,

答案 3 :(得分:0)

您可以将Autonomy Keyview与相应的许可证一起使用,以便在您的应用程序中使用。它看起来非常强大,可以从几乎所有内容中提取文本;我们用它来识别任意格式文件中的文本。

我不知道许可条款是什么,但可以从您的客户经理处获得:)