我写了一个小 Python 脚本来解析/提取 PDF 中的信息。我在本地机器上对其进行了测试,我有 python 2.6.2 和 pdftotext 版本 0.12.4。
我正在尝试在我的虚拟主机服务器(dreamhost)上运行它。它有 python 版本 2.5.2 和 pdftotext 版本 3.02。
但是当我尝试运行脚本时,我在 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 文档。
我究竟做错了什么?我的本地版本和虚拟主机版本之间 subprocess/python/pdftext 的使用可能有什么区别?我猜我将不得不修改命令,所以任何帮助将不胜感激。
提前致谢。