آخر تحديث: 27 يناير، 2025

العنوان - تحويل PDF إلى صورة في بايثون: دليل خطوة بخطوة

كيفية تحويل PDF إلى صورة في بايثون: دليل خطوة بخطوة

يمكن أن يكون تحويل ملفات PDF إلى تنسيقات صور مثل JPEG أو PNG مفيدًا للغاية، وخاصة في السيناريوهات التي تحتاج فيها إلى استخراج الصور من PDF، أو عرض معاينة للمستند، أو العمل مع البيانات المرئية. تعتبر بايثون، كونها لغة برمجة متعددة الاستخدامات، تقدم طرقًا متعددة لتنفيذ هذه المهمة بكفاءة.

في هذا الدليل، سنأخذك في عملية خطوة بخطوة لتحويل PDF إلى صورة في بايثون. سوف تتعلم كيفية القيام بذلك باستخدام مكتبات بايثون الشهيرة، أمثلة على الكود، ونصائح مفيدة لحل المشاكل. وسنوفر لك كامل الكود وصور الخرج وملف PDF المستخدم داخلها.

ما تحتاجه لتحويل PDF إلى صورة في بايثون

قبل أن نبدأ في كتابة الكود، لنضع في اعتبارنا الأدوات الصحيحة للبدء. لهذه المهمة، ستحتاج إلى تثبيت مكتبات بايثون التالية:

  1. Pillow: مكتبة معالجة صور شائعة في بايثون (PIL) تُستخدم غالبًا لفتح ومعالجة وحفظ ملفات الصور.
  2. 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

page_1.jpg page_2.jpg page_3.jpg

طرق بديلة لتحويل PDF إلى صورة في بايثون

بينما يُعتبر pdf2image وPoppler استخدامًا واسع النطاق، توجد طرق أخرى لتحويل PDF إلى صورة دون الحاجة إلى Poppler. على سبيل المثال:

  1. استخدام 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 ويمكن أن يكون بديلاً إذا واجهت مشاكل في التثبيت.

الأخطاء الشائعة وحل المشكلات

بينما يعتبر تحويل PDFs إلى صور في بايثون أمرًا سهلًا، قد تواجه بعض المشاكل. إليك بعض الأخطاء الشائعة وحلولها:

  1. الخطأ: OSError: cannot identify image file

    • يحدث ذلك عادة إذا لم يتم رسم PDF بشكل صحيح. تأكد من تثبيت Poppler بشكل صحيح وكونه في متناول بيئة بايثون الخاصة بك.
  2. الخطأ: RuntimeError: cannot open image file

    • قد يحدث هذا الخطأ إذا كنت تحاول فتح تنسيق صورة غير مدعوم. تحقق من التنسيق الذي تحفظ الصورة فيه (JPEG، PNG، إلخ) وتأكد من أن Pillow تدعمه.

الخاتمة

تحويل مستندات PDF إلى صور في بايثون سهل بمساعدة مكتبات مثل pdf2image وPillow. سواء كنت تسعى لاستخراج الصور من PDF أو ترغب فقط في عرض كل صفحة كصورة، فقد أوضح لك هذا الدليل كيفية القيام بذلك خطوة بخطوة.

تذكر، وفقًا لاحتياجات مشروعك، يمكنك أيضًا استكشاف مكتبات بايثون الأخرى مثل PyMuPDF لتحقيق نتائج مماثلة.

إذا كانت لديك أي أسئلة أو واجهت أي مشاكل أثناء تنفيذ هذا الحل، فلا تتردد في ترك تعليق في منتدياتنا!

شارك واستكشف

إذا كان هذا الدليل مفيدًا لك، فلا تنس مشاركته مع الآخرين، واستكشاف أدلتنا المفيدة الأخرى للحصول على المزيد من النصائح والحيل البرمجية!

انظر أيضًا