ทำให้ข้อความ PowerPoint เคลื่อนไหวใน JavaScript

ภาพรวม

บทความนี้อธิบายวิธีการทำงานกับข้อความเคลื่อนไหวใน Aspose.Slides โดยการใช้เอฟเฟกต์แอนิเมชันกับย่อหน้าต่าง ๆ และดึงเอฟเฟกต์ที่ได้กำหนดไว้แล้วให้กับย่อหน้าในกรอบข้อความ มุ่งเน้นที่เมธอด API ที่ใช้เพื่อเพิ่มแอนิเมชันระดับย่อหน้าและตรวจสอบเอฟเฟกต์แอนิเมชันของย่อหน้าที่มีอยู่ในงานนำเสนอ

การเพิ่มเอฟเฟกต์แอนิเมชันให้กับย่อหน้า

เราได้เพิ่มเมธอด addEffect() ไปยังคลาส Sequence และ Sequence เมธอดนี้ทำให้คุณสามารถเพิ่มเอฟเฟกต์แอนิเมชันให้กับย่อหน้าเดียวได้ ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีการเพิ่มเอฟเฟกต์แอนิเมชันให้กับย่อหน้าเดียว:

var presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
    // เลือกย่อหน้าเพื่อเพิ่มเอฟเฟกต์
    var autoShape = presentation.getSlides().get_Item(0).getShapes().get_Item(0);
    var paragraph = autoShape.getTextFrame().getParagraphs().get_Item(0);
    // เพิ่มเอฟเฟกต์แอนิเมชัน Fly ให้กับย่อหน้าที่เลือก
    var effect = presentation.getSlides().get_Item(0).getTimeline().getMainSequence().addEffect(paragraph, aspose.slides.EffectType.Fly, aspose.slides.EffectSubtype.Left, aspose.slides.EffectTriggerType.OnClick);
    presentation.save("AnimationEffectinParagraph.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (presentation != null) {
        presentation.dispose();
    }
}

การดึงเอฟเฟกต์แอนิเมชันในย่อหน้า

คุณอาจต้องการค้นหาเอฟเฟกต์แอนิเมชันที่เพิ่มเข้าไปในย่อหน้า ตัวอย่างเช่น ในสถานการณ์หนึ่งคุณต้องการดึงเอฟเฟกต์แอนิเมชันในย่อหน้าเนื่องจากคุณตั้งใจจะนำเอฟเฟกต์เหล่านั้นไปใช้กับย่อหน้าอื่นหรือรูปทรงอื่น

Aspose.Slides for Node.js via Java ช่วยให้คุณสามารถดึงเอฟเฟกต์แอนิเมชันทั้งหมดที่ใช้กับย่อหน้าที่อยู่ในกรอบข้อความ (รูปร่าง) ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีการดึงเอฟเฟกต์แอนิเมชันในย่อหน้า:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    var sequence = pres.getSlides().get_Item(0).getTimeline().getMainSequence();
    var autoShape = pres.getSlides().get_Item(0).getShapes().get_Item(0);
    for (let i = 0; i < autoShape.getTextFrame().getParagraphs().getCount(); i++) {
        let paragraph = autoShape.getTextFrame().getParagraphs().get_Item(i);
        var effects = sequence.getEffectsByParagraph(paragraph);
        if (effects.length > 0) {
            console.log("Paragraph \"" + paragraph.getText() + "\" has " + effects[0].getType() + " effect.");
        }
    }
} finally {
    pres.dispose();
}

คำถามที่พบบ่อย

การแอนิเมชันข้อความแตกต่างจากการเปลี่ยนสไลด์อย่างไร และสามารถใช้ร่วมกันได้หรือไม่?

แอนิเมชันข้อความควบคุมพฤติกรรมของวัตถุตลอดเวลาในสไลด์ ในขณะที่ การเปลี่ยนสไลด์ ควบคุมการเปลี่ยนสไลด์ พวกมันทำงานแยกจากกันและสามารถใช้ร่วมกันได้; ลำดับการเล่นถูกกำหนดโดยไทม์ไลน์ของแอนิเมชันและการตั้งค่าการเปลี่ยนสไลด์

แอนิเมชันข้อความถูกเก็บรักษาไว้เมื่อนำออกเป็น PDF หรือภาพหรือไม่?

ไม่. PDF และภาพแบบแรสเตอร์เป็นแบบคงที่ ดังนั้นคุณจะเห็นสถานะเดียวของสไลด์โดยไม่มีการเคลื่อนไหว หากต้องการคงการเคลื่อนที่ ให้ใช้การส่งออกเป็น วิดีโอ หรือ HTML

แอนิเมชันข้อความทำงานในเลย์เอาต์และสไลด์มาสเตอร์หรือไม่?

เอฟเฟกต์ที่ใช้กับอ็อบเจกต์ในเลย์เอาต์/มาสเตอร์จะสืบทอดไปยังสไลด์ แต่เวลาและการทำงานร่วมกับแอนิเมชันระดับสไลด์ขึ้นอยู่กับลำดับสุดท้ายบนสไลด์