ทำให้ข้อความ PowerPoint เคลื่อนไหวใน Java
ภาพรวม
บทความนี้อธิบายวิธีทำงานกับข้อความที่มีการเคลื่อนไหวใน Aspose.Slides โดยการใช้เอฟเฟกต์แอนิเมชันกับย่อหน้าแต่ละย่อหน้าและการดึงเอฟเฟกต์ที่ได้กำหนดไว้แล้วสำหรับย่อหน้าในกรอบข้อความ มุ่งเน้นที่เมธอด API ที่ใช้ในการเพิ่มแอนิเมชันระดับย่อหน้าและตรวจสอบเอฟเฟกต์แอนิเมชันย่อหน้าที่มีอยู่ในงานนำเสนอ
เพิ่มเอฟเฟกต์แอนิเมชันให้กับย่อหน้า
เราได้เพิ่มเมธอด addEffect() ให้กับคลาส Sequence และ ISequence เมธอดนี้ทำให้คุณสามารถเพิ่มเอฟเฟกต์แอนิเมชันให้กับย่อหน้าเดียว ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มเอฟเฟกต์แอนิเมชันให้กับย่อหน้าเดียว:
Presentation presentation = new Presentation("Presentation.pptx");
try {
// เลือกย่อหน้าเพื่อเพิ่มเอฟเฟกต์
IAutoShape autoShape = (IAutoShape)presentation.getSlides().get_Item(0).getShapes().get_Item(0);
IParagraph paragraph = autoShape.getTextFrame().getParagraphs().get_Item(0);
// เพิ่มเอฟเฟกต์แอนิเมชัน Fly ให้กับย่อหน้าที่เลือก
IEffect effect = presentation.getSlides().get_Item(0).getTimeline().getMainSequence().
addEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick);
presentation.save("AnimationEffectinParagraph.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
รับเอฟเฟกต์แอนิเมชันของย่อหน้า
คุณอาจต้องการค้นหาเอฟเฟกต์แอนิเมชันที่เพิ่มเข้าไปในย่อหน้า ตัวอย่างเช่น ในสถานการณ์หนึ่งคุณต้องการดึงเอฟเฟกต์แอนิเมชันจากย่อหน้าเพื่อใช้กับย่อหน้าหรือรูปร่างอื่น
Aspose.Slides for Java ให้คุณดึงเอฟเฟกต์แอนิเมชันทั้งหมดที่ใช้กับย่อหน้าที่อยู่ในกรอบข้อความ (รูปร่าง) ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดึงเอฟเฟกต์แอนิเมชันในย่อหน้า:
Presentation pres = new Presentation("Presentation.pptx");
try {
ISequence sequence = pres.getSlides().get_Item(0).getTimeline().getMainSequence();
IAutoShape autoShape = (IAutoShape)pres.getSlides().get_Item(0).getShapes().get_Item(0);
for (IParagraph paragraph : autoShape.getTextFrame().getParagraphs())
{
IEffect[] effects = sequence.getEffectsByParagraph(paragraph);
if (effects.length > 0)
System.out.println("Paragraph \"" + paragraph.getText() + "\" has " + effects[0].getType() + " effect.");
}
} finally {
pres.dispose();
}
คำถามที่พบบ่อย
การแอนิเมชันข้อความต่างจากการเปลี่ยนสไลด์อย่างไรและสามารถใช้ร่วมกันได้หรือไม่?
การแอนิเมชันข้อความควบคุมพฤติกรรมของวัตถุตามเวลาในสไลด์ ในขณะที่ transitions ควบคุมวิธีการเปลี่ยนสไลด์ ทั้งสองเป็นอิสระกันและสามารถใช้ร่วมกันได้; ลำดับการเล่นถูกกำหนดโดยไทม์ไลน์ของแอนิเมชันและการตั้งค่า transition
เอฟเฟกต์แอนิเมชันข้อความยังคงอยู่เมื่อส่งออกเป็น PDF หรือภาพหรือไม่?
ไม่ PDF และภาพแบบแรสเตอร์เป็นคงที่ ดังนั้นคุณจะเห็นสถานะหนึ่งของสไลด์โดยไม่มีการเคลื่อนไหว หากต้องการคงการเคลื่อนไหวให้ใช้การส่งออกเป็น video หรือ HTML
แอนิเมชันข้อความทำงานในเลเอาต์และมาสเตอร์สไลด์หรือไม่?
เอฟเฟกต์ที่ใช้กับวัตถุในเลเอาต์/มาสเตอร์จะสืบทอดไปยังสไลด์ แต่เวลาการทำงานและการโต้ตอบกับแอนิเมชันระดับสไลด์ขึ้นอยู่กับลำดับสุดท้ายบนสไลด์