จัดการการเปลี่ยนสไลด์ในการนำเสนอด้วย Java
ภาพรวม
บทความนี้อธิบายวิธีจัดการการเปลี่ยนสไลด์ในการนำเสนอด้วย Aspose.Slides โดยแสดงวิธีใช้ประเภทการเปลี่ยนสไลด์บนสไลด์ กำหนดพฤติกรรมการเปลี่ยนเช่น เลื่อนไปเมื่อคลิกหรือหลังจากเวลาที่กำหนด ตรวจสอบและปิดการเลื่อนอัตโนมัติ ใช้การเปลี่ยนแบบ Morph และประเภทของมัน พร้อมตั้งค่าตัวเลือกเอฟเฟกต์การเปลี่ยน ตัวอย่างแสดงวิธีโหลดหรือสร้างการนำเสนอ แก้ไขการตั้งค่าการเปลี่ยนสำหรับสไลด์ที่เลือก และบันทึกผลเป็นไฟล์ PPTX บทความยังตอบคำถามทั่วไปเกี่ยวกับความเร็วของการเปลี่ยน เสียงของการเปลี่ยน การใช้การเปลี่ยนเดียวกันกับหลายสไลด์ และการตรวจสอบการเปลี่ยนที่ตั้งอยู่บนสไลด์ปัจจุบัน
เพิ่มการเปลี่ยนสไลด์
เพื่อสร้างเอฟเฟกต์การเปลี่ยนสไลด์อย่างง่าย ให้ทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของ Presentation class.
- ใช้ Slide Transition Type บนสไลด์จากหนึ่งในเอฟเฟกต์การเปลี่ยนที่ Aspose.Slides for Java มีให้ผ่าน enum TransitionType
- เขียนไฟล์การนำเสนอที่แก้ไขแล้ว
// สร้างอินสแตนซ์ของคลาส Presentation เพื่อโหลดไฟล์การนำเสนอต้นฉบับ
Presentation presentation = new Presentation("AccessSlides.pptx");
try {
// ใช้การเปลี่ยนแบบวงกลมบนสไลด์ที่ 1
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Circle);
// ใช้การเปลี่ยนแบบคอมบบนสไลด์ที่ 2
presentation.getSlides().get_Item(1).getSlideShowTransition().setType(TransitionType.Comb);
// เขียนการนำเสนอลงดิสก์
presentation.save("SampleTransition_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
เพิ่มการเปลี่ยนสไลด์ขั้นสูง
ในส่วนก่อนหน้า เราได้ใช้เอฟเฟกต์การเปลี่ยนอย่างง่ายบนสไลด์เท่านั้น ตอนนี้เพื่อทำให้เอฟเฟกต์นั้นดีขึ้นและควบคุมได้มากขึ้น โปรดทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของ Presentation class.
- ใช้ Slide Transition Type บนสไลด์จากหนึ่งในเอฟเฟกต์การเปลี่ยนที่ Aspose.Slides for Java มีให้
- คุณสามารถตั้งให้การเปลี่ยน Advance On Click, หลังจากระยะเวลาที่กำหนด หรือทั้งสองอย่างได้
- หากการเปลี่ยนสไลด์เปิดให้ Advance On Click, การเปลี่ยนจะเกิดขึ้นเมื่อมีการคลิกเมาส์เท่านั้น อีกทั้งหากตั้งค่า Advance After Time, การเปลี่ยนจะดำเนินอัตโนมัติหลังจากเวลาที่กำหนดผ่านไป
- เขียนการนำเสนอที่แก้ไขแล้วเป็นไฟล์การนำเสนอ
// สร้างอินสแตนซ์ของคลาส Presentation ที่แสดงไฟล์การนำเสนอ
Presentation pres = new Presentation("BetterSlideTransitions.pptx");
try {
// ใช้การเปลี่ยนแบบวงกลมบนสไลด์ที่ 1
pres.getSlides().get_Item(0).getSlideShowTransition().setType(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(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(TransitionType.Zoom);
// ตั้งเวลาการเปลี่ยนเป็น 7 วินาที
pres.getSlides().get_Item(2).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(2).getSlideShowTransition().setAdvanceAfterTime(7000);
// เขียนการนำเสนอลงดิสก์
pres.save("SampleTransition_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
การเปลี่ยนแบบ Morph
การเปลี่ยนแบบ Morph อนุญาตให้คุณทำแอนิเมชันการเคลื่อนที่อย่างราบรื่นจากสไลด์หนึ่งไปยังสไลด์ถัดไป บทความนี้อธิบายแนวคิดและวิธีใช้ Morph อย่างมีประสิทธิภาพ คุณจะต้องมีสองสไลด์ที่มีอย่างน้อยหนึ่งอ็อบเจกต์ร่วมกัน วิธีที่ง่ายที่สุดคือทำสำเนาสไลด์แล้วย้ายอ็อบเจกต์บนสไลด์ที่สองไปยังตำแหน่งอื่น
โค้ดตัวอย่างต่อไปนี้แสดงวิธีเพิ่มสำเนาของสไลด์ที่มีข้อความลงในการนำเสนอและตั้งค่าการเปลี่ยนเป็น morph type บนสไลด์ที่สอง
Presentation presentation = new Presentation();
try {
AutoShape autoshape = (AutoShape)presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 100, 100, 400, 100);
autoshape.getTextFrame().setText("Morph Transition in PowerPoint Presentations");
presentation.getSlides().addClone(presentation.getSlides().get_Item(0));
IShape 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(com.aspose.slides.TransitionType.Morph);
presentation.save("presentation-out.pptx", SaveFormat.Pptx);
}
finally {
presentation.dispose();
}
ประเภทการเปลี่ยนแบบ Morph
enum TransitionMorphType ใหม่ได้ถูกเพิ่มเข้ามา ซึ่งแสดงประเภทต่าง ๆ ของการเปลี่ยนสไลด์แบบ Morph
enum TransitionMorphType มีสามสมาชิก:
- ByObject: การเปลี่ยน Morph จะดำเนินการโดยพิจารณารูปร่างเป็นอ็อบเจกต์ที่ไม่แยกย่อย
- ByWord: การเปลี่ยน Morph จะดำเนินการโดยถ่ายโอนข้อความเป็นคำเมื่อทำได้
- ByChar: การเปลี่ยน Morph จะดำเนินการโดยถ่ายโอนข้อความเป็นอักขระเมื่อทำได้
โค้ดตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าการเปลี่ยน Morph บนสไลด์และเปลี่ยนประเภท Morph:
Presentation presentation = new Presentation("presentation.pptx");
try {
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Morph);
((IMorphTransition)presentation.getSlides().get_Item(0).getSlideShowTransition().getValue()).setMorphType(TransitionMorphType.ByWord);
presentation.save("presentation-out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
ตั้งค่าเอฟเฟกต์การเปลี่ยน
Aspose.Slides for Java รองรับการตั้งค่าเอฟเฟกต์การเปลี่ยน เช่น from black, from left, from right เป็นต้น เพื่อกำหนด Transition Effect โปรดทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของ Presentation class.
- รับอ้างอิงของสไลด์
- ตั้งค่าเอฟเฟกต์การเปลี่ยน
- เขียนการนำเสนอเป็นไฟล์ PPTX file
ในตัวอย่างด้านล่าง เราได้ตั้งค่าเอฟเฟกต์การเปลี่ยน
// สร้างอินสแตนซ์ของคลาส Presentation
Presentation presentation = new Presentation("AccessSlides.pptx");
try {
// ตั้งค่าเอฟเฟ็กต์
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Cut);
((OptionalBlackTransition)presentation.getSlides().get_Item(0).getSlideShowTransition().getValue()).setFromBlack(true);
// เขียนการนำเสนอลงดิสก์
presentation.save("SetTransitionEffects_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
ฉันสามารถควบคุมความเร็วในการเล่นของการเปลี่ยนสไลด์ได้หรือไม่?
ได้ คุณสามารถตั้งค่า speed ของการเปลี่ยนโดยใช้การตั้งค่า TransitionSpeed (เช่น ช้า/ปานกลาง/เร็ว)
ฉันสามารถแนบเสียงเข้ากับการเปลี่ยนและทำให้วนซ้ำได้หรือไม่?
ได้ คุณสามารถฝังเสียงสำหรับการเปลี่ยนและควบคุมพฤติกรรมผ่านการตั้งค่าเช่น โหมดเสียงและการวนซ้ำ (เช่น setSound, setSoundMode, setSoundLoop, รวมถึงเมตาดาต้าเช่น setSoundIsBuiltIn และ setSoundName)
วิธีที่เร็วที่สุดในการใช้การเปลี่ยนเดียวกันกับทุกสไลด์คืออะไร?
กำหนดประเภทการเปลี่ยนที่ต้องการในการตั้งค่าการเปลี่ยนของแต่ละสไลด์; การเปลี่ยนถูกจัดเก็บแยกตามสไลด์ ดังนั้นการใช้ประเภทเดียวกันทั่วทุกสไลด์จะให้ผลลัพธ์ที่สอดคล้องกัน
ฉันจะตรวจสอบว่าการเปลี่ยนใดถูกตั้งอยู่บนสไลด์ในขณะนี้ได้อย่างไร?
ตรวจสอบ transition settings ของสไลด์และอ่านค่า transition type ; ค่านั้นจะแสดงให้คุณทราบว่าเอฟเฟกต์ใดถูกนำมาใช้ในขณะนั้น