استخراج الصور من عروض PowerPoint التقديمية في Python

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

مكتبة Python لاستخراج الصور من العروض التقديمية

لاستخراج الصور من عروض PowerPoint التقديمية ، سنستخدم Aspose.Slides for Python via .NET. إنها مكتبة Python قوية مصممة لإنشاء عروض تقديمية من البداية. علاوة على ذلك ، يسمح لك بتحويل العروض التقديمية الحالية ومعالجتها بسلاسة. يمكنك تثبيته من PyPI باستخدام أمر pip التالي.

> pip install aspose.slides

استخراج الصور من PowerPoint PPT في Python

فيما يلي خطوات استخراج الصور من عرض PowerPoint تقديمي في Python.

  • قم بتحميل العرض التقديمي باستخدام فئة العرض التقديمي.
  • قم بالتكرار خلال الصور في العرض التقديمي باستخدام مجموعة Presentation.images.
  • احفظ كل صورة كملف.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج الصور من ملف PPTX في Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

imageIndex=1
# عرض تحميل
with slides.Presentation("presentation.pptx") as pres:

    # حلقة من خلال الصور
   for image in pres.images:
        file_name = "Image_{0}.{1}"
        image_type = image.content_type.split("/")[1]
        image_format = get_image_format(image_type)

        # احفظ الصورة
        image.system_image.save(file_name.format( imageIndex, image_type), image_format)
        imageIndex = imageIndex + 1

استخراج الصور من الأشكال في PPT

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

  • أولاً ، قم بتحميل العرض التقديمي باستخدام فئة العرض التقديمي.
  • بعد ذلك ، قم بالتكرار خلال شرائح العرض التقديمي باستخدام مجموعة Presentation.slides.
  • لكل شريحة ، قم بالوصول إلى أشكالها باستخدام مجموعة ISlide.shapes.
  • لكل شكل في المجموعة ، قم بتنفيذ الخطوات التالية:
    • إذا كان الشكل عبارة عن شكل تلقائي وكان نوع التعبئة الخاص به عبارة عن صورة ، فاستخرج الصورة باستخدام خاصية IShape.fillformat.picturefillformat.picture.image.
    • إذا كان الشكل عبارة عن إطار صورة ، فاستخرج الصورة باستخدام خاصية IShape.pictureformat.picture.image.
    • أخيرًا ، احفظ الصورة كملف.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج الصور من الأشكال في عرض تقديمي PPT باستخدام Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# عرض تحميل
with slides.Presentation("pres.pptx") as pres:
    slideIndex = 0
    image_type = ""
    
    # حلقة من خلال الشرائح
   for slide in pres.slides:
        slideIndex += 1
        image_format = drawing.imaging.ImageFormat.jpeg
        file_name = "BackImage_Slide_{0}{1}.{2}"
      
        # حلقة من خلال الأشكال في الشريحة
       for i in range(len(slide.shapes)):
            shape = slide.shapes[i]
            shape_image = None

            # الاختيار هو شكل تلقائي أو إطار صورة
            if type(shape) is slides.AutoShape and shape.fill_format.fill_type == slides.FillType.PICTURE:
                shape_image = shape.fill_format.picture_fill_format.picture.image
            elif type(shape) is slides.PictureFrame:
                shape_image = shape.picture_format.picture.image

            # احفظ الصورة
            if shape_image is not None:
                image_type = shape_image.content_type.split("/")[1]
                image_format = get_image_format(image_type)

                shape_image.system_image.save(
                                file_name.format("shape_"+str(i)+"_", slideIndex, image_type), 
                                image_format)

استخراج الصور من خلفيات الشرائح في PPT

قد يكون سيناريو آخر هو استخراج الصور المستخدمة كخلفيات شرائح. فيما يلي خطوات استخراج الصور فقط من خلفيات الشرائح في عرض تقديمي PPT.

  • أولاً ، قم بتحميل العرض التقديمي باستخدام فئة العرض التقديمي.
  • بعد ذلك ، قم بالتكرار خلال شرائح العرض التقديمي باستخدام مجموعة Presentation.slides.
  • لكل شريحة ، قم بتنفيذ الخطوات التالية:
    • تحقق مما إذا كانت الشريحة تحتوي على صورة خلفية باستخدام خاصية ISlide.background.fillformat.filltype.
    • إذا كانت الخلفية تحتوي على صورة ، فاستخرج الصورة باستخدام خاصية ISlide.background.fillformat.picturefillformat.picture.image.
    • تحقق مما إذا كانت شريحة التخطيط تحتوي على صورة خلفية باستخدام خاصية ISlide.layoutslide.background.fillformat.filltype.
    • إذا كانت الخلفية مليئة بصورة ، فاستخرجها باستخدام خاصية ISlide.layoutslide.background.fillformat.picturefillformat.picture.image.
    • أخيرًا ، احفظ الصورة المستخرجة كملف.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج الصور من خلفيات الشرائح في PPT في Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# عرض تحميل
with slides.Presentation("pres.pptx") as pres:
    slideIndex = 0
    image_type = ""
    
    # حلقة خلال الشرائح في العرض التقديمي
   for slide in pres.slides:
        slideIndex += 1
        image_format = drawing.imaging.ImageFormat.jpeg
        back_image = None
        file_name = "BackImage_Slide_{0}{1}.{2}"
        is_layout = False

        # تحقق مما إذا كانت خلفيات الشرائح والتخطيط مليئة بالصورة
        if slide.background.fill_format.fill_type == slides.FillType.PICTURE:
            back_image = slide.background.fill_format.picture_fill_format.picture.image
        elif slide.layout_slide.background.fill_format.fill_type == slides.FillType.PICTURE:
            back_image = slide.layout_slide.background.fill_format.picture_fill_format.picture.image
            is_layout = True

        # احفظ الصورة
        if back_image is not None:
            image_type = back_image.content_type.split("/")[1]
            image_format = get_image_format(image_type)

            back_image.system_image.save(
                file_name.format("LayoutSlide_" if is_layout else "", slideIndex, image_type), 
                image_format)

يستخدم كلا نموذجي الكود أعلاه طريقة getimageformat ، والتي تُرجع تنسيق الصورة المناسب للنوع المقدم. يتم توفير تنفيذ هذه الطريقة أدناه.

import aspose.slides as slides
import aspose.pydrawing as drawing

def get_image_format(image_type):
    return {
        "jpeg": drawing.imaging.ImageFormat.jpeg,
        "emf": drawing.imaging.ImageFormat.emf,
        "bmp": drawing.imaging.ImageFormat.bmp,
        "png": drawing.imaging.ImageFormat.png,
        "wmf": drawing.imaging.ImageFormat.wmf,
        "gif": drawing.imaging.ImageFormat.gif,
    }.get(image_type, drawing.imaging.ImageFormat.jpeg)

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لاستخدام Aspose.Slides لـ Python عبر .NET بدون قيود تقييم.

استنتاج

في هذه المقالة ، تعلمت كيفية استخراج الصور من عروض PowerPoint التقديمية في Python. لقد قمنا أيضًا بتغطية استخراج الصور من الأشكال وخلفيات الشرائح بشكل منفصل. بالإضافة إلى ذلك ، يمكنك استكشاف المزيد حول Aspose.Slides for Python من خلال زيارة التوثيق. أيضًا ، يمكنك طرح أسئلتك عبر المنتدى.

أنظر أيضا

معلومة: توفر Aspose محولات PowerPoint للصور - PPT إلى JPG و [PPT إلى PNG] [] - التي تسمح لك بإنشاء صور بناءً على الشرائح في عرض تقديمي.