PowerPoint diagramok animálása Pythonon keresztül Java-val
Bevezetés
Az Aspose.Slides for Python via Java támogatja a diagram elemek animálását. Series, Categories, Series Elements, és Category Elements animálható a Sequence.addEffect metódussal és két felsorolással: EffectChartMajorGroupingType és EffectChartMinorGroupingType.
Diagram sorozat animáció
Ha egy diagram sorozatot szeretne animálni, írja meg a kódot az alábbi lépések szerint:
- Töltsön be egy bemutatót.
- Szerezzen referenciát a diagramobjektumhoz.
- Animálja a sorozatot.
- Írja a bemutató fájlt a lemezre.
Az alábbi példa a diagram sorozatokat animálja. A példafájlban lévő diagram három sorozattal rendelkezik, ezért minden indexhez (0‑tól 2‑ig) egy effektust adunk hozzá. Az Aspose.Slides nem ellenőrzi az indexet a diagram adataival szemben, és egy nem létező sorozathoz hozzáadott effektus a fájlba kerül, de semmit sem animál – tartsa az indexet a saját diagramjában lévő sorozatok száma alatt.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import EffectChartMajorGroupingType, EffectSubtype, EffectTriggerType, EffectType, Presentation, SaveFormat
# Töltsd be a bemutatót.
presentation = Presentation("ExistingChart.pptx")
try:
# Szerezz egy hivatkozást a diagramobjektumra.
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().get_Item(0)
sequence = slide.getTimeline().getMainSequence()
# Animáld a diagram elemeit.
sequence.addEffect(chart, EffectType.Fade, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.BySeries, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.BySeries, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.BySeries, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
# Írd a módosított bemutatót a lemezre.
presentation.save("AnimatingSeries_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Diagram kategória animáció
Ha egy diagram kategóriát szeretne animálni, írja meg a kódot az alábbi lépések szerint:
- Töltsön be egy bemutatót.
- Szerezzen referenciát a diagramobjektumhoz.
- Animálja a kategóriát.
- Írja a bemutató fájlt a lemezre.
Az alábbi példa a diagram kategóriákat animálja.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import EffectChartMajorGroupingType, EffectSubtype, EffectTriggerType, EffectType, Presentation, SaveFormat
# Töltsd be a bemutatót.
presentation = Presentation("ExistingChart.pptx")
try:
# Szerezz egy hivatkozást a diagramobjektumra.
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().get_Item(0)
sequence = slide.getTimeline().getMainSequence()
# Animáld a diagram elemeit.
sequence.addEffect(chart, EffectType.Fade, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.ByCategory, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.ByCategory, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.ByCategory, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMajorGroupingType.ByCategory, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
# Írd a módosított bemutatót a lemezre.
presentation.save("Sample_Animation_C.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Animáció sorozat elemben
Ha a sorozat elemeket szeretné animálni, írja meg a kódot az alábbi lépések szerint:
- Töltsön be egy bemutatót.
- Szerezzen referenciát a diagramobjektumhoz.
- Animálja a sorozat elemeket.
- Írja a bemutató fájlt a lemezre.
Az alábbi példa a sorozat elemeket animálja.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import EffectChartMinorGroupingType, EffectSubtype, EffectTriggerType, EffectType, Presentation, SaveFormat
# Töltsd be a bemutatót.
presentation = Presentation("ExistingChart.pptx")
try:
# Szerezz egy hivatkozást a diagramobjektumra.
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().get_Item(0)
sequence = slide.getTimeline().getMainSequence()
# Animáld a diagram elemeit.
sequence.addEffect(chart, EffectType.Fade, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
# Írd a módosított bemutatót a lemezre.
presentation.save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Animáció kategória elemben
Ha a kategória elemeket szeretné animálni, írja meg a kódot az alábbi lépések szerint:
- Töltsön be egy bemutatót.
- Szerezzen referenciát a diagramobjektumhoz.
- Animálja a kategória elemeket.
- Írja a bemutató fájlt a lemezre.
Az alábbi példa a kategória elemeket animálja.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import EffectChartMinorGroupingType, EffectSubtype, EffectTriggerType, EffectType, Presentation, SaveFormat
# Töltsd be a bemutatót.
presentation = Presentation("ExistingChart.pptx")
try:
# Szerezz egy hivatkozást a diagramobjektumra.
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().get_Item(0)
sequence = slide.getTimeline().getMainSequence()
# Animáld a diagram elemeit.
sequence.addEffect(chart, EffectType.Fade, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 0, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 1, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
sequence.addEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None_, EffectTriggerType.AfterPrevious)
# Írd a módosított bemutatót a lemezre.
presentation.save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
GYIK
Támogatja-e a diagramok különböző effektustípusait (pl. belépés, hangsúlyozás, kilépés) a szokásos alakzatokhoz hasonlóan?
Igen. A diagramot alakzatként kezelik, így támogatja a szabványos animációs effektustípusokat, beleértve a belépést, hangsúlyozást és kilépést, teljes irányítással a dia idővonalán és animációs sorozataiban.
Kombinálhatom-e a diagram animációt diaátmenetekkel?
Igen. A Transitions a diára vonatkozik, míg az animációs effektusok a dián lévő objektumokra. Mindkettőt használhatja ugyanabban a bemutatóban, és önállóan vezérelheti őket.
Megmaradnak-e a diagram animációk PPTX mentésekor?
Igen. Amikor save to PPTX műveletet végez, az összes animációs effektus és azok sorrendje megmarad, mert részei a bemutató natív animációs modelljének.
Olvashatom-e a meglévő diagram animációkat egy bemutatóból és módosíthatom őket?
Igen. Az API hozzáférést biztosít a dia idővonalához, sorozataihoz és effektusaihoz, lehetővé téve a meglévő diagram animációk ellenőrzését és módosítását anélkül, hogy mindent újra kellene építeni.
Készíthetek-e videót, amely tartalmazza a diagram animációkat az Aspose.Slides használatával?
Igen. A export a presentation to video funkcióval videóba konvertálhatja a bemutatót, megtartva az animációkat, beállítva az időzítéseket és egyéb export beállításokat, hogy a végeredmény tükrözze az animált lejátszást.