รวมงานนำเสนออย่างมีประสิทธิภาพใน .NET
ภาพรวม
Aspose.Slides for .NET รวมงานนำเสนอโดยการโคลนสไลด์จาก งานนำเสนอ หนึ่งไปยังอีกงานนำเสนอหนึ่ง การดำเนินการหลักคือ ISlideCollection.AddClone, ซึ่งสามารถคงรูปแบบของสไลด์ต้นฉบับ หรือแนบสไลด์ที่โคลนไปยังมาสเตอร์หรือเลเอาต์ในงานนำเสนอปลายทางได้
บทความนี้ครอบคลุมเวิร์กโฟลว์การรวมที่พบบ่อยที่สุด:
- รวมสไลด์ทั้งหมดพร้อมคงรูปแบบต้นฉบับ;
- รวมสไลด์ที่เลือก;
- ใช้มาสเตอร์จากงานนำเสนอปลายทาง;
- ใช้เลเอาต์เฉพาะจากงานนำเสนอปลายทาง;
- ทำให้ขนาดสไลด์ที่ต่างกันเป็นมาตรฐานก่อนการรวม;
- เพิ่มสไลด์ที่โคลนเข้าไปในส่วน;
- รวมงานนำเสนอหลายไฟล์ในเวิร์กโฟลว์ชนิดปลายทางถึงปลายทาง;
- จัดการมาสเตอร์, ทรัพยากร, โน้ต, ความคิดเห็น, สื่อ, ฟอนต์, รหัสผ่าน, ไฟล์ขนาดใหญ่, และข้อกังวลเรื่องการทำงานหลายเธรด
ผลของการโคลนสไลด์ต่อมาสเตอร์และเลเอาต์
สไลด์สืบทอดลักษณะส่วนใหญ่จากเลเอาต์และมาสเตอร์ ดังนั้นการเลือก overload ของการโคลนจะกำหนดว่สไลด์ที่รวมจะถูกผสานเข้ากับงานนำเสนอปลายทางอย่างไร
ใช้ ISlideCollection.AddClone ในวิธีใดวิธีหนึ่งต่อไปนี้:
AddClone(sourceSlide)— คงเลเอาต์และรูปแบบของสไลด์ต้นฉบับ เมื่อจำเป็น มาสเตอร์ต้นฉบับจะถูกโคลนเข้าสู่งานนำเสนอปลายทางโดยอัตโนมัติ Aspose.Slides จะติดตามมาสเตอร์ที่โคลนโดยอัตโนมัติเพื่อหลีกเลี่ยงการโคลนมาสเตอร์เดียวกันหลายครั้งAddClone(sourceSlide, destinationMaster, allowCloneMissingLayout)— แนบสไลด์ที่โคลนไปยัง IMasterSlide ปลายทางเฉพาะ Aspose.Slides จะค้นหาเลเอาต์ที่ตรงกันภายใต้มาสเตอร์นั้นโดยประเภทหรือชื่อของเลเอาต์AddClone(sourceSlide, destinationLayout)— แนบสไลด์ที่โคลนโดยตรงไปยัง ILayoutSlide ปลายทางเฉพาะ
มาสเตอร์หรือเลเอาต์ที่ส่งให้ overload AddClone ต้องเป็นของ งานนำเสนอปลายทาง ไม่ใช่งานนำเสนอแหล่ง
รวมงานนำเสนอทั้งหมดและคงรูปแบบต้นฉบับ
การรวมที่ง่ายที่สุดคือคัดลอกทุกสไลด์จากงานนำเสนอแหล่งไปยังงานนำเสนอปลายทาง นี่เป็นตัวเลือกที่เหมาะเมื่อต้องการให้สไลด์ที่นำเข้ารักษาธีม, มาสเตอร์, และความสัมพันธ์ของเลเอาต์เดิมไว้
using Aspose.Slides;
using Aspose.Slides.Export;
using var destination = new Presentation("destination.pptx");
using var source = new Presentation("source.pptx");
foreach (var slide in source.Slides)
{
destination.Slides.AddClone(slide);
}
destination.Save("merged.pptx", SaveFormat.Pptx);
งานนำเสนอที่ได้อาจมีมาสเตอร์หลายตัวเมื่อแหล่งและปลายทางใช้ดีไซน์ต่างกัน ซึ่งเป็นพฤติกรรมที่คาดหวังเมื่อคงรูปแบบต้นฉบับไว้
รวมสไลด์ที่เลือก
คุณไม่จำเป็นต้องโคลนทุกสไลด์ ตัวอย่างต่อไปนี้นำเข้าเฉพาะตำแหน่งสไลด์ที่เลือกจากงานนำเสนอแหล่ง
using Aspose.Slides;
using Aspose.Slides.Export;
using var destination = new Presentation("destination.pptx");
using var source = new Presentation("source.pptx");
var slideIndexes = new[] { 0, 2, 4 };
foreach (var index in slideIndexes)
{
destination.Slides.AddClone(source.Slides[index]);
}
destination.Save("merged-selected-slides.pptx", SaveFormat.Pptx);
ตรวจสอบตำแหน่งสไลด์ก่อนทำการโคลนเมื่อค่ามาจากอินพุตของผู้ใช้หรือการกำหนดค่าภายนอก
รวมสไลด์โดยใช้มาสเตอร์ปลายทาง
ใช้ overload AddClone(ISlide, IMasterSlide, Boolean) เมื่อสไลด์ที่นำเข้าต้องปฏิบัติตามมาสเตอร์ที่อยู่ในงานนำเสนอปลายทางอยู่แล้ว
using Aspose.Slides;
using Aspose.Slides.Export;
using var destination = new Presentation("destination.pptx");
using var source = new Presentation("source.pptx");
var destinationMaster = destination.Masters[0];
foreach (var slide in source.Slides)
{
destination.Slides.AddClone(slide, destinationMaster, allowCloneMissingLayout: true);
}
destination.Save("merged-with-destination-master.pptx", SaveFormat.Pptx);
Aspose.Slides จะเลือกเลเอาต์ที่เหมาะสมภายใต้มาสเตอร์ที่ระบุโดยการจับคู่ประเภทหรือชื่อของเลเอาต์ต้นฉบับ หากไม่มีเลเอาต์ที่เหมาะสมและ allowCloneMissingLayout เป็น true จะโคลนเลเอาต์ต้นฉบับเพื่อให้สไลด์สามารถเพิ่มได้ หากเป็น false จะเกิด PptxEditException ขึ้น
ใช้ค่า false เมื่อคุณต้องการให้การรวมล้มเหลวแทนที่จะเพิ่มเลเอาต์ใหม่เข้าสู่มาสเตอร์ปลายทาง
รวมสไลด์โดยใช้เลเอาต์ปลายทางเฉพาะ
ใช้ overload AddClone(ISlide, ILayoutSlide) เมื่อคุณทราบเลเอาต์ปลายทางที่สไลด์นำเข้าต้องใช้อย่างชัดเจน
using Aspose.Slides;
using Aspose.Slides.Export;
using var destination = new Presentation("destination.pptx");
using var source = new Presentation("source.pptx");
var destinationLayout = destination.LayoutSlides[0];
foreach (var slide in source.Slides)
{
destination.Slides.AddClone(slide, destinationLayout);
}
destination.Save("merged-with-destination-layout.pptx", SaveFormat.Pptx);
การใช้เลเอาต์ปลายทางจะเปลี่ยนความสัมพันธ์ของเลเอาต์ที่สืบทอด; มันไม่ได้ออกแบบเนื้อหาสไลด์ต้นฉบับใหม่ หากเลเอาต์ของแหล่งและปลายทางมีโครงสร้าง placeholder แตกต่างกัน ให้ตรวจสอบผลลัพธ์เพื่อยืนยันว่าการจัดรูปแบบและพฤติกรรม placeholder ที่สืบทอดนั้นเหมาะสม
รวมงานนำเสนอที่มีขนาดสไลด์ต่างกัน
งานนำเสนอที่มีขนาดสไลด์ต่างกันสามารถรวมกันได้ แต่การโคลนสไลด์เข้าสู่งานนำเสนอที่มีขนาดสไลด์อื่นจะไม่ออกแบบเนื้อหาใหม่อัตโนมัติให้พอกับผืนผ้าใบใหม่ รูปร่างอาจปรากฏเป็นการย้าย, ยืดหดที่ไม่คาดคิด, หรืออยู่นอกพื้นที่สไลด์ที่มองเห็นได้
วิธีการที่เป็นประโยชน์คือปรับขนาดงานนำเสนอแหล่งก่อนโคลน วิธี SlideSize.SetSize สามารถปรับสเกลเนื้อหาที่มีอยู่ในขณะเปลี่ยนขนาดสไลด์ได้ และ SlideSizeScaleType.EnsureFit จะสเกลเนื้อหาให้พอดีกับขนาดที่ร้องขอ
using Aspose.Slides;
using Aspose.Slides.Export;
using var destination = new Presentation("destination.pptx");
using var source = new Presentation("source.pptx");
if (source.SlideSize.Size.Width != destination.SlideSize.Size.Width ||
source.SlideSize.Size.Height != destination.SlideSize.Size.Height)
{
source.SlideSize.SetSize(
destination.SlideSize.Size.Width,
destination.SlideSize.Size.Height,
SlideSizeScaleType.EnsureFit);
}
foreach (var slide in source.Slides)
{
destination.Slides.AddClone(slide);
}
destination.Save("merged-same-slide-size.pptx", SaveFormat.Pptx);
การปรับขนาดจะเปลี่ยนวัตถุงานนำเสนอแหล่งในหน่วยความจำ หากคุณต้องการให้งานนำเสนอแหล่งต้นฉบับยังคงไม่เปลี่ยนสำหรับการดำเนินการอื่น ให้เปิดอินสแตนซ์แยกสำหรับการรวม
รวมสไลด์ไปยังส่วนของงานนำเสนอ
ลูปการโคลนสไลด์พื้นฐานจะไม่สร้างลำดับชั้นของส่วนจากงานนำเสนอแหล่ง หากส่วนมีความสำคัญในผลลัพธ์ ให้สร้างหรือเลือกส่วนในงานนำเสนอปลายทางและโคลนสไลด์เข้าไปในส่วนเหล่านั้นโดยใช้ AddClone(ISlide, ISection)
using Aspose.Slides;
using Aspose.Slides.Export;
using var destination = new Presentation("destination.pptx");
using var source = new Presentation("source.pptx");
var importedSection = destination.Sections.AppendEmptySection("Imported slides");
foreach (var slide in source.Slides)
{
destination.Slides.AddClone(slide, importedSection);
}
destination.Save("merged-with-section.pptx", SaveFormat.Pptx);
สไลด์ที่โคลนจะถูกต่อท้ายในส่วนปลายทางที่ระบุ เพื่อคงหลายส่วนจากแหล่ง ให้วนลูป Presentation.Sections, ดึงสไลด์ปัจจุบันของแต่ละส่วนแหล่งด้วย ISection.GetSlidesListOfSection, สร้างส่วนในปลายทางใหม่, แล้วโคลนสไลด์ที่คืนค่ามาเข้าไปในส่วนปลายทางที่สอดคล้องกัน ดูตัวอย่างการจัดการส่วนสไลด์เต็มรูปแบบได้ที่ Manage Slide Sections ซึ่งรวมถึงส่วนว่างและการเปลี่ยนแปลงโครงสร้าง
รวมหลายงานนำเสนออย่างปลอดภัย
ตัวอย่างแบบปลายทางถึงปลายทางต่อไปนี้ใช้งานนำเสนอแรกเป็นปลายทาง, ทำให้ขนาดสไลด์ของแต่ละแหล่งเป็นมาตรฐาน, เปิดแต่ละแหล่งเฉพาะขณะทำการคัดลอก, และบันทึกไฟล์สุดท้ายเพียงครั้งเดียว
using Aspose.Slides;
using Aspose.Slides.Export;
var inputFiles = new[] { "part1.pptx", "part2.pptx", "part3.pptx" };
using var merged = new Presentation(inputFiles[0]);
for (var fileIndex = 1; fileIndex < inputFiles.Length; fileIndex++)
{
using var source = new Presentation(inputFiles[fileIndex]);
if (source.SlideSize.Size.Width != merged.SlideSize.Size.Width ||
source.SlideSize.Size.Height != merged.SlideSize.Size.Height)
{
source.SlideSize.SetSize(
merged.SlideSize.Size.Width,
merged.SlideSize.Size.Height,
SlideSizeScaleType.EnsureFit);
}
foreach (var slide in source.Slides)
{
merged.Slides.AddClone(slide);
}
}
merged.Save("merged.pptx", SaveFormat.Pptx);
นี่เป็นพื้นฐานที่มีประโยชน์สำหรับการคงรูปแบบต้นฉบับของสไลด์ที่นำเข้า หากผลลัพธ์ต้องใช้งานธีมเดียวของปลายทาง ให้เปลี่ยนการเรียก AddClone(slide) ธรรมดาเป็น overload ของมาสเตอร์หรือเลเอาต์ปลายทางที่แสดงไว้ก่อนหน้า
ข้อพิจารณาเชิงปฏิบัติ
มาสเตอร์, เลเออต์, และความถูกต้องของการจัดรูปแบบ
การโคลนสไลด์โดยค่าเริ่มต้นสามารถนำมาสเตอร์ของแหล่งที่จำเป็นเข้าสู่งานนำเสนอปลายทางได้โดยอัตโนมัติ Aspose.Slides จะเก็บทะเบียนภายในสำหรับมาสเตอร์ที่โคลนอัตโนมัติเพื่อหลีกเลี่ยงการโคลนมาสเตอร์เดียวกันหลายครั้ง มาสเตอร์ที่โคลนด้วยตนเองไม่ได้รับการติดตามโดยทะเบียนนั้น ดังนั้นควรหลีกเลี่ยงการโคลนมาสเตอร์ล่วงหน้า เว้นแต่คุณต้องการควบคุมโครงสร้างมาสเตอร์อย่างชัดเจน
อย่าสันนิษฐานว่ามาสเตอร์หรือเลเออต์สองตัวที่มีชื่อเดียวกันจะดูเหมือนกัน หากเทมเพลตองค์กรต้องการควบคุมรูปลักษณ์สุดท้าย ให้เลือกมาสเตอร์หรือเลเอาต์ปลายทางอย่างเจาะจงและตรวจสอบผลลัพธ์หลังการรวม
โน้ตและความคิดเห็น
โน้ตวิทยากรและความคิดเห็นของสไลด์เชื่อมโยงกับเนื้อหาสไลด์และจะถูกคัดลอกเมื่อลูกศรโคลนสไลด์ Aspose.Slides ยังมี API เฉพาะสำหรับ presentation notes และ presentation comments
หากการจัดรูปแบบของหน้าโน้ตสำคัญ ให้ตรวจสอบงานนำเสนอที่รวมแล้วเนื่องจากมาสเตอร์ของโน้ตเป็นออบเจ็กต์ระดับงานนำเสนอและอาจแตกต่างระหว่างไฟล์แหล่ง สำหรับเวิร์กโฟลว์การรีวิวให้ตรวจสอบผู้เขียนความคิดเห็นและการแสดงความคิดเห็นแบบโซ่หลังจากรวมไฟล์จากผู้เขียนหรือเทมเพลตต่างกัน
รูปภาพ, เสียง, วิดีโอ, วัตถุ OLE, และลิงก์ภายนอก
สไลด์อาจอ้างอิงทรัพยากรระดับงานนำเสนอเช่นรูปภาพ, เสียงฝัง, วิดีโอฝัง, และข้อมูล OLE ให้โคลนสไลด์เองแทนการคัดลอกเฉพาะรูปร่างที่มองเห็น เพื่อให้ Aspose.Slides รักษาความสัมพันธ์ของสไลด์ต่อทรัพยากรเหล่านั้น
ทรัพยากรที่ฝังและที่ลิงก์ควรจัดการต่างกัน ลิงก์เสียง, วิดีโอ, วัตถุ OLE, หรือไฮเปอร์ลิงก์ที่เชื่อมต่อจะยังคงพึ่งพาแหล่งภายนอก; การโคลนสไลด์ไม่ได้เปลี่ยนลิงก์ภายนอกเป็นเนื้อหาฝัง ให้ทดสอบเส้นทางและ URL ของทรัพยากรที่ลิงก์ในสภาพแวดล้อมที่งานนำเสนอที่รวมจะถูกเปิด
Aspose.Slides ติดตามมาสเตอร์ที่โคลนโดยอัตโนมัติ แต่ไม่ควรถือว่าเป็นการรับประกันทั่วไปว่าทรัพยากรไบนารีที่เหมือนกันจากงานนำเสนอแหล่งที่ไม่ได้เชื่อมต่อกันจะถูกกำจัดซ้ำเสมอ หากขนาดไฟล์ผลลัพธ์สำคัญ ให้ตรวจสอบแพ็กเกจที่รวมและวัดผลลัพธ์แทนการพึ่งพาการกำจัดซ้ำโดยไม่ชัดเจน
ฟอนต์ฝังและความพร้อมใช้งานของฟอนต์
ฟอนต์จัดการระดับงานนำเสนอ หากต้องการให้การพิมพ์รักษาความสม่ำเสมอระหว่างเครื่อง อย่าสันนิษฐานว่าการโคลนสไลด์เพียงอย่างเดียวทำให้ฟอนต์ที่ต้องการทั้งหมดพร้อมใช้งานในสภาพแวดล้อมปลายทาง คุณสามารถตรวจสอบฟอนต์ที่ฝังไว้ด้วย FontsManager.GetEmbeddedFonts และจัดการการฝังอย่างเจาะจงตามที่อธิบายใน Embed Fonts in Presentations
ตรวจสอบด้วยว่าคุณมีสิทธิ์ฝังฟอนต์ที่ใช้ในไฟล์แหล่ง ฟอนต์บางตัวอาจมีใบอนุญาตห้ามฝัง
งานนำเสนอที่ป้องกันด้วยรหัสผ่าน
แหล่งที่ป้องกันด้วยรหัสผ่านต้องเปิดสำเร็จก่อนที่จะโคลนสไลด์ได้ ให้ส่งรหัสผ่านผ่าน LoadOptions.Password
using Aspose.Slides;
var loadOptions = new LoadOptions { Password = "YOUR_PASSWORD" };
using var source = new Presentation("protected.pptx", loadOptions);
การเปิดแหล่งที่เข้ารหัสไม่ได้ทำให้การป้องกันเดียวกันถูกนำไปใช้กับงานนำเสนอปลายทางโดยอัตโนมัติ ให้กำหนดการป้องกันผลลัพธ์แยกต่างหากเมื่อจำเป็น
งานนำเสนอขนาดใหญ่และการใช้หน่วยความจำ
งานนำเสนอขนาดใหญ่ที่มีรูปภาพความละเอียดสูง, เสียง, วิดีโอ หรือวัตถุไบนารีขนาดอื่น ๆ สามารถใช้หน่วยความจำจำนวนมากได้ LoadOptions.BlobManagementOptions ให้ตัวเลือกสำหรับการจัดการ BLOB และการใช้ไฟล์ชั่วคราว ดู Manage Presentation BLOBs สำหรับกลยุทธ์ไฟล์ขนาดใหญ่
สำหรับไฟล์ขนาดใหญ่ ให้โหลดจากเส้นทางไฟล์เมื่อเป็นไปได้ ปิดการใช้งานงานนำเสนอแหล่งทันทีหลังการรวมเสร็จ และหลีกเลี่ยงการบันทึกผลลัพธ์ชั่วคราวซ้ำ ๆ เว้นแต่ว่าเวิร์กโฟลว์ต้องการจุดตรวจ
ความปลอดภัยของเธรด
ห้ามโหลด, แก้ไข, บันทึก, หรือโคลนอินสแตนซ์ Presentation เดียวกันพร้อมกันจากหลายเธรด ให้จำกัดอินสแตนซ์งานนำเสนอแต่ละอันให้ใช้กับการดำเนินการรวมหนึ่งครั้งเท่านั้น หากคุณทำงานแบบขนานให้ใช้อินสแตนซ์งานนำเสนอที่แยกจากกันและปฏิบัติตาม Aspose.Slides multithreading guidance
FAQ
ฉันจะรักษาการออกแบบต้นฉบับของแต่ละงานนำเสนอได้อย่างไร?
ใช้ AddClone โดยไม่ระบุมาสเตอร์หรือเลเอาต์ปลายทาง Aspose.Slides สามารถโคลนมาสเตอร์ของแหล่งโดยอัตโนมัติเมื่อสไลด์ที่นำเข้าต้องการ
ฉันจะทำให้สไลด์ที่นำเข้าใช้ธีมของปลายทางได้อย่างไร?
ใช้ overload ที่รับมาสเตอร์ปลายทาง ส่งมาสเตอร์จากงานนำเสนอปลายทาง ไม่ใช่จากแหล่ง Aspose.Slides จะพยายามแมปสไลด์แต่ละอันไปยังเลเอาต์ที่เหมาะสมภายใต้มาสเตอร์นั้น
เมื่อใดควรใช้เลเอาต์ปลายทางเฉพาะแทนมาสเตอร์ปลายทาง?
ใช้เลเอาต์เฉพาะเมื่อสไลด์ที่นำเข้าทุกสไลด์ต้องใช้เลเอาต์เดียวที่รู้จัก ใช้มาสเตอร์เมื่อคุณต้องการให้ Aspose.Slides เลือกเลเอาต์จากมาสเตอร์นั้นตามประเภทหรือชื่อของเลเออต์ต้นฉบับ
งานนำเสนอที่มีขนาดสไลด์ต่างกันสามารถรวมกันได้หรือไม่?
ได้ แต่เนื้อหาสไลด์จะไม่ถูกออกแบบใหม่อัตโนมัติตามมิติปลายทาง ให้ปรับขนาดงานนำแหล่งก่อนเมื่อคุณต้องการตำแหน่งที่คาดเดาได้ เช่นใช้ SlideSize.SetSize และ SlideSizeScaleType.EnsureFit
ฉันสามารถรวมไฟล์ PPT, PPTX, และ ODP เป็นไฟล์เดียวได้หรือไม่?
ได้ เปิดงานนำเสนอแต่ละไฟล์, โคลนสไลด์ที่ต้องการเข้าไปในงานนำเสนอปลายทางหนึ่ง, แล้วบันทึกปลายทางในรูปแบบที่รองรับ เนื่องจากรูปแบบไฟล์งานนำเสนอไม่สนับสนุนชุดคุณสมบัติเช่นเดียวกันทั้งหมด ควรตรวจสอบเนื้อหาซับซ้อนหลังการรวมข้ามรูปแบบ ดู Supported File Formats
ส่วนของแหล่งจะถูกคงไว้โดยอัตโนมัติหรือไม่?
ไม่ได้จากลูปพื้นฐานที่โคลนสไลด์เท่านั้น ให้สร้างส่วนที่ต้องการในปลายทางและใช้ overload ของส่วนใน AddClone เมื่อโครงสร้างส่วนต้องถูกคงไว้
โน้ตวิทยากรและความคิดเห็นจะถูกคงไว้หรือไม่?
พวกมันจะถูกคัดลอกพร้อมสไลด์ที่โคลน สำหรับเวิร์กโฟลว์ที่ขึ้นกับสไตล์ของโน้ตมาสเตอร์, ผู้เขียนความคิดเห็น, หรือข้อมูลการรีวิวแบบโซ่ ให้ตรวจสอบผลลัพธ์ที่รวมเนื่องจากสถานการณ์เหล่านั้นเกี่ยวข้องกับโครงสร้างระดับงานนำเสนอเช่นเดียวกับเนื้อหาระดับสไลด์
เกิดอะไรขึ้นกับเสียง, วิดีโอ, วัตถุ OLE, และไฮเปอร์ลิงก์?
เนื้อหาที่ฝังจะถูกนำไปเป็นส่วนหนึ่งของความสัมพันธ์ทรัพยากรของสไลด์ที่โคลน ลิงก์ภายนอกจะยังคงเป็นลิงก์ภายนอก ดังนั้นไฟล์หรือ URL ปลายทางต้องยังคงพร้อมใช้งานหลังการรวม
ฟอนต์ที่ฝังจากทุกแหล่งจะได้รับการรับรองว่ามีอยู่ในงานนำเสนอที่รวมหรือไม่?
อย่าพึ่งพาการโคลนสไลด์อย่างเดียวสำหรับการจัดจำหน่ายฟอนต์ ตรวจสอบฟอนต์ที่ฝังในปลายทางและจัดการการฝังฟอนต์หรือความพร้อมใช้งานฟอนต์ภายนอกอย่างชัดเจนเมื่อการพิมพ์เป็นสิ่งสำคัญ
ฉันจะรวมไฟล์ที่ป้องกันด้วยรหัสผ่านได้อย่างไร?
เปิดไฟล์ด้วย LoadOptions.Password ที่ถูกต้อง จากนั้นโคลนสไลด์ตามปกติ การป้องกันผลลัพธ์จะต้องกำหนดแยกต่างหาก
ฉันควรจัดการงานนำเสนอขนาดใหญ่อย่างไร?
ใช้การจัดการ BLOB เมื่อออบเจกต์ไบนารีขนาดใหญ่ครองหน่วยความจำเป็นส่วนใหญ่, โหลดจากเส้นทางไฟล์สำหรับไฟล์ขนาดใหญ่อย่างเต็มที่, ปิดการใช้งานงานนำเสนอแหล่งทันทีหลังการรวม, และบันทึกผลลัพธ์สุดท้ายเฉพาะเมื่อจำเป็น
ฉันสามารถโคลนสไลด์จากหลายเธรดพร้อมกันได้หรือไม่?
ห้ามใช้อินสแตนซ์ Presentation เดียวกันพร้อมกันจากหลายเธรด ให้แยกการดำเนินการรวมแต่ละงานนำเสนอออกเป็นอินสแตนซ์ของตนเองและปฏิบัติตามแนวทางการทำงานหลายเธรดของ Aspose.Slides.