Вопрос

Я пытаюсь использовать 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
Это было полезно?

Решение

По умолчанию pdftotext ничего не выводит на стандартный вывод, вместо этого он создает .txt файл с тем же базовым именем, что и pdf.Чтобы получить текст на стандартный вывод, добавьте - в качестве второго параметра при вызове pdftotext:

process = subprocess.Popen(["pdftotext", path, "-"], shell=False, 
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top