1

我正在尝试使用 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
4

1 回答 1

2

默认情况下pdftotext,不会在 stdout 上输出任何内容,而是创建一个.txt与 pdf 具有相同基本名称的文件。要在标准输出上获取文本,-请在调用中添加第二个参数pdftotext

process = subprocess.Popen(["pdftotext", path, "-"], shell=False, 
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
于 2010-03-18T18:52:31.513 回答