Animowanie tekstu PowerPoint w Pythonie przy użyciu Javy
Przegląd
Ten artykuł wyjaśnia, jak pracować z animowanym tekstem w Aspose.Slides, stosując efekty animacji do poszczególnych akapitów oraz pobierając efekty już przypisane akapitom w ramce tekstowej. Skupia się na metodach API używanych do dodawania animacji na poziomie akapitu oraz przeglądania istniejących efektów animacji akapitów w prezentacji.
Dodawanie efektów animacji do akapitów
Metoda addEffect klasy Sequence umożliwia dodanie efektów animacji do jednego akapitu. Ten przykładowy kod pokazuje, jak dodać efekt animacji do pojedynczego akapitu:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import EffectSubtype, EffectTriggerType, EffectType, Presentation, SaveFormat
presentation = Presentation("Presentation.pptx")
try:
# Wybierz akapit, do którego chcesz dodać efekt.
auto_shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
paragraph = auto_shape.getTextFrame().getParagraphs().get_Item(0)
# Dodaj efekt animacji Fly do wybranego akapitu.
effect = presentation.getSlides().get_Item(0).getTimeline().getMainSequence().addEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick)
presentation.save("AnimationEffectinParagraph.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Pobieranie efektów animacji akapitów
Możesz chcieć pobrać efekty animacji zastosowane do akapitu — na przykład, aby zastosować te efekty do innego akapitu lub kształtu.
Aspose.Slides for Python via Java umożliwia uzyskanie wszystkich efektów animacji zastosowanych do akapitów zawartych w ramce tekstowej (kształcie). Ten przykładowy kod pokazuje, jak pobrać efekty animacji zastosowane do akapitu:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
presentation = Presentation("Presentation.pptx")
try:
sequence = presentation.getSlides().get_Item(0).getTimeline().getMainSequence()
auto_shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
for paragraph in auto_shape.getTextFrame().getParagraphs():
effects = sequence.getEffectsByParagraph(paragraph)
if len(effects) > 0:
print(f'Paragraph "{paragraph.getText()}" has {effects[0].getType()} effect.')
finally:
presentation.dispose()
FAQ
Jak animacje tekstu różnią się od przejść slajdów i czy można je łączyć?
Animacje tekstu kontrolują zachowanie obiektu w czasie na slajdzie, podczas gdy przejścia kontrolują, jak slajdy się zmieniają. Są niezależne i mogą być używane razem; kolejność odtwarzania jest sterowana przez oś czasu animacji i ustawienia przejść.
Czy animacje tekstu są zachowywane podczas eksportu do PDF lub obrazów?
Nie. PDF i obrazy rastrowe są statyczne, więc zobaczysz jedynie pojedynczy stan slajdu bez ruchu. Aby zachować animację, użyj eksportu do wideo lub HTML.
Czy animacje tekstu działają w układach i szablonie slajdu?
Efekty zastosowane do obiektów układu/szablonu są dziedziczone przez slajdy, ale ich synchronizacja i interakcja z animacjami na poziomie slajdu zależą od ostatecznej kolejności na slajdzie.