Animar Texto do PowerPoint no Android

Visão Geral

Este artigo explica como trabalhar com texto animado no Aspose.Slides aplicando efeitos de animação a parágrafos individuais e obtendo os efeitos já atribuídos aos parágrafos em uma moldura de texto. Ele se concentra nos métodos de API usados para adicionar animação ao nível de parágrafo e inspecionar os efeitos de animação de parágrafo existentes em uma apresentação.

Adicionar Efeitos de Animação a Parágrafos

Adicionamos o método addEffect() às classes Sequence e ISequence. Esse método permite adicionar efeitos de animação a um único parágrafo. O código de exemplo abaixo mostra como adicionar um efeito de animação a um único parágrafo:

Presentation presentation = new Presentation("Presentation.pptx");
try {
    // selecionar parágrafo para adicionar efeito
    IAutoShape autoShape = (IAutoShape)presentation.getSlides().get_Item(0).getShapes().get_Item(0);
    IParagraph paragraph = autoShape.getTextFrame().getParagraphs().get_Item(0);

    // adicionar efeito de animação Fly ao parágrafo selecionado
    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();
}

Obter Efeitos de Animação de Parágrafos

Pode ser necessário descobrir quais efeitos de animação foram adicionados a um parágrafo — por exemplo, em um cenário você deseja obter os efeitos de animação de um parágrafo porque planeja aplicar esses efeitos a outro parágrafo ou forma.

O Aspose.Slides for Android via Java permite obter todos os efeitos de animação aplicados aos parágrafos contidos em uma moldura de texto (forma). O código de exemplo abaixo mostra como obter os efeitos de animação em um parágrafo:

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

FAQ

Como as animações de texto diferem das transições de slides e podem ser combinadas?

As animações de texto controlam o comportamento do objeto ao longo do tempo em um slide, enquanto transições controlam como os slides mudam. Elas são independentes e podem ser usadas juntas; a ordem de reprodução é governada pela linha do tempo da animação e pelas configurações de transição.

Os efeitos de animação de texto são preservados ao exportar para PDF ou imagens?

Não. PDF e imagens rasterizadas são estáticos, portanto você verá um único estado do slide sem movimento. Para manter a movimentação, use exportação em vídeo ou HTML.

As animações de texto funcionam em layouts e no slide mestre?

Os efeitos aplicados a objetos de layout/mestre são herdados pelos slides, mas seu timing e interação com animações ao nível do slide dependem da sequência final no slide.