Domanda

Sto cercando di usare Python per eseguire pdftotext, ma per qualche ragione, il mio codice non funziona. Se faccio funzionare il seguito, mi aspetto che la variabile contenuti conterrebbe il contenuto del PDF, ma il risultato che sto ottenendo è solo una stringa vuota.

Qualcuno sa che cosa mi manca?

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
È stato utile?

Soluzione

Per pdftotext default non uscita nulla su stdout, invece crea un file .txt con lo stesso nome di base come il pdf. Per ottenere il testo su stdout, aggiungere - come secondo parametro nella chiamata a pdftotext:

process = subprocess.Popen(["pdftotext", path, "-"], shell=False, 
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top