دمج العروض التقديمية بكفاءة في PHP

دمج العروض التقديمية

عند دمج عرض تقديمي مع آخر، فإنك في الواقع تجمع شرائحه في عرض تقديمي واحد للحصول على ملف واحد.

ما يمكن دمجه

مع Aspose.Slides، يمكنك دمج

  • العروض التقديمية بالكامل. جميع الشرائح من العروض التقديمية تنتهي في عرض تقديمي واحد
  • شرائح محددة. الشرائح المختارة تنتهي في عرض تقديمي واحد
  • العروض التقديمية بصيغة واحدة (PPT إلى PPT، PPTX إلى PPTX، إلخ) وفي صيغ مختلفة (PPT إلى PPTX، PPTX إلى ODP، إلخ) مع بعضها البعض.

خيارات الدمج

يمكنك تطبيق خيارات تحدد ما إذا كان

  • كل شريحة في العرض التقديمي الناتج تحتفظ بنمط فريد
  • نمط محدد يُستخدم لجميع الشرائح في العرض التقديمي الناتج.

لدمج العروض التقديمية، توفر Aspose.Slides طرق AddClone (من واجهة ISlideCollection ). هناك عدة تنفيذات لطرق AddClone التي تحدد معايير عملية دمج العروض التقديمية. كل كائن Presentation يحتوي على مجموعة Slides، لذا يمكنك استدعاء طريقة AddClone من العرض التقديمي الذي تريد دمج الشرائح إليه.

طريقة AddClone تُعيد كائن ISlide، وهو نسخة من الشريحة المصدر. الشرائح في العرض التقديمي الناتج هي ببساطة نسخة من الشرائح الأصلية. لذلك، يمكنك إجراء تغييرات على الشرائح الناتجة (على سبيل المثال، تطبيق الأنماط أو خيارات التنسيق أو التخطيطات) دون القلق من التأثير على العروض التقديمية المصدر.

دمج العروض التقديمية

توفر Aspose.Slides الطريقة AddClone(ISlide) التي تتيح لك دمج الشرائح مع بقاء تخطيطاتها وأنماطها (معلمات افتراضية).

يظهر لك هذا الكود PHP كيفية دمج العروض التقديمية:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

دمج العروض التقديمية باستخدام قالب رئيسي للشرائح

توفر Aspose.Slides الطريقة AddClone(ISlide, IMasterSlide, boolean) التي تتيح لك دمج الشرائح مع تطبيق قالب رئيسي للشرائح. بهذه الطريقة، إذا لزم الأمر، يمكنك تغيير النمط للشرائح في العرض التقديمي الناتج.

يظهر هذا الكود العملية الموصوفة:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getMasters()->get_Item(0), true);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

إذا كنت تريد أن تكون للشرائح في العرض التقديمي الناتج تخطيط شريحة مختلف، استخدم الطريقة AddClone(ISlide, ILayoutSlide) بدلاً من ذلك عند الدمج.

دمج شرائح محددة من العروض التقديمية

دمج شرائح محددة من عدة عروض تقديمية مفيد لإنشاء مجموعات شرائح مخصصة. يسمح لك Aspose.Slides للـ PHP عبر Java باختيار واستيراد الشرائح التي تحتاجها فقط. يحافظ API على التنسيق والتخطيط وتصميم الشرائح الأصلية.

الكود PHP التالي ينشئ عرضًا تقديميًا جديدًا، يضيف شرائح العنوان من عرضين تقديميين آخرين، ويحفظ النتيجة إلى ملف:

function getTitleSlide(Presentation $presentation) {
    for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
        $slide = $presentation->getSlides()->get_Item($i);
        if (java_values($slide->getLayoutSlide()->getLayoutType()) === SlideLayoutType::Title) {
            return $slide;
        }
    }
    return null;
}
$presentation = new Presentation();
$presentation1 = new Presentation($folderPath . "presentation1.pptx");
$presentation2 = new Presentation($folderPath . "presentation2.pptx");
try {
    $presentation->getSlides()->removeAt(0);
    
    $slide1 = getTitleSlide($presentation1);

    if ($slide1 != null)
        $presentation->getSlides()->addClone($slide1);

    $slide2 = getTitleSlide($presentation2);

    if ($slide2 != null)
        $presentation->getSlides()->addClone($slide2);

    $presentation->save($folderPath . "combined.pptx", SaveFormat::Pptx);
} finally {
    $presentation2->dispose();
    $presentation1->dispose();
    $presentation->dispose();
}

دمج العروض التقديمية باستخدام تخطيط شريحة

يعرض لك هذا الكود PHP كيفية دمج الشرائح من العروض التقديمية مع تطبيق تخطيط الشريحة المفضل لديك للحصول على عرض تقديمي ناتج واحد:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

دمج العروض التقديمية بأحجام شرائح مختلفة

لدمج عرضين تقديميين بأحجام شرائح مختلفة، يجب تعديل حجم أحد العروض ليطابق حجم العرض الآخر.

يظهر هذا الكود العيني العملية الموصوفة:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      $pres2->getSlideSize()->setSize($pres1->getSlideSize()->getSize()->getWidth(), $pres1->getSlideSize()->getSize()->getHeight(), SlideSizeScaleType::EnsureFit);
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

دمج شرائح إلى قسم في العرض التقديمي

يعرض لك هذا الكود PHP كيفية دمج شريحة محددة إلى قسم في عرض تقديمي:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres1->getSections()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

يتم إضافة الشريحة في نهاية القسم.

انظر أيضًا

توفر Aspose صانع كولاج مجاني عبر الإنترنت. باستخدام هذه الخدمة عبر الإنترنت، يمكنك دمج صور JPG إلى JPG أو PNG إلى PNG، وإنشاء شبكات صور، وأكثر.

تفضل بزيارة أسبوز مجاني دمج عبر الإنترنت. يتيح لك دمج عروض PowerPoint بنفس الصيغة (مثل PPT إلى PPT، PPTX إلى PPTX) أو عبر صيغ مختلفة (مثل PPT إلى PPTX، PPTX إلى ODP).

Aspose FREE Online Merger

الأسئلة الشائعة

هل هناك أي حدود لعدد الشرائح عند دمج العروض التقديمية؟

لا توجد حدود صارمة. يمكن لـ Aspose.Slides التعامل مع ملفات كبيرة، لكن الأداء يعتمد على حجم الملف وموارد النظام. للعروض التقديمية الكبيرة جدًا، يُنصح باستخدام JVM 64‑بت وتخصيص ذاكرة كومة كافية.

هل يمكنني دمج عروض تقديمية تحتوي على فيديو أو صوت مدمج؟

نعم، يحافظ Aspose.Slides على المحتوى الوسائط المتعددة المدمج في الشرائح، لكن قد يصبح العرض التقديمي النهائي أكبر حجمًا بشكل ملحوظ.

هل سيتم الحفاظ على الخطوط عند دمج العروض التقديمية؟

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