دمج العرض التقديمي - واجهة برمجة تطبيقات PowerPoint لـ C++

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

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

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

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

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

خيارات الدمج

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

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

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

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

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

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

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

auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
    pres1->get_Slides()->AddClone(slide);
}

pres1->Save(u"combined.pptx", SaveFormat::Pptx);

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

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

يوضح هذا الرمز في C++ العملية الموصوفة:

auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
    pres1->get_Slides()->AddClone(slide, pres2->get_Masters()->idx_get(0), true);
}

pres1->Save(u"combined.pptx", SaveFormat::Pptx);

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

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

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

auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
    pres1->get_Slides()->AddClone(slide, pres2->get_LayoutSlides()->idx_get(0));
}

pres1->Save(u"combined.pptx", SaveFormat::Pptx);

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

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

auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
    pres1->get_Slides()->AddClone(slide, pres2->get_LayoutSlides()->idx_get(0));
}

pres1->Save(u"combined.pptx", SaveFormat::Pptx);

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

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

يوضح الرمز المصدري هذا العملية الموصوفة:

auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres1Size = pres1->get_SlideSize()->get_Size();

auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
pres2->get_SlideSize()->SetSize(pres1Size.get_Width(), pres1Size.get_Height(), SlideSizeScaleType::EnsureFit);

for (const auto& slide : pres2->get_Slides())
{
    pres1->get_Slides()->AddClone(slide);
}

pres1->Save(u"combined.pptx", SaveFormat::Pptx);

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

يظهر لك هذا الرمز C++ كيفية دمج شريحة معينة إلى قسم في عرض تقديمي:

auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (int32_t index = 0; index < pres2->get_Slides()->get_Count(); index++)
{
    auto slide = pres2->get_Slides()->idx_get(index);
    pres1->get_Slides()->AddClone(slide, pres1->get_Sections()->idx_get(0));
}

pres1->Save(u"combined.pptx", SaveFormat::Pptx);

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