حماية ملفات PowerPoint في Python

المستندات الرقمية معرضة دائمًا للتلاعب بها من قبل كيانات غير مصرح لها. لذلك ، يتم استخدام آليات حماية مختلفة لضمان أمان المستندات. في هذه المقالة ، سنستهدف بشكل خاص حماية عروض MS PowerPoint التقديمية. لذلك سوف تتعلم كيفية قفل وفتح عروض PowerPoint التقديمية برمجيًا في Python.

مكتبة Python لقفل عروض PowerPoint التقديمية

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

> pip install aspose.slides 

قفل عرض PowerPoint تقديمي في Python

قد يحتوي عرض PowerPoint التقديمي على مجموعة متنوعة من العناصر مثل النص والصور والأشكال والصوت وما إلى ذلك. Aspose.Slides for Python تمثل كل عنصر على أنه شكل أو جزء مشتق من الشكل. لذلك من أجل حماية المحتوى من التحرير ، نحتاج إلى قفل جميع الأشكال في العرض التقديمي. يمكن أن تكون هذه الأشكال من الأنواع التالية:

  • شكل تلقائي
  • شكل المجموعة
  • موصل
  • إطار الصورة

دعونا نرى كيفية قفل ملف PowerPoint PPTX في Python.

  • أولاً ، قم بتحميل ملف العرض التقديمي باستخدام فئة العرض التقديمي.
  • بعد ذلك ، احصل على مرجع للشرائح في العرض التقديمي باستخدام خاصية Presentation.slides.
  • لكل شريحة ، قم بالوصول إلى أشكالها باستخدام مجموعة ISlide.shapes.
  • لكل شكل في المجموعة ، قم بتنفيذ الخطوات التالية:
    • تحقق من نوع الشكل.
    • استخدم القفل المناسب حسب نوع الشكل.
  • أخيرًا ، احفظ العرض التقديمي المحدث باستخدام طريقة Presentation.save (سلسلة ، SaveFormat).

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

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

    # حلقة خلال جميع الشرائح في العرض التقديمي
   for slide in pres.slides:
       for shape in slide.shapes:
            # إذا كان الشكل هو شكل تلقائي
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # تطبيق الأقفال
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            # إذا كان الشكل هو شكل المجموعة
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # تطبيق الأقفال
                group_shape_lock.grouping_locked = True
                group_shape_lock.position_locked = True
                group_shape_lock.select_locked = True
                group_shape_lock.size_locked = True

            # إذا كان الشكل موصلًا
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # تطبيق الأقفال
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True

            # إذا كان الشكل هو إطار الصورة
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # تطبيق الأقفال
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    # احفظ ملف العرض التقديمي
    pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)

افتح عروض PowerPoint التقديمية في Python

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

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

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

    # حلقة خلال جميع الشرائح في العرض التقديمي
   for slide in pres.slides:
       for shape in slide.shapes:
            # إذا كان الشكل هو شكل تلقائي
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # إزالة الأقفال
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False

            # إذا كان الشكل هو شكل المجموعة
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # إزالة الأقفال
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False

            # إذا كان الإزالة موصل
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # إزالة الأقفال
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False

            # إذا كان الشكل هو إطار الصورة
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # إزالة الأقفال
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False

    # احفظ ملف العرض التقديمي
    pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)

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

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

استنتاج

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

أنظر أيضا