【问题标题】:Apache Tika on python extracts text from pdf on MacBook Pro but not Windows serverpython上的Apache Tika从MacBook Pro上的pdf中提取文本,但不是Windows服务器
【发布时间】:2018-12-05 13:14:25
【问题描述】:

如上所述,我在 python 中使用 tika 从多个文档中提取文本,但在一个特定的 pdf 中,它在我的开发机器 (MacBook Pro) 上提取文本,而不是在 Windows Server 2012 上,它返回一个“NoneType” '。

非常混乱,一开始我以为是库,但它使用的是来自 apache (1.19.1) 的相同 jar 文件

try:
    headers = {'X-Tika-PDFextractInlineImages': 'true',}  
    data = parser.from_file(pathtofile, serverEndpoint=self.TIKA_SERVER, headers=headers)
    charstoreturn = data['content'].strip().split()[:limit]
    charstoreturn = ' '.join(charstoreturn).replace("\n", " ").replace('"', "'").replace(",","").replace("’","'")
    return True, charstoreturn
except Exception as err:
    return False, "error {} on file: {}.\n".format(str(err), pathtofile)

TIKA_SERVER 是“http://localhost:1234” pathtofile 是我正在测试失败的文件

Windows 上的错误: 错误“NoneType”对象在文件中没有属性“strip”:\testdata\test2.pdf。

有什么想法吗?

【问题讨论】:

    标签: python nonetype tika-server


    【解决方案1】:

    python tika 包装器返回 None,因此您需要深入了解发生这种情况的原因。

    tika 服务器是否正在运行?如果不是,为什么不呢?您是否安装了合适的 Java VM 供其使用?你有执行jar的权限吗? Python 代码是否对您的 Windows 系统做出了不正确的假设(例如,jar 是可执行的,或者默认 VM 是正确的等等)。

    如果 tika 服务器正在运行,那么 tika 是否正常工作或出现其他错误?如果您通过 tika 服务器放置 PDF,您从同一个 jar 开始,这样做会起作用还是给您一个错误?你能调试看看 python 库中的 web 请求返回什么错误(如果有的话)吗(断点等)?

    【讨论】:

    • 在我通过的所有其他文档上完美运行,只有一个 pdf?
    猜你喜欢
    • 2018-01-06
    • 2015-11-28
    • 2017-02-07
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多