Animovat text PowerPointu v JavaScriptu

Přehled

Tento článek vysvětluje, jak pracovat s animovaným textem v Aspose.Slides aplikováním animačních efektů na jednotlivé odstavce a získáváním efektů již přiřazených odstavcům v textovém rámečku. Soustředí se na API metody používané k přidání animace na úrovni odstavce a kontrolu existujících animačních efektů odstavců v prezentaci.

Přidávání animačních efektů do odstavců

Přidali jsme metodu addEffect() do tříd Sequence a Sequence. Tato metoda vám umožňuje přidat animační efekt k jednomu odstavci. Tento ukázkový kód vám ukazuje, jak přidat animační efekt k jednomu odstavci:

var presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
    // vyberte odstavec pro přidání efektu
    var autoShape = presentation.getSlides().get_Item(0).getShapes().get_Item(0);
    var paragraph = autoShape.getTextFrame().getParagraphs().get_Item(0);
    // přidejte efekt Fly animace do vybraného odstavce
    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();
    }
}

Získání animačních efektů v odstavcích

Můžete se rozhodnout zjistit animační efekty přidané k odstavci — například v jedné situaci chcete získat animační efekty v odstavci, protože plánujete tyto efekty použít u jiného odstavce nebo tvaru.

Aspose.Slides pro Node.js přes Java vám umožňuje získat všechny animační efekty aplikované na odstavce obsažené v textovém rámečku (tvaru). Tento ukázkový kód vám ukazuje, jak získat animační efekty v odstavci:

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();
}

Často kladené otázky

Jak se animační efekty textu liší od přechodů snímků a lze je kombinovat?

Animační efekty textu řídí chování objektu v čase na snímku, zatímco přechody řídí, jak se snímky mění. Jsou nezávislé a lze je použít společně; pořadí přehrávání je určeno časovou osou animace a nastavením přechodu.

Zůstávají animační efekty textu zachovány při exportu do PDF nebo obrázků?

Ne. PDF a rastrové obrázky jsou statické, takže uvidíte jediný stav snímku bez pohybu. Pro zachování pohybu použijte export do video nebo HTML.

Fungují animační efekty textu v rozvrženích a hlavním snímku?

Efekty aplikované na objekty rozvržení/master jsou zděděny snímky, ale jejich načasování a interakce s animacemi na úrovni snímku závisí na konečném pořadí na snímku.