دمج عروض PowerPoint PPT و PPTX باستخدام C#

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

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

ما الذي يمكن دمجه

باستخدام Aspose.Slides، يمكنك دمج

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

خيارات الدمج

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

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

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

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

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

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

يظهر لك هذا الكود بلغة C# كيفية دمج العروض التقديمية:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

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

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

يظهر هذا الكود بلغة C# العملية الموضحة:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.Masters[0], allowCloneMissingLayout: true);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

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

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

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

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

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

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

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

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

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

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

using (Presentation pres1 = new Presentation("pres1.pptx"),
   pres2 = new Presentation("pres2.pptx"))
{
   pres2.SlideSize.SetSize(pres1.SlideSize.Size.Width, pres1.SlideSize.Size.Height, SlideSizeScaleType.EnsureFit);
 
   foreach (ISlide slide in pres2.Slides)
   {
       pres1.Slides.AddClone(slide);
   }
 
   pres1.Save("combined.pptx", SaveFormat.Pptx);
}

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

يعرض لك هذا الكود بلغة C# كيفية دمج شريحة محددة في قسم معين داخل عرض تقديمي:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    for (var index = 0; index < pres2.Slides.Count; index++)
    {
        ISlide slide = pres2.Slides[index];
        pres1.Slides.AddClone(slide, pres1.Sections[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

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