2

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

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

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

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

4

4 回答 4

4

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

所有文本(至少为 .docx 格式)都位于 word 文件夹 document.xml 文件中(一旦解压文件)。从所有 XML 标记中剥离它,您将获得文本。毫无疑问,你会失去格式,但如果你想做文本索引或类似的东西,格式无论如何都无关紧要。订单被保留。

我没有分析过 Excel 和 Powerpoint,但方法应该类似。Excel 可能更复杂,这取决于单元格在 XML 文件中的存储方式。

于 2009-11-17T06:58:34.803 回答
2

Apache POI 库可以从办公格式中提取文本。这是Tika 在 Lucene中使用的。Tika 可以作为命令行工具执行:

curl http://.../document.doc \
  | java -jar tika-app-x.y.jar --text \
  | grep -q keyword
于 2009-11-17T08:12:09.057 回答
0

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

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

于 2009-11-17T07:42:32.023 回答
0

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

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

于 2009-11-17T21:59:24.020 回答