我正在尝试使用Python来运行pdftotext,但由于某种原因,我的代码无效。如果我运行下面的内容,我希望内容变量将包含PDF的内容,但我得到的结果只是一个空字符串。
有人知道我错过了什么吗?
def getPDFContent(path):
path = "/path/to/a valid/pdffile.pdf"
process = subprocess.Popen(["pdftotext", path], shell=False,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
content, err = process.communicate()[0:2]
return content, err
答案 0 :(得分:2)
默认情况下,pdftotext
不会在stdout上输出任何内容,而是创建一个与pdf具有相同基本名称的.txt
文件。要在stdout上获取文字,请在-
的调用中添加pdftotext
作为第二个参数:
process = subprocess.Popen(["pdftotext", path, "-"], shell=False,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)