کتابخانه PyPDF2 پایتون یکی از ابزارهای محبوب برای کار با فایل‌های PDF است. این کتابخانه به شما این امکان را می‌دهد که فایل‌های PDF را بخوانید، ویرایش کنید و اطلاعات مختلفی از آن‌ها استخراج کنید. در این مقاله، به بررسی نحوه خواندن فایل‌های PDF با استفاده از PyPDF2 خواهیم پرداخت.

مراحل نصب PyPDF2

برای شروع، ابتدا باید کتابخانه PyPDF2 را نصب کنید. می‌توانید این کار را به آسانی با استفاده از pip انجام دهید:

لینک کتابخانه PyPDF در سایت pypi

pip install PyPDF2

خواندن محتویات فایل PDF

برای خواندن فایل‌های PDF با PyPDF2، مراحل زیر را دنبال کنید:

۱. وارد کردن کتابخانه

ابتدا کتابخانه PyPDF2 را به پروژه خود وارد کنید:

import PyPDF2

۲. باز کردن فایل PDF

فایل PDF مورد نظر خود را باز کنید. توجه داشته باشید که باید از حالت ‘rb’ (خواندن باینری) استفاده کنید:

with open('example.pdf', 'rb') as file:
    reader = PyPDF2.PdfReader(file)

آموزش مقدماتی پایتون (رایگان)

۳. استخراج متن

حالا که فایل PDF را باز کرده‌اید، می‌توانید به سادگی متن را از آن استخراج کنید. به عنوان مثال، در زیر روش استخراج متن از هر صفحه نمایش داده شده است:

for page in reader.pages:
    text = page.extract_text()
    print(text)

۴. استخراج اطلاعات صفحه

شما می‌توانید تعداد صفحات فایل PDF و سایر اطلاعات آن را نیز استخراج کنید:

number_of_pages = len(reader.pages)
print(f'تعداد صفحات: {number_of_pages}')

مثال کامل

در زیر یک مثال کامل از کار با PyPDF2 برای خواندن یک فایل PDF آورده شده است:

import PyPDF2

# باز کردن فایل PDF
with open('example.pdf', 'rb') as file:
    reader = PyPDF2.PdfReader(file)

    # استخراج تعداد صفحات
    number_of_pages = len(reader.pages)
    print(f'تعداد صفحات: {number_of_pages}')

    # استخراج متن از هر صفحه
    for i in range(number_of_pages):
        page = reader.pages[i]
        text = page.extract_text()
        print(f'متن صفحه {i + 1}:n{text}n')

نتیجه‌ گیری

کتابخانه PyPDF2 پایتون ابزارهای قوی برای کار با فایل‌های PDF فراهم می‌کند. با استفاده از مراحل فوق، می‌توانید به راحتی فایل‌های PDF را بخوانید و اطلاعات لازم را استخراج کنید. این قابلیت کاربردهای زیادی در زمینه‌های مختلف از جمله تحلیل داده‌ها و گزارش‌گیری خواهد داشت.