PowerPoint-Text in PHP animieren

Animationseffekte zu Absätzen hinzufügen

Wir haben die addEffect() Methode zu den Klassen Sequence und ISequence hinzugefügt. Diese Methode ermöglicht es Ihnen, Animations‑Effekte zu einem einzelnen Absatz hinzuzufügen. Dieser Beispielcode zeigt, wie ein Animations‑Effekt zu einem einzelnen Absatz hinzugefügt wird:

  $presentation = new Presentation("Presentation.pptx");
  try {
    # Absatz auswählen, um Effekt hinzuzufügen
    $autoShape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    $paragraph = $autoShape->getTextFrame()->getParagraphs()->get_Item(0);
    # Flug-Animationseffekt zum ausgewählten Absatz hinzufügen
    $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();
    }
  }

Animations‑Effekte von Absätzen abrufen

Möglicherweise möchten Sie die zu einem Absatz hinzugefügten Animations‑Effekte ermitteln – zum Beispiel, wenn Sie die Effekte eines Absatzes abrufen wollen, um sie auf einen anderen Absatz oder ein anderes Shape anzuwenden.
Aspose.Slides for PHP via Java ermöglicht es Ihnen, alle auf Absätze in einem Textfeld (Shape) angewendeten Animations‑Effekte abzurufen. Dieser Beispielcode zeigt, wie man die Animations‑Effekte in einem Absatz erhält:

  $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

Wie unterscheiden sich Textanimationen von Folienübergängen und können sie kombiniert werden?
Textanimationen steuern das Verhalten von Objekten über die Zeit auf einer Folie, während Übergänge bestimmen, wie Folien wechseln. Sie sind unabhängig und können zusammen verwendet werden; die Abspielreihenfolge wird durch die Animations‑Zeitleiste und die Übergangseinstellungen festgelegt.

Werden Textanimationen beim Exportieren in PDF oder Bilder beibehalten?
Nein. PDF‑ und Rasterbilder sind statisch, sodass Sie nur einen einzelnen Folienzustand ohne Bewegung sehen. Um die Bewegung zu erhalten, verwenden Sie den Export als video oder als HTML.

Funktionieren Textanimationen in Layouts und im Folienmaster?
Auf Layout‑/Master‑Objekte angewendete Effekte werden von den Folien geerbt, jedoch hängen ihr Timing und ihre Interaktion mit Folien‑Animationen von der endgültigen Sequenz auf der Folie ab.