Я написал небольшой скрипт на python для разбора / извлечения информации из PDF. Я протестировал его на своей локальной машине, у меня есть python 2.6.2 и pdftotext версия 0.12.4.
Я пытаюсь запустить это на своем сервере веб-хостинга (dreamhost). Имеет версию 2.5.2 для python и версию 3.02 для pdftotext.
Но когда я пытаюсь запустить скрипт, я получаю следующую ошибку в строке pdftotext (я также проверил это с помощью простого сценария выброса) "Ошибка: не удалось открыть файл" - ""
def ConvertPDFToText(currentPDF):
pdfData = currentPDF.read()
tf = os.tmpfile()
tf.write(pdfData)
tf.seek(0)
if (len(pdfData) > 0) :
out, err = subprocess.Popen(["pdftotext", "-layout", "-", "-"], stdin = tf, stdout=subprocess.PIPE ).communicate()
return out
else :
return None
Обратите внимание, что я передаю эту функцию тому же файлу PDF, и он имеет к ней доступ. В другой функции я могу отправить себе по электронной почте документ PDF из того же сценария, который выполняется на веб-хосте.
Что я делаю не так? Какова возможная разница в использовании подпроцесса / python / pdftext между моей локальной версией и версией веб-хоста? Я предполагаю, что мне придется изменить команду, поэтому любая помощь будет принята с благодарностью.
Заранее спасибо.