الوصول إلى شرائح العرض التقديمي في بايثون

نظرة عامة

توضح هذه المقالة كيفية الوصول إلى الشرائح وإدارتها في عرض تقديمي باستخدام Aspose.Slides. تُظهر كيفية استرداد الشرائح وفقًا لفهرسها الصفري من مجموعة الشرائح وكيفية الوصول إلى شريحة عبر معرّفها الفريد باستخدام طريقة getSlideById.

ستتعلم أيضًا كيفية تغيير موقع الشريحة باستخدام طريقة setSlideNumber وكيفية تحديد رقم الشريحة الأول للعرض التقديمي باستخدام طريقة setFirstSlideNumber. توضح الأمثلة تحميل عرض تقديمي، الحصول على مراجع الشرائح، تحديث ترتيب أو ترقيم الشرائح، وحفظ العرض التقديمي المعدل.

الوصول إلى شريحة حسب الفهرس

جميع الشرائح في العرض التقديمي مرتبة رقمياً بناءً على موقع الشريحة بدءًا من الصفر. الشريحة الأولى يمكن الوصول إليها عبر الفهرس 0؛ الشريحة الثانية عبر الفهرس 1؛ وهكذا.

الفئة Presentation التي تمثل ملف العرض التقديمي، تعرض جميع الشرائح كمجموعة SlideCollection (مجموعة من كائنات Slide). يُظهر هذا الكود بلغة Python كيفية الوصول إلى شريحة عبر فهرسها:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation

# إنشاء كائن Presentation يمثل ملف عرض تقديمي.
presentation = Presentation("demo.pptx")
try:
    # الوصول إلى شريحة باستخدام فهرسها.
    slide = presentation.getSlides().get_Item(0)
finally:
    presentation.dispose()

الوصول إلى شريحة حسب المعرف

كل شريحة في العرض التقديمي لها معرّف فريد مرتبط بها. يمكنك استخدام طريقة getSlideById (المُعرَّضة من قبل الفئة Presentation) لاستهداف هذا المعرف. يُظهر هذا الكود بلغة Python كيفية توفير معرّف شريحة صالح والوصول إلى تلك الشريحة عبر طريقة getSlideById:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation

# إنشاء كائن Presentation يمثل ملف عرض تقديمي.
presentation = Presentation("demo.pptx")
try:
    # الحصول على معرف الشريحة.
    slide_id = presentation.getSlides().get_Item(0).getSlideId()

    # الوصول إلى الشريحة عبر معرفها.
    slide = presentation.getSlideById(slide_id)
finally:
    presentation.dispose()

تغيير موقع الشريحة

يسمح Aspose.Slides لك بتغيير موقع الشريحة. على سبيل المثال، يمكنك تحديد أن الشريحة الأولى يجب أن تصبح الشريحة الثانية.

  1. إنشاء نسخة من الفئة Presentation.
  2. الحصول على مرجع الشريحة (التي تريد تغيير موقعها) عبر فهرستها.
  3. ضبط موقع جديد للشريحة عبر طريقة setSlideNumber.
  4. حفظ العرض التقديمي المعدّل.

يُظهر هذا الكود بلغة Python عملية يتم فيها نقل الشريحة الموجودة في الموقع 1 إلى الموقع 2:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

# إنشاء كائن Presentation يمثل ملف عرض تقديمي.
presentation = Presentation("Presentation.pptx")
try:
    # الحصول على الشريحة التي سيتغير موقعها.
    slide = presentation.getSlides().get_Item(0)

    # تعيين الموقع الجديد للشريحة.
    slide.setSlideNumber(2)

    # حفظ العرض التقديمي المعدل.
    presentation.save("helloworld_Pos.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

أصبحت الشريحة الأولى هي الثانية؛ وأصبحت الشريحة الثانية هي الأولى. عند تغيير موقع شريحة، يتم تعديل باقي الشرائح تلقائيًا.

تحديد رقم الشريحة

باستخدام طريقة setFirstSlideNumber (المُعرَّضة من قبل الفئة Presentation)، يمكنك تحديد رقم جديد للشريحة الأولى في العرض التقديمي. تتسبب هذه العملية في إعادة حساب أرقام الشرائح الأخرى.

  1. إنشاء نسخة من الفئة Presentation.
  2. الحصول على رقم الشريحة.
  3. ضبط رقم الشريحة.
  4. حفظ العرض التقديمي المعدّل.

يُظهر هذا الكود بلغة Python عملية يتم فيها تعيين رقم الشريحة الأولى إلى 10:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

# إنشاء كائن Presentation يمثل ملف عرض تقديمي.
presentation = Presentation("HelloWorld.pptx")
try:
    # الحصول على رقم الشريحة.
    first_slide_number = presentation.getFirstSlideNumber()

    # تعيين رقم الشريحة.
    presentation.setFirstSlideNumber(10)

    # حفظ العرض التقديمي المعدل.
    presentation.save("Set_Slide_Number_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

إذا كنت تفضّل تخطي الشريحة الأولى، يمكنك بدء الترقيم من الشريحة الثانية (وإخفاء الترقيم للشريحة الأولى) بهذه الطريقة:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, SlideLayoutType

presentation = Presentation()
try:
    layout_slide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank)
    presentation.getSlides().addEmptySlide(layout_slide)
    presentation.getSlides().addEmptySlide(layout_slide)
    presentation.getSlides().addEmptySlide(layout_slide)

    # تعيين رقم أول شريحة في العرض التقديمي.
    presentation.setFirstSlideNumber(0)

    # إظهار أرقام الشرائح لجميع الشرائح.
    presentation.getHeaderFooterManager().setAllSlideNumbersVisibility(True)

    # إخفاء رقم الشريحة للـشريحة الأولى.
    presentation.getSlides().get_Item(0).getHeaderFooterManager().setSlideNumberVisibility(False)

    # حفظ العرض التقديمي المعدل.
    presentation.save("output.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

الأسئلة المتكررة

هل يتطابق رقم الشريحة الذي يراه المستخدم مع الفهرس الصفري للمجموعة؟

يمكن أن يبدأ الرقم المعروض على الشريحة من قيمة عشوائية (مثلاً 10) ولا يلزم أن يتطابق مع الفهرس؛ يتم التحكم في العلاقة عبر إعداد first slide number في العرض التقديمي.

هل تؤثر الشرائح المخفية على الترقيم؟

نعم. تظل الشريحة المخفية في المجموعة وتُحسب في الفهرسة؛ “مخفية” تشير إلى العرض فقط، لا إلى موقعها في المجموعة.

هل يتغير فهرس الشريحة عندما تُضاف أو تُحذف شرائح أخرى؟

نعم. دائمًا ما تعكس الفهارس الترتيب الحالي للشرائح وتُعاد حسابها عند عمليات الإدراج أو الحذف أو النقل.