Pergunta

Estou tentando usar o Python para executar o PDFTOTEXT, mas, por algum motivo, meu código não está funcionando. Se eu executar o abaixo, espero que a variável de conteúdo contenha o conteúdo do PDF, mas o resultado que estou obtendo é apenas uma string vazia.

Alguém sabe o que estou perdendo?

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
Foi útil?

Solução

Por padrão pdftotext não produz nada no stdout, em vez disso, cria um .txt Arquivo com o mesmo nome base que o PDF. Para obter o texto no stdout, adicione - como um segundo parâmetro na chamada para pdftotext:

process = subprocess.Popen(["pdftotext", path, "-"], shell=False, 
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top