Анимировать текст PowerPoint в Java

Добавление анимационных эффектов к абзацам

Мы добавили метод 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();
}

FAQ

Чем отличаются текстовые анимации от переходов слайдов и можно ли их комбинировать?

Текстовые анимации управляют поведением объектов во времени на слайде, тогда как transitions управляют тем, как меняются слайды. Они независимы и могут использоваться вместе; порядок воспроизведения определяется временной шкалой анимации и настройками перехода.

Сохраняются ли текстовые анимации при экспорте в PDF или изображения?

Нет. PDF и растровые изображения статичны, поэтому вы увидите единственное состояние слайда без движения. Чтобы сохранить анимацию, используйте экспорт в video или HTML.

Работают ли текстовые анимации в макетах и в образце слайда?

Эффекты, применённые к объектам макета/образца, наследуются слайдами, но их тайминг и взаимодействие с анимациями уровня слайда зависят от окончательной последовательности на слайде.