รวมงานนำเสนออย่างมีประสิทธิภาพใน PHP
ภาพรวม
Aspose.Slides ช่วยให้คุณรวมงานนำเสนอโดยการคัดลอกสไลด์จากงานนำเสนอหนึ่งไปยังอีกงานหนึ่ง บทความนี้อธิบายวิธีการรวมงานนำเสนอทั้งหมดหรือสไลด์ที่เลือก ใช้สไลด์มาสเตอร์หรือเค้าโครงเฉพาะระหว่างการรวม จัดการงานนำเสนอที่มีขนาดสไลด์แตกต่างกัน และเพิ่มสไลด์ที่รวมแล้วไปยังส่วนของงานนำเสนอ นอกจากนี้ยังครอบคลุมบันทึกสำคัญที่เกี่ยวกับเนื้อหาที่รวม เช่น โน้ตผู้พูด ความคิดเห็น ไฟล์ต้นแบบที่มีการป้องกันด้วยรหัสผ่าน และการใช้เธรด
การรวมงานนำเสนอ
เมื่อคุณรวมงานนำเสนอหนึ่งเข้ากับอีกงานหนึ่ง คุณกำลังผสานสไลด์ของพวกมันเข้าไว้ในงานนำเสนอเดียวเพื่อให้ได้ไฟล์หนึ่งไฟล์
Info
โปรแกรมงานนำเสนอส่วนใหญ่ (PowerPoint หรือ OpenOffice) ขาดฟังก์ชันที่อนุญาตให้ผู้ใช้รวมงานนำเสนอในลักษณะดังกล่าว
Aspose.Slides for PHP via Java, แต่ Aspose.Slides for PHP via Java ให้คุณรวมงานนำเสนอในรูปแบบต่าง ๆ คุณสามารถรวมงานนำเสนอพร้อมกับรูปทรง สไตล์ ข้อความ การจัดรูปแบบ ความคิดเห็น แอนิเมชัน ฯลฯ โดยไม่ต้องกังวลเรื่องการสูญเสียคุณภาพหรือข้อมูล
ดูเพิ่มเติม
สิ่งที่สามารถรวมได้
With Aspose.Slides, you can merge
- งานนำเสนอทั้งหมด สไลด์ทั้งหมดจากงานนำเสนอจะถูกรวมเป็นงานนำเสนอเดียว
- สไลด์เฉพาะ สไลด์ที่เลือกจะถูกรวมเป็นงานนำเสนอเดียว
- งานนำเสนอในรูปแบบเดียวกัน (เช่น PPT ไป PPT, PPTX ไป PPTX ฯลฯ) และในรูปแบบต่างกัน (เช่น PPT ไป PPTX, PPTX ไป ODP ฯลฯ) ไปยังกันและกัน.
Note
นอกจากงานนำเสนอแล้ว Aspose.Slides ยังอนุญาตให้คุณรวมไฟล์อื่น ๆ:
- รูปภาพ, เช่น JPG ไป JPG หรือ PNG ไป PNG
- เอกสาร เช่น PDF ไป PDF หรือ HTML ไป HTML
- และไฟล์ที่แตกต่างสองประเภท เช่น รูปภาพไป PDF หรือ JPG ไป PDF หรือ TIFF ไป PDF.
ตัวเลือกการรวม
You can apply options that determine whether
- แต่ละสไลด์ในงานนำเสนอผลลัพธ์จะคงสไตล์เฉพาะของตน
- สไตล์เฉพาะจะถูกใช้กับสไลด์ทั้งหมดในงานนำเสนอผลลัพธ์.
เพื่อรวมงานนำเสนอ Aspose.Slides มีเมธอด addClone (จากคลาส SlideCollection) มีการนำไปใช้หลายแบบของเมธอด addClone ที่กำหนดพารามิเตอร์ของกระบวนการรวมงานนำเสนอ ทุกอ็อบเจ็กต์ Presentation มีคอลเล็กชัน slide ดังนั้นคุณสามารถเรียกเมธอด addClone จากงานนำเสนอที่ต้องการรวมสไลด์ได้
เมธอด addClone จะคืนค่าเป็นอ็อบเจ็กต์ Slide ซึ่งเป็นสำเนาของสไลด์ต้นฉบับ สไลด์ในงานนำเสนอผลลัพธ์เป็นเพียงสำเนาของสไลด์จากต้นฉบับ ดังนั้นคุณสามารถทำการเปลี่ยนแปลงสไลด์ที่ได้ (เช่น ใช้สไตล์หรือตัวเลือกการจัดรูปแบบหรือเค้าโครง) โดยไม่ต้องกังวลว่างานนำเสนอเดิมจะได้รับผลกระทบ
รวมงานนำเสนอ
Aspose.Slides มีเมธอด addClone(Slide) ที่ช่วยให้คุณรวมสไลด์โดยสไลด์คงเค้าโครงและสไตล์เดิม (พารามิเตอร์ค่าเริ่มต้น).
โค้ด PHP นี้จะแสดงวิธีการรวมงานนำเสนอ:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
รวมงานนำเสนอด้วยสไลด์มาสเตอร์
Aspose.Slides มีเมธอด addClone(Slide, MasterSlide, boolean) ที่ช่วยให้คุณรวมสไลด์พร้อมกับการใช้เทมเพลตสไลด์มาสเตอร์ของงานนำเสนอ วิธีนี้ทำให้คุณสามารถเปลี่ยนสไตล์ของสไลด์ในงานนำเสนอผลลัพธ์ได้หากต้องการ
โค้ดนี้แสดงการทำงานที่อธิบายไว้:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getMasters()->get_Item(0), true);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
Note
เค้าโครงสไลด์สำหรับสไลด์มาสเตอร์จะถูกกำหนดโดยอัตโนมัติ หากไม่สามารถกำหนดเค้าโครงที่เหมาะสมได้ หากพารามิเตอร์บูลีนallowCloneMissingLayout ของเมธอด addClone ถูกตั้งค่าเป็น true จะใช้เค้าโครงของสไลด์ต้นฉบับ มิฉะนั้น จะเกิดข้อผิดพลาด PptxEditException.
หากคุณต้องการให้สไลด์ในงานนำเสนอผลลัพธ์มีเค้าโครงสไลด์ที่แตกต่าง ให้ใช้เมธอด addClone(Slide, LayoutSlide) แทนเมื่อทำการรวม
รวมสไลด์เฉพาะจากงานนำเสนอ
การรวมสไลด์เฉพาะจากหลายงานนำเสนอเป็นประโยชน์สำหรับการสร้างชุดสไลด์ที่กำหนดเอง Aspose.Slides for PHP via Java ให้คุณเลือกและนำเข้าเฉพาะสไลด์ที่ต้องการ API จะรักษาการจัดรูปแบบ เค้าโครง และการออกแบบของสไลด์ต้นฉบับ
โค้ด PHP ด้านล่างนี้สร้างงานนำเสนอใหม่ เพิ่มสไลด์หัวเรื่องจากงานนำเสนอสองแฟ้มอื่น และบันทึกผลลัพธ์ลงไฟล์:
function getTitleSlide(Presentation $presentation) {
for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
$slide = $presentation->getSlides()->get_Item($i);
if (java_values($slide->getLayoutSlide()->getLayoutType()) === SlideLayoutType::Title) {
return $slide;
}
}
return null;
}
$presentation = new Presentation();
$presentation1 = new Presentation($folderPath . "presentation1.pptx");
$presentation2 = new Presentation($folderPath . "presentation2.pptx");
try {
$presentation->getSlides()->removeAt(0);
$slide1 = getTitleSlide($presentation1);
if ($slide1 != null)
$presentation->getSlides()->addClone($slide1);
$slide2 = getTitleSlide($presentation2);
if ($slide2 != null)
$presentation->getSlides()->addClone($slide2);
$presentation->save($folderPath . "combined.pptx", SaveFormat::Pptx);
} finally {
$presentation2->dispose();
$presentation1->dispose();
$presentation->dispose();
}
รวมงานนำเสนอด้วยเค้าโครงสไลด์
โค้ด PHP นี้แสดงวิธีการรวมสไลด์จากงานนำเสนอพร้อมกับการใช้เค้าโครงสไลด์ที่คุณต้องการ เพื่อให้ได้งานนำเสนอผลลัพธ์หนึ่งไฟล์:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
รวมงานนำเสนอที่มีขนาดสไลด์แตกต่างกัน
Note
คุณไม่สามารถรวมงานนำเสนอที่มีขนาดสไลด์แตกต่างกันได้.เพื่อรวมงานนำเสนอ 2 งานที่มีขนาดสไลด์แตกต่างกัน คุณต้องปรับขนาดของหนึ่งงานนำเสนอให้ตรงกับขนาดของงานนำเสนออีกงานหนึ่ง
โค้ดตัวอย่างนี้แสดงการทำงานที่อธิบายไว้:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
$pres2->getSlideSize()->setSize($pres1->getSlideSize()->getSize()->getWidth(), $pres1->getSlideSize()->getSize()->getHeight(), SlideSizeScaleType::EnsureFit);
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
รวมสไลด์ไปยังส่วนของงานนำเสนอ
โค้ด PHP นี้จะแสดงวิธีการรวมสไลด์เฉพาะไปยังส่วนของงานนำเสนอ:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres1->getSections()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
สไลด์จะถูกเพิ่มที่ส่วนท้ายของส่วนนั้น.
ดูเพิ่มเติม
Aspose มีบริการ FREE Online Collage Maker ฟรี โดยใช้บริการออนไลน์นี้คุณสามารถรวมภาพ JPG ไป JPG หรือ PNG ไป PNG สร้าง photo grids และอื่น ๆ
ลองใช้ Aspose FREE Online Merger ซึ่งช่วยให้คุณรวมงานนำเสนอ PowerPoint ในรูปแบบเดียวกัน (เช่น PPT ไป PPT, PPTX ไป PPTX) หรือข้ามรูปแบบต่างกัน (เช่น PPT ไป PPTX, PPTX ไป ODP).
คำถามที่พบบ่อย
มีข้อจำกัดใดเกี่ยวกับจำนวนสไลด์เมื่อรวมงานนำเสนอหรือไม่?
ไม่มีข้อจำกัดที่เข้มงวด Aspose.Slides สามารถจัดการไฟล์ขนาดใหญ่ได้ แต่ประสิทธิภาพขึ้นอยู่กับขนาดและทรัพยากรของระบบ สำหรับงานนำเสนอที่ใหญ่มาก แนะนำให้ใช้ JVM 64-bit และจัดสรรหน่วยความจำ heap เพียงพอ.
ฉันสามารถรวมงานนำเสนอที่มีวิดีโอหรือเสียงฝังอยู่ได้หรือไม่?
ใช่ Aspose.Slides จะคงเนื้อหามัลติมีเดียที่ฝังในสไลด์ไว้ แต่ไฟล์งานนำเสนอสุดท้ายอาจมีขนาดใหญ่ขึ้นอย่างมีนัยสำคัญ.
แบบอักษรจะถูกคงไว้เมื่อรวมงานนำเสนอหรือไม่?
ใช่ แบบอักษรที่ใช้ในงานนำต้นแบบจะถูกคงไว้ในไฟล์ผลลัพธ์ โดยสมมติว่ามีการติดตั้งบนระบบหรือ embedded.
