Apache Tika на Python извлекает текст из PDF на MacBook Pro, но не на сервере Windows - PullRequest
0 голосов
/ 05 декабря 2018

Как и выше, я извлекаю текст из нескольких документов, используя tika на python, но на одном конкретном pdf он извлекает текст на моей машине для разработки (MacBook Pro), но не на Windows Server 2012, где он возвращает 'NoneType'.

Очень запутанно, сначала я подумал, что библиотеки, но он использует тот же файл jar из apache (1.19.1)

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.

Любые идеи

1 Ответ

0 голосов
/ 05 декабря 2018

Оболочка Python Tika возвращает None, поэтому вам нужно разобраться, почему это произошло.

Работает ли сервер Tika?Если нет, то почему нет?У вас установлена ​​подходящая Java VM для использования?У вас есть разрешение на выполнение банки?Делает ли код Python предположения о вашей системе Windows, которые не соответствуют действительности (например, что jar-файлы являются исполняемыми, или что виртуальная машина по умолчанию является правильной и т. Д.).

Если сервер tika работает, то работает ли tika правильноили дать какие-то другие ошибки?Если вы помещаете PDF-файл через tika-сервер, вы запускаете с того же фляги, это работает или вы видите ошибку?Можете ли вы отладить, чтобы увидеть, какие ошибки, если таковые имеются, возвращаются из веб-запроса в библиотеке Python (точка останова и т. Д.)?

...