Frage

Ich versuche, Python zu verwenden pdftotext zu laufen, aber aus irgendeinem Grund mein Code funktioniert nicht. Wenn ich die unten laufen, erwarte ich, dass der Inhalt Variable den Inhalt der PDF enthalten würde, aber das Ergebnis bin ich immer nur eine leere Zeichenfolge.

Weiß jemand, was ich fehle?

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
War es hilfreich?

Lösung

In der Standardeinstellung pdftotext nichts ausgibt auf stdout, erstellt es stattdessen eine .txt Datei mit dem gleichen Basisnamen wie die pdf. Um den Text auf stdout zu erhalten, fügt - als zweiten Parameter in dem Aufruf von pdftotext:

process = subprocess.Popen(["pdftotext", path, "-"], shell=False, 
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top