Animer le texte PowerPoint en PHP

Ajouter des effets d’animation aux paragraphes

Nous avons ajouté la méthode addEffect() aux classes Sequence et ISequence. Cette méthode vous permet d’ajouter des effets d’animation à un seul paragraphe. Ce code d’exemple vous montre comment ajouter un effet d’animation à un seul paragraphe :

  $presentation = new Presentation("Presentation.pptx");
  try {
    # sélectionner le paragraphe pour ajouter l'effet
    $autoShape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    $paragraph = $autoShape->getTextFrame()->getParagraphs()->get_Item(0);
    # ajouter l'effet d'animation Fly au paragraphe sélectionné
    $effect = $presentation->getSlides()->get_Item(0)->getTimeline()->getMainSequence()->addEffect($paragraph, EffectType::Fly, EffectSubType::Left, EffectTriggerType::OnClick);
    $presentation->save("AnimationEffectinParagraph.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

Obtenir les effets d’animation des paragraphes

Vous pouvez décider de connaître les effets d’animation ajoutés à un paragraphe — par exemple, dans un scénario où vous voulez récupérer les effets d’animation d’un paragraphe afin de les appliquer à un autre paragraphe ou à une forme.

Aspose.Slides for PHP via Java vous permet d’obtenir tous les effets d’animation appliqués aux paragraphes contenus dans un cadre texte (forme). Ce code d’exemple vous montre comment obtenir les effets d’animation dans un paragraphe :

  $pres = new Presentation("Presentation.pptx");
  $Array = new java_class("java.lang.reflect.Array");
  try {
    $sequence = $pres->getSlides()->get_Item(0)->getTimeline()->getMainSequence();
    $autoShape = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    foreach($autoShape->getTextFrame()->getParagraphs() as $paragraph) {
      $effects = $sequence->getEffectsByParagraph($paragraph);
      if (java_values($Array->getLength($effects)) > 0) {
        echo("Paragraph \"" . $paragraph->getText() . "\" has " . $effects[0]->getType() . " effect.");
      }
    }
  } finally {
    $pres->dispose();
  }

FAQ

En quoi les animations de texte diffèrent-elles des transitions de diapositive, et peuvent-elles être combinées ?

Les animations de texte contrôlent le comportement d’un objet dans le temps sur une diapositive, tandis que les transitions contrôlent la façon dont les diapositives changent. Elles sont indépendantes et peuvent être utilisées ensemble ; l’ordre de lecture est régi par la chronologie des animations et les paramètres de transition.

Les animations de texte sont-elles conservées lors de l’exportation en PDF ou en images ?

Non. Les PDF et les images matricielles sont statiques, vous verrez donc un état unique de la diapositive sans mouvement. Pour conserver le mouvement, utilisez l’exportation vidéo ou HTML.

Les animations de texte fonctionnent-elles dans les mises en page et le masque des diapositives ?

Les effets appliqués aux objets de mise en page/masque sont hérités par les diapositives, mais leur minutage et leur interaction avec les animations au niveau de la diapositive dépendent de la séquence finale sur la diapositive.