به صورت کارآمد ارائه‌ها را در .NET ترکیب کنید

نمای کلی

Aspose.Slides به شما امکان می‌دهد ارائه‌ها را با کلون کردن اسلایدها از یک ارائه به ارائه دیگر ترکیب کنید. این مقاله توضیح می‌دهد چگونه کل ارائه‌ها یا اسلایدهای منتخب را ترکیب کنید، هنگام ترکیب از یک اسلاید مستر یا یک طرح‌بندی خاص استفاده کنید، ارائه‌هایی با اندازه اسلاید متفاوت را مدیریت کنید و اسلایدهای ترکیب‌شده را به بخش یک ارائه اضافه کنید. همچنین نکات عملی مرتبط با محتوای ترکیب‌شده، از جمله یادداشت‌های گوینده، نظرات، فایل‌های منبع محافظت‌شده با رمز عبور و استفاده از نخ‌ها را پوشش می‌دهد.

بهینه‌سازی ترکیب ارائه‌ها

با Aspose.Slides for .NET، به‌راحتی ارائه‌های PowerPoint را ترکیب کنید در حالی که سبک‌ها، طرح‌ها و تمام عناصر حفظ می‌شوند. برخلاف ابزارهای دیگر، Aspose.Slides ارائه‌ها را بدون کاهش کیفیت یا از دست رفتن داده‌ها ادغام می‌کند. می‌توانید کل ارائه‌ها، اسلایدهای خاص و حتی فرمت‌های مختلف فایل (PPT به PPTX و غیره) را ترکیب کنید.

ویژگی‌های ترکیب

  • Full Presentation Merge: تمام اسلایدها را در یک فایل واحد جمع‌آوری کنید.
  • Specific Slide Merge: اسلایدهای انتخابی را انتخاب و ترکیب کنید.
  • Cross-Format Merge: ارائه‌های با فرمت‌های متفاوت را یکپارچه کنید و یکپارچگی را حفظ کنید.

ترکیب ارائه‌ها

وقتی شما یک ارائه را به ارائه دیگر ادغام می‌کنید، در واقع اسلایدهای آن‌ها را در یک ارائه ترکیب می‌کنید تا یک فایل به‌دست آورید.

چه چیزهایی می‌توان ترکیب کرد

با 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) استفاده کنید.

ادغام اسلایدهای مخصوص از ارائه‌ها

ادغام اسلایدهای خاص از چندین ارائه برای ایجاد مجموعه اسلایدهای سفارشی مفید است. Aspose.Slides for .NET به شما امکان می‌دهد فقط اسلایدهای مورد نیاز را انتخاب و وارد کنید. API قالب‌بندی، طرح‌بندی و طراحی اسلایدهای اصلی را حفظ می‌کند.

کد C# زیر یک ارائه جدید ایجاد می‌کند، اسلایدهای عنوان را از دو ارائه دیگر اضافه می‌کند و نتیجه را در فایلی ذخیره می‌کند:

using (Presentation presentation = new Presentation())
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
using (Presentation presentation2 = new Presentation("presentation2.pptx"))
{
    presentation.Slides.RemoveAt(0);

    ISlide slide1 = GetTitleSlide(presentation1);

    if (slide1 != null)
        presentation.Slides.AddClone(slide1);

    ISlide slide2 = GetTitleSlide(presentation2);

    if (slide2 != null)
        presentation.Slides.AddClone(slide2);

    presentation.Save("combined.pptx", SaveFormat.Pptx);
}
static ISlide GetTitleSlide(IPresentation presentation)
{
    foreach (ISlide slide in presentation.Slides)
    {
        if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title)
        {
            return slide;
        }
    }
    return null;
}

ادغام ارائه‌ها با طرح‌بندی اسلاید

این کد 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);
}

ادغام ارائه‌ها با اندازه اسلایدهای متفاوت

برای ترکیب 2 ارائه با اندازه اسلایدهای متفاوت، باید یکی از ارائه‌ها را تغییر اندازه دهید تا اندازه آن با ارائه دیگر منطبق شود.

این کد نمونه عملیات توضیح داده‌شده را نشان می‌دهد:

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);
}

اسلاید در انتهای بخش اضافه می‌شود.

سوالات متداول

آیا یادداشت‌های گوینده در هنگام ترکیب حفظ می‌شوند؟

بله. هنگام کلون کردن اسلایدها، Aspose.Slides تمام عناصر اسلاید از جمله یادداشت‌ها، قالب‌بندی و انیمیشن‌ها را منتقل می‌کند.

آیا نظرات و نویسندگان آن‌ها منتقل می‌شود؟

نظرات به‌عنوان بخشی از محتوای اسلاید کپی می‌شوند. برچسب‌های نویسندهٔ نظر به عنوان آبجکت‌های نظر در ارائهٔ حاصل حفظ می‌شوند.

اگر ارائه منبع با رمز عبور حفاظت شده باشد چه می‌شود؟

باید با استفاده از LoadOptions.Password و مسیر باز کردن با رمز عبور آن را باز کنید؛ پس از بارگذاری، می‌توانید آن اسلایدها را به‌صورت امن به یک فایل هدف بدون حفاظت (یا حتی با حفاظت) کلون کنید.

عملیات ترکیب تا چه حد ایمن در مقابل نخ‌ها است؟

از استفادهٔ همزمان از یک شیء Presentation در چندین نخ خودداری کنید. قاعدهٔ پیشنهادی این است که «یک سند — یک نخ»؛ فایل‌های مختلف می‌توانند به‌صورت موازی در نخ‌های جداگانه پردازش شوند.