จัดการการเปลี่ยนสไลด์ในงานพรีเซนเทชันด้วย JavaScript
ภาพรวม
บทความนี้อธิบายวิธีจัดการการเปลี่ยนสไลด์ในงานพรีเซนเทชันด้วย Aspose.Slides แสดงวิธีใช้ประเภทการเปลี่ยนสไลด์บนสไลด์ ตั้งค่าพฤติกรรมการเปลี่ยนเช่น การเลื่อนต่อเมื่อคลิกหรือหลังจากเวลาที่กำหนด ตรวจสอบและปิดการเลื่อนอัตโนมัติ ใช้การเปลี่ยน Morph และประเภทต่าง ๆ ของมัน และตั้งค่าตัวเลือกของเอฟเฟกต์การเปลี่ยน ตัวอย่างจะแสดงวิธีโหลดหรือสร้างพรีเซนเทชัน แก้ไขการตั้งค่าการเปลี่ยนสำหรับสไลด์ที่เลือก และบันทึกผลลัพธ์เป็นไฟล์ PPTX บทความยังตอบคำถามทั่วไปเกี่ยวกับความเร็วของการเปลี่ยน เสียงการเปลี่ยน การใช้การเปลี่ยนเดียวกันกับหลายสไลด์ และการตรวจสอบการเปลี่ยนที่ตั้งไว้ในสไลด์ปัจจุบัน
เพิ่มการเปลี่ยนสไลด์
เพื่อสร้างเอฟเฟกต์การเปลี่ยนสไลด์แบบง่าย ให้ทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของPresentationคลาส
- ใช้ประเภทการเปลี่ยนสไลด์จากหนึ่งในเอฟเฟกต์การเปลี่ยนที่ Aspose.Slides for Node.js via Java ให้บริการ ผ่านค่า enum TransitionType
- เขียนไฟล์พรีเซนเทชันที่แก้ไข
// สร้างอินสแตนซ์ของคลาส Presentation เพื่อโหลดไฟล์พรีเซนเทชันต้นฉบับ
var presentation = new aspose.slides.Presentation("AccessSlides.pptx");
try {
// ใช้การเปลี่ยนแบบวงกลมบนสไลด์ที่ 1
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(aspose.slides.TransitionType.Circle);
// ใช้การเปลี่ยนแบบคอมบบนสไลด์ที่ 2
presentation.getSlides().get_Item(1).getSlideShowTransition().setType(aspose.slides.TransitionType.Comb);
// บันทึกพรีเซนเทชันลงดิสก์
presentation.save("SampleTransition_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
เพิ่มการเปลี่ยนสไลด์ขั้นสูง
ในส่วนก่อนหน้า เราเพียงใช้เอฟเฟกต์การเปลี่ยนแบบง่ายบนสไลด์เท่านั้น ตอนนี้เพื่อทำให้เอฟเฟกต์การเปลี่ยนนั้นดียิ่งขึ้นและควบคุมได้ โปรดทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของPresentationคลาส
- ใช้ประเภทการเปลี่ยนสไลด์จากหนึ่งในเอฟเฟกต์การเปลี่ยนที่ Aspose.Slides for Node.js via Java ให้บริการ
- คุณสามารถตั้งค่าการเปลี่ยนให้เลื่อนไปเมื่อคลิก หลังจากช่วงเวลาที่กำหนด หรือทั้งสองอย่างได้
- หากการเปลี่ยนสไลด์เปิดใช้งานให้เลื่อนไปเมื่อคลิก การเปลี่ยนจะดำเนินการเมื่อผู้ใช้คลิกเมาส์เท่านั้น นอกจากนี้ หากตั้งค่า Advance After Time การเปลี่ยนจะเลื่อต่ออัตโนมัติหลังจากครบกำหนดเวลา
- เขียนพรีเซนเทชันที่แก้ไขเป็นไฟล์พรีเซนเทชัน
// สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์พรีเซนเทชัน
var pres = new aspose.slides.Presentation("BetterSlideTransitions.pptx");
try {
// ใช้การเปลี่ยนแบบวงกลมบนสไลด์ที่ 1
pres.getSlides().get_Item(0).getSlideShowTransition().setType(aspose.slides.TransitionType.Circle);
// ตั้งระยะเวลาการเปลี่ยนเป็น 3 วินาที
pres.getSlides().get_Item(0).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(0).getSlideShowTransition().setAdvanceAfterTime(3000);
// ใช้การเปลี่ยนแบบคอมบบนสไลด์ที่ 2
pres.getSlides().get_Item(1).getSlideShowTransition().setType(aspose.slides.TransitionType.Comb);
// ตั้งระยะเวลาการเปลี่ยนเป็น 5 วินาที
pres.getSlides().get_Item(1).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(1).getSlideShowTransition().setAdvanceAfterTime(5000);
// ใช้การเปลี่ยนแบบซูมบนสไลด์ที่ 3
pres.getSlides().get_Item(2).getSlideShowTransition().setType(aspose.slides.TransitionType.Zoom);
// ตั้งระยะเวลาการเปลี่ยนเป็น 7 วินาที
pres.getSlides().get_Item(2).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(2).getSlideShowTransition().setAdvanceAfterTime(7000);
// บันทึกพรีเซนเทชันลงดิสก์
pres.save("SampleTransition_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
การเปลี่ยน Morph
การเปลี่ยน Morph ช่วยให้คุณทำแอนิเมชันการเคลื่อนที่อย่างราบรื่นจากสไลด์หนึ่งไปยังสไลด์ต่อไป บทความนี้อธิบายแนวคิดและวิธีใช้การเปลี่ยน Morph เพื่อให้ใช้งานได้อย่างมีประสิทธิภาพ คุณจำเป็นต้องมีสไลด์สองสไลด์ที่มีวัตถุอย่างน้อยหนึ่งรายการร่วมกัน วิธีที่ง่ายที่สุดคือทำสำเนาสไลด์แล้วย้ายวัตถุบนสไลด์ที่สองไปยังตำแหน่งอื่น
โค้ดตัวอย่างต่อไปนี้แสดงวิธีเพิ่มคลอนของสไลด์พร้อมข้อความบางส่วนลงในพรีเซนเทชันและตั้งการเปลี่ยนเป็นmorph typeบนสไลด์ที่สอง
var presentation = new aspose.slides.Presentation();
try {
var autoshape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 100, 400, 100);
autoshape.getTextFrame().setText("Morph Transition in PowerPoint Presentations");
presentation.getSlides().addClone(presentation.getSlides().get_Item(0));
var shape = presentation.getSlides().get_Item(1).getShapes().get_Item(0);
shape.setX(shape.getX() + 100);
shape.setY(shape.getY() + 50);
shape.setWidth(shape.getWidth() - 200);
shape.setHeight(shape.getHeight() - 10);
presentation.getSlides().get_Item(1).getSlideShowTransition().setType(aspose.slides.TransitionType.Morph);
presentation.save("presentation-out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
ประเภทการเปลี่ยน Morph
ได้เพิ่ม enumTransitionMorphTypeใหม่ ซึ่งแทนประเภทต่าง ๆ ของการเปลี่ยนสไลด์ Morph
enum TransitionMorphType มีสมาชิกสามตัว:
- ByObject: การเปลี่ยน Morph จะดำเนินการโดยพิจารณารูปร่างเป็นวัตถุที่ไม่สามารถแยกย่อยได้
- ByWord: การเปลี่ยน Morph จะดำเนินการโดยถ่ายโอนข้อความตามคำเมื่อเป็นไปได้
- ByChar: การเปลี่ยน Morph จะดำเนินการโดยถ่ายโอนข้อความตามอักขระเมื่อเป็นไปได้
โค้ดตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าการเปลี่ยน Morph ให้สไลด์และเปลี่ยนประเภท Morph
var presentation = new aspose.slides.Presentation("presentation.pptx");
try {
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(aspose.slides.TransitionType.Morph);
presentation.getSlides().get_Item(0).getSlideShowTransition().getValue().setMorphType(aspose.slides.TransitionMorphType.ByWord);
presentation.save("presentation-out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
ตั้งค่าเอฟเฟกต์การเปลี่ยน
Aspose.Slides for Node.js via Java รองรับการตั้งค่าเอฟเฟกต์การเปลี่ยน เช่น จากสีดำ จากซ้าย จากขวา เป็นต้น เพื่อกำหนดเอฟเฟกต์การเปลี่ยน โปรดทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของPresentationคลาส
- รับการอ้างอิงของสไลด์
- ตั้งค่าเอฟเฟกต์การเปลี่ยน
- เขียนพรีเซนเทชันเป็นไฟล์PPTX
ในตัวอย่างด้านล่าง เราได้ตั้งค่าเอฟเฟกต์การเปลี่ยนแล้ว
// สร้างอินสแตนซ์ของคลาส Presentation
var presentation = new aspose.slides.Presentation("AccessSlides.pptx");
try {
// ตั้งค่าเอฟเฟกต์
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(aspose.slides.TransitionType.Cut);
presentation.getSlides().get_Item(0).getSlideShowTransition().getValue().setFromBlack(true);
// เขียนพรีเซนเทชันลงดิสก์
presentation.save("SetTransitionEffects_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
คำถามที่พบบ่อย
ฉันสามารถควบคุมความเร็วการเล่นของการเปลี่ยนสไลด์ได้หรือไม่?
ใช่ ตั้งค่าความเร็วของการเปลี่ยนโดยใช้speedผ่านการตั้งค่าTransitionSpeed (เช่น slow/medium/fast)
ฉันสามารถแนบเสียงกับการเปลี่ยนและทำให้วนรอบได้หรือไม่?
ใช่ คุณสามารถฝังเสียงสำหรับการเปลี่ยนและควบคุมพฤติกรรมผ่านการตั้งค่าเช่นโหมดเสียงและการวนรอบ (เช่นsetSound,setSoundMode,setSoundLoop, พร้อมเมตาดาต้าเช่นsetSoundIsBuiltInและsetSoundName)
วิธีที่เร็วที่สุดในการใช้การเปลี่ยนเดียวกันกับทุกสไลด์คืออะไร?
กำหนดประเภทการเปลี่ยนที่ต้องการในตั้งค่าการเปลี่ยนของแต่ละสไลด์; การเปลี่ยนจะถูกเก็บเป็นข้อมูลต่อสไลด์ ดังนั้นการใช้ประเภทเดียวกันกับสไลด์ทั้งหมดจะให้ผลลัพธ์ที่สอดคล้องกัน
ฉันจะตรวจสอบว่าการเปลี่ยนใดตั้งอยู่บนสไลด์ในขณะนี้ได้อย่างไร?
ตรวจสอบtransition settingsของสไลด์และอ่านtransition typeของมัน; ค่าดังกล่าวจะบอกว่ามีเอฟเฟกต์ใดถูกนำไปใช้อยู่ตอนนี้