سؤال

أحاول استخدام 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 لا يخرج أي شيء على stdout ، بدلاً من ذلك يخلق ملف .txt ملف مع نفس الاسم الأساسي مثل PDF. للحصول على النص على stdout ، أضف - كمعلمة ثانية في المكالمة إلى pdftotext:

process = subprocess.Popen(["pdftotext", path, "-"], shell=False, 
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top