รวมงานนำเสนออย่างมีประสิทธิภาพใน .NET

ภาพรวม

Aspose.Slides ช่วยให้คุณรวมงานนำเสนอโดยการโคลนสไลด์จากงานนำเสนอหนึ่งไปยังอีกงานหนึ่ง บทความนี้อธิบายวิธีการรวมงานนำเสนอทั้งหมดหรือสไลด์ที่เลือก ใช้สไลด์มัสเตอร์หรือเค้าโหนดเฉพาะในระหว่างการรวม จัดการงานนำเสนอที่มีขนาดสไลด์ต่างกัน และเพิ่มสไลด์ที่รวมแล้วไปยังส่วนของงานนำเสนอ นอกจากนี้ยังครอบคลุมบันทึกที่เป็นประโยชน์เกี่ยวกับเนื้อหาที่รวมไว้ รวมถึงบันทึกของผู้พูด ความคิดเห็น ไฟล์ต้นฉบับที่ป้องกันด้วยรหัสผ่าน และการใช้เธรด

เพิ่มประสิทธิภาพการรวมงานนำเสนอของคุณ

ด้วย Aspose.Slides for .NET, คุณสามารถรวมงานนำเสนอ PowerPoint ได้อย่างไร้รอยต่อพร้อมคงสไตล์ เค้าโหนด และทุกองค์ประกอบไว้เช่นเดิม ไม่เหมือนกับเครื่องมืออื่น ๆ Aspose.Slides จะผสานงานนำเสนอโดยไม่ลดคุณภาพหรือสูญเสียข้อมูล สามารถรวมงานนำเสนอทั้งหมด สไลด์เฉพาะ และแม้กระทั่งรูปแบบไฟล์ต่าง ๆ (PPT to PPTX เป็นต้น)

คุณสมบัติการรวม

  • การรวมงานนำเสนอเต็มรูปแบบ: รวบรวมสไลด์ทั้งหมดเป็นไฟล์เดียว
  • การรวมสไลด์เฉพาะ: เลือกและรวมสไลด์ที่เลือก
  • การรวมข้ามรูปแบบ: รวมงานนำเสนอที่มีรูปแบบต่างกันโดยคงความสมบูรณ์ไว้

การรวมงานนำเสนอ

เมื่อคุณ รวมงานนำเสนอหนึ่งกับอีกงานนำเสนอหนึ่ง, คุณจะทำการรวมสไลด์ของพวกเขาไว้ในงานนำเสนอเดียวเพื่อให้ได้ไฟล์หนึ่งไฟล์

สิ่งที่สามารถรวมได้

ด้วย Aspose.Slides คุณสามารถรวม

  • งานนำเสนอทั้งหมด ทุกสไลด์จากงานนำเสนอจะถูกรวมเป็นงานนำเสนอเดียว
  • สไลด์เฉพาะ สไลด์ที่เลือกจะถูกรวมเป็นงานนำเสนอเดียว
  • งานนำเสนอในรูปแบบเดียวกัน (PPT to PPT, PPTX to PPTX เป็นต้น) และในรูปแบบต่าง ๆ (PPT to PPTX, PPTX to 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 หลังจากโหลดแล้วสไลด์เหล่านั้นสามารถโคลนไปยังไฟล์เป้าหมายที่ไม่มีรหัสผ่าน (หรือไฟล์ที่มีการป้องกันได้เช่นกัน)

การดำเนินการรวมเป็น thread‑safe มากแค่ไหน?

ห้ามใช้ออบเจ็กต์ Presentation เดียวกันจากหลายเธรด คำแนะนำที่แนะนำคือ “หนึ่งเอกสาร — หนึ่งเธรด” ไฟล์ต่าง ๆ สามารถประมวลผลพร้อมกันในเธรดแยกต่างหากได้.