آخرین بهروزرسانی: ۲۷ ژانویه، ۲۰۲۵

نحوه تبدیل PDF به تصویر در پایتون: راهنمای گام به گام
تبدیل فایلهای PDF به فرمتهای تصویری مانند JPEG یا PNG میتواند بسیار مفید باشد، بهویژه برای سناریوهایی که نیاز به استخراج تصاویر از PDF، نمایش پیشنمایش سند یا کار با دادههای تصویری دارید. پایتون، بهعنوان یک زبان برنامهنویسی همهکاره، روشهای متعدد برای انجام این کار بهصورت کارآمد را ارائه میدهد.
در این راهنما، شما را با فرآیند گامبهگام تبدیل یک PDF به تصویر در پایتون آشنا خواهیم کرد. یاد خواهید گرفت که چگونه با استفاده از کتابخانههای محبوب پایتون، نمونههای کد و نکات رفع اشکال به این هدف دست یابید. همچنین کد کامل و تصاویر خروجی آن و PDF نمونهای که در داخل آن استفاده شده است را ارائه خواهیم داد.
آنچه برای تبدیل PDF به تصویر در پایتون نیاز دارید
قبل از ورود به کد، مطمئن شوید که ابزارهای لازم برای شروع را دارید. برای این کار، باید کتابخانههای زیر را نصب کنید:
- Pillow: یک کتابخانه محبوب پردازش تصویر در پایتون (PIL) که اغلب برای باز کردن، دستکاری و ذخیرهسازی فایلهای تصویری استفاده میشود.
- pdf2image: این کتابخانه به شما کمک میکند تا صفحات PDF را در پایتون به تصاویر تبدیل کنید. از Poppler برای رندر کردن صفحات PDF به تصاویر استفاده میکند.
نصب کتابخانههای مورد نیاز
میتوانید این کتابخانهها را با استفاده از pip نصب کنید:
pip install pillow pdf2image
اگر Poppler در سیستم شما نصب نشده است، ممکن است نیاز به نصب آن بهصورت جداگانه داشته باشید. راهنمای نصب برای پلتفرم خود را از اینجا چک کنید.
راهنمای گامبهگام برای تبدیل PDF به تصویر در پایتون
گام 1: وارد کردن کتابخانههای ضروری
با وارد کردن کتابخانههای ضروری در پایتون شروع کنید:
from pdf2image import convert_from_path
from PIL import Image
گام 2: تبدیل PDF به تصاویر
با وارد کردن کتابخانهها، اکنون میتوانید یک فایل PDF را به تصاویر تبدیل کنید. به این صورت:
# تبدیل PDF به تصاویر
images = convert_from_path('yourfile.pdf')
# ذخیره هر صفحه بهعنوان یک تصویر
for i, image in enumerate(images):
image.save(f'page_{i}.jpg', 'JPEG')
توضیح کد:
- تابع
convert_from_path()
فایل PDF را به لیستی از شیءهای تصویر PIL تبدیل میکند. - سپس از میان تصاویر برای هر صفحه از PDF عبور کرده و آن را بهعنوان یک تصویر جداگانه (در اینجا، فرمت JPEG) ذخیره میکنیم.
گام 3: اختیاری – تبدیل به فرمتهای تصویری دیگر
میتوانید بهراحتی تصاویر را به فرمتهای دیگر مانند PNG تبدیل کنید، با تغییر فرمت در متد image.save()
:
image.save(f'page_{i}.png', 'PNG')
کد کامل
اینجا کد کامل آمده است. بهراحتی میتوانید آن را کپی کرده، با هر اسمی و با پسوند .py
ذخیره و سپس اجرا کنید. بهعنوان مثال، میتوانید آن را convert_pdf_to_images.py
نامگذاری کنید.
قبل از اجرا، فقط متغیر pdf_path
را به مسیر فایل PDF ورودی خود بروزرسانی کنید.
دانلود PDF نمونه و مشاهده اسکرینشات آن
میتوانید از هر PDF استفاده کنید، اما بهمنظور اجرای این کد و تست آن، ما از این PDF خاص استفاده کردیم.
تصاویر خروجی تولیدشده توسط کد
- page_1.jpg
- page_2.jpg
- page_3.jpg
روشهای جایگزین برای تبدیل PDF به تصویر در پایتون
در حالی که pdf2image و Poppler بهطور گسترده استفاده میشوند، روشهای دیگری نیز برای تبدیل PDF به تصویر بدون نیاز به Poppler وجود دارد. برای مثال:
- استفاده از PyMuPDF (fitz): این کتابخانه به شما اجازه میدهد تا تصاویر را از PDF استخراج کرده و دستکاری کنید.
pip install pymupdf
کد نمونه:
import fitz # PyMuPDF
# باز کردن فایل PDF
doc = fitz.open("yourfile.pdf")
# عبور از هر صفحه و تبدیل به تصویر
for page_num in range(len(doc)):
page = doc.load_page(page_num)
pix = page.get_pixmap()
pix.save(f"page_{page_num}.png")
این روش بدون نیاز به Poppler کار میکند و میتواند جایگزین خوبی باشد اگر با مشکلات نصب مواجه شدید.
خطاها و رفع اشکال رایج
در حالی که تبدیل فایلهای PDF به تصاویر در پایتون بهطور کلی ساده است، ممکن است با برخی مشکلات مواجه شوید. در اینجا برخی از خطاهای رایج و راهحلهای آنها آورده شده است:
خطا:
OSError: cannot identify image file
- این معمولاً زمانی رخ میدهد که PDF بهدرستی رندر نشده است. اطمینان حاصل کنید که Poppler بهدرستی نصب شده و از محیط پایتون شما قابل دسترسی است.
خطا:
RuntimeError: cannot open image file
- این خطا ممکن است زمانی رخ دهد که شما در حال تلاش برای باز کردن یک فرمت تصویر هستید که پشتیبانی نمیشود. فرمت تصویری که در آن تصویر را ذخیره میکنید (JPEG، PNG و غیره) را دوباره بررسی کنید و اطمینان حاصل کنید که Pillow از آن پشتیبانی میکند.
نتیجهگیری
تبدیل اسناد PDF به تصاویر در پایتون با کمک کتابخانههایی مانند pdf2image و Pillow ساده است. چه به دنبال استخراج تصاویر از یک PDF باشید یا صرفاً بخواهید هر صفحه را بهعنوان یک تصویر نمایش دهید، این راهنما به شما نشان داده که چگونه این کار را گام به گام انجام دهید.
به یاد داشته باشید، بسته به نیاز پروژه خود، میتوانید کتابخانههای دیگر پایتون مانند PyMuPDF را نیز بررسی کنید تا به نتایج مشابهی دستیابید.
اگر سوالی دارید یا در اجرای این راهحل به مشکلی برخوردهاید، در فرومهای ما نظر خود را بگذارید!
به اشتراک بگذارید و کشف کنید
اگر این راهنما به شما کمک کرده است، از به اشتراکگذاری آن با دیگران دریغ نکنید و برای دریافت نکات و ترفندهای کدنویسی بیشتر، به دیگر راهنماهای مفید ما نگاهی بیندازید!