我正在寻找一个库(或命令行工具)来将 MS Office 文档转换为纯文本或 HTML(用于转换为文本)。
它必须在 Linux 上运行(而不是通过 Wine!)。
我找到了antiword,但最后一个版本是2005,所以它不会读取新的Office 2007 格式。
我需要它来阅读 Word、Excel 和 Powerpoint 文档
我正在寻找一个库(或命令行工具)来将 MS Office 文档转换为纯文本或 HTML(用于转换为文本)。
它必须在 Linux 上运行(而不是通过 Wine!)。
我找到了antiword,但最后一个版本是2005,所以它不会读取新的Office 2007 格式。
我需要它来阅读 Word、Excel 和 Powerpoint 文档
新的 office 2007 格式只是 (ZIP) 压缩的 XML。
所有文本(至少为 .docx 格式)都位于 word 文件夹 document.xml 文件中(一旦解压文件)。从所有 XML 标记中剥离它,您将获得文本。毫无疑问,你会失去格式,但如果你想做文本索引或类似的东西,格式无论如何都无关紧要。订单被保留。
我没有分析过 Excel 和 Powerpoint,但方法应该类似。Excel 可能更复杂,这取决于单元格在 XML 文件中的存储方式。
Apache POI 库可以从办公格式中提取文本。这是Tika 在 Lucene中使用的。Tika 可以作为命令行工具执行:
curl http://.../document.doc \
| java -jar tika-app-x.y.jar --text \
| grep -q keyword
PyODConverter用于自动化 OpenOffice。使用它来进行转换。
OONinja 示例将 Doc 转换为 PDF,但任何 OpenOffice 支持的导入或导出都应该可以工作。如果需要,还具有无头工作的优势。
您可以使用具有适当许可证的 Autonomy Keyview 在您的应用程序中使用。它似乎非常强大,可以从几乎所有内容中提取文本;我们用它来识别任意格式文件中的文本。
我不知道许可条款是什么,但可以从您的客户经理处获得 :)