دمج العروض التقديمية بكفاءة في C++
Tip
قد ترغب في تجربة Aspose المجانية عبر الإنترنتتطبيق دمج. يتيح للمستخدمين دمج عروض PowerPoint بنفس الصيغة (PPT إلى PPT، PPTX إلى PPTX، إلخ) ودمج العروض بصيغ مختلفة (PPT إلى PPTX، PPTX إلى ODP، إلخ).
دمج العروض التقديمية
عند دمج عرض تقديمي مع آخر، تقوم فعليًا بدمج شرائحه في عرض تقديمي واحد للحصول على ملف واحد.
Info
معظم برامج العروض التقديمية (PowerPoint أو OpenOffice) تفتقر إلى وظائف تسمح للمستخدمين بدمج العروض بهذه الطريقة.
Aspose.Slides for C++ ، مع ذلك، يتيح لك دمج العروض بطرق مختلفة. يمكنك دمج العروض مع جميع الأشكال والأنماط والنصوص والتنسيقات والتعليقات والرسوم المتحركة، وما إلى ذلك دون القلق بشأن فقدان الجودة أو البيانات.
انظر أيضًا
ما الذي يمكن دمجه
مع Aspose.Slides، يمكنك دمج
- العروض الكاملة. جميع الشرائح من العروض تنتهي في عرض تقديمي واحد
- شرائح محددة. الشرائح المختارة تنتهي في عرض تقديمي واحد
- العروض بصيغة واحدة (PPT إلى PPT، PPTX إلى PPTX، إلخ) وبصيغ مختلفة (PPT إلى PPTX، PPTX إلى ODP، إلخ) إلى بعضها البعض.
Note
إلى جانب العروض، يتيح لك Aspose.Slides دمج ملفات أخرى:
- الصور، مثل JPG إلى JPG أو PNG إلى PNG
- المستندات، مثل PDF إلى PDF أو HTML إلى HTML
- وملفين مختلفين مثل صورة إلى PDF أو JPG إلى PDF أو TIFF إلى PDF.
خيارات الدمج
يمكنك تطبيق خيارات تحدد ما إذاً
- كل شريحة في العرض الناتج تحتفظ بنمط فريد
- يتم استخدام نمط محدد لجميع الشرائح في العرض الناتج.
لدمج العروض، يوفر Aspose.Slides طرقًا AddClone (من واجهة ISlideCollection). هناك عدة تنفيذات لطرق AddClone تُعرّف معلمات عملية دمج العروض. كل كائن Presentation يحتوي على مجموعة 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);
Note
يتم تحديد تخطيط شريحة الماستر تلقائيًا. عندما لا يمكن تحديد تخطيط مناسب، إذا تم ضبط معاملallowCloneMissingLayout المنطقي لطريقة AddClone على true، يُستخدم تخطيط الشريحة المصدر. وإلا، سيتم رفع استثناء PptxEditException.
إذا كنت تريد أن تكون للشرائح في العرض الناتج تخطيط شريحة مختلف، استخدم طريقة AddClone (ISlide, ILayoutSlide) بدلاً من ذلك عند الدمج.
دمج شرائح محددة من العروض التقديمية
دمج شرائح محددة من عروض متعددة مفيد لإنشاء مجموعات شرائح مخصصة. يتيح لك Aspose.Slides C++ اختيار واستيراد الشرائح التي تحتاجها فقط. تحافظ الواجهة البرمجية على تنسيق وتخطيط وتصميم الشرائح الأصلية.
الكود C++ التالي ينشئ عرضًا تقديميًا جديدًا، يضيف شرائح عنوان من عرضين آخرين، ويحفظ النتيجة في ملف:
SmartPtr<ISlide> GetTitleSlide(SmartPtr<IPresentation> presentation)
{
for (auto&& slide : presentation->get_Slides())
{
if (slide->get_LayoutSlide()->get_LayoutType() == SlideLayoutType::Title)
{
return slide;
}
}
return nullptr;
}
auto presentation = MakeObject<Presentation>();
auto presentation1 = MakeObject<Presentation>(u"presentation1.pptx");
auto presentation2 = MakeObject<Presentation>(u"presentation2.pptx");
presentation->get_Slides()->RemoveAt(0);
auto slide1 = GetTitleSlide(presentation1);
if (slide1 != nullptr)
presentation->get_Slides()->AddClone(slide1);
auto slide2 = GetTitleSlide(presentation2);
if (slide2 != nullptr)
presentation->get_Slides()->AddClone(slide2);
presentation->Save(u"combined.pptx", SaveFormat::Pptx);
presentation2->Dispose();
presentation1->Dispose();
presentation->Dispose();
دمج العروض التقديمية مع تخطيط شريحة
هذا الكود 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);
دمج العروض التقديمية بأحجام شرائح مختلفة
Note
لا يمكنك دمج عروض تقديمية بأحجام شرائح مختلفة.لدمج عرضين بحجم شرائح مختلف، عليك تغيير حجم أحد العروض لجعل حجمه يطابق حجم العرض الآخر.
هذا الكود النموذجي يوضح العملية الموصوفة:
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);
يتم إضافة الشريحة في نهاية القسم.
Tip
توفر Aspose تطبيق ويب مجاني لتجميع الصور FREE Collage web app. يمكنك من خلال هذه الخدمة عبر الإنترنت دمج JPG إلى JPG أو PNG إلى PNG، وإنشاء شبكات صور، وما إلى ذلك.الأسئلة الشائعة
هل يتم الحفاظ على ملاحظات المتحدث أثناء الدمج؟
نعم. عند استنساخ الشرائح، تنقل Aspose.Slides جميع عناصر الشريحة بما في ذلك الملاحظات والتنسيقات والرسوم المتحركة.
هل يتم نقل التعليقات ومؤلفيها؟
التعليقات، كجزء من محتوى الشريحة، تُنسخ مع الشريحة. تُحافظ تسميات مؤلفي التعليقات ككائنات تعليقات في العرض الناتج.
ماذا لو كان العرض المصدر محميًا بكلمة مرور؟
يجب أن يتم تم فتحه باستخدام كلمة المرور عبر LoadOptions::set_Password؛ بعد التحميل، يمكن استنساخ تلك الشرائح بأمان إلى ملف هدف غير محمي (أو محمي أيضًا).
ما مدى أمان الخيط للدمج؟
لا تقم Using نفس Presentation من multiple threads. القاعدة الموصى بها هي “وثيقة واحدة — خيط واحد”؛ يمكن معالجة ملفات مختلفة بالتوازي في خيوط منفصلة.
