有没有一种合理的方法可以从不依赖COM自动化的Word文件中提取纯文本? (这是在非Windows平台上部署的Web应用程序的功能-在这种情况下是不可协商的。)

Antiword似乎是一个合理的选择,但似乎已被放弃。

Python解决方案将是理想的选择,但似乎不可用。

最佳答案

我为此使用catdoc或反字词,无论给出的结果是最容易解析的。我已经将其嵌入到python函数中,因此在解析系统(以python编写)中易于使用。

import os

def doc_to_text_catdoc(filename):
    (fi, fo, fe) = os.popen3('catdoc -w "%s"' % filename)
    fi.close()
    retval = fo.read()
    erroroutput = fe.read()
    fo.close()
    fe.close()
    if not erroroutput:
        return retval
    else:
        raise OSError("Executing the command caused an error: %s" % erroroutput)

# similar doc_to_text_antiword()

-w切换到catdoc会关闭换行,BTW。

10-08 18:24