Slide Transition
Overview
To make it easier to understand, we have demonstrated the use of Aspose.Slides for PHP via Java to manage simple slide transitions. Developers can not only apply different slide transition effects on the slides, but also customize the behavior of these transition effects.
Add Slide Transition
To create a simple slide transition effect, follow the steps below:
- Create an instance of Presentation class.
- Apply a Slide Transition Type on the slide from one of the transition effects offered by Aspose.Slides for PHP via Java through TransitionType enum
- Write the modified presentation file.
# Instantiate Presentation class to load the source presentation file
$presentation = new Presentation("AccessSlides.pptx");
try {
# Apply circle type transition on slide 1
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Circle);
# Apply comb type transition on slide 2
$presentation->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Comb);
# Write the presentation to disk
$presentation->save("SampleTransition_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Add Advanced Slide Transition
In the above section, we just applied a simple transition effect on the slide. Now, to make that simple transition effect even better and controlled, please follow the steps below:
- Create an instance of Presentation class.
- Apply a Slide Transition Type on the slide from one of the transition effects offered by Aspose.Slides for PHP via Java
- You can also set the transition to Advance On Click, after a specific time period or both.
- If the slide transition is enabled to Advance On Click, the transition will only advance when someone will click the mouse. Moreover, if the Advance After Time property is set, the transition will advance automatically after the specified advance time will be passed.
- Write the modified presentation as a presentation file.
# Instantiate Presentation class that represents a presentation file
$pres = new Presentation("BetterSlideTransitions.pptx");
try {
# Apply circle type transition on slide 1
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Circle);
# Set the transition time of 3 seconds
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setAdvanceAfterTime(3000);
# Apply comb type transition on slide 2
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Comb);
# Set the transition time of 5 seconds
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setAdvanceAfterTime(5000);
# Apply zoom type transition on slide 3
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setType(TransitionType::Zoom);
# Set the transition time of 7 seconds
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setAdvanceAfterTime(7000);
# Write the presentation to disk
$pres->save("SampleTransition_out.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Morph Transition
The Morph transition allows you to animate smooth movement from one slide to the next. This article describes the concept and how to use the Morph transition. To use the Morph transition effectively, you will need to have two slides with at least one object in common. The easiest way is to duplicate the slide and then move the object on the second slide to a different place.
The following code snippet shows you how to add a clone of the slide with some text to the presentation and set a transition of morph type to the second slide.
$presentation = new Presentation();
try {
$autoshape = $presentation->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 400, 100);
$autoshape->getTextFrame()->setText("Morph Transition in PowerPoint Presentations");
$presentation->getSlides()->addClone($presentation->getSlides()->get_Item(0));
$shape = $presentation->getSlides()->get_Item(1)->getShapes()->get_Item(0);
$shape->setX($shape->getX() + 100);
$shape->setY($shape->getY() + 50);
$shape->setWidth($shape->getWidth() - 200);
$shape->setHeight($shape->getHeight() - 10);
$presentation->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Morph);
$presentation->save("presentation-out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Morph Transition Types
New TransitionMorphType enum has been added. It represents different types of Morph slide transition.
TransitionMorphType enum has three members:
- ByObject: Morph transition will be performed considering shapes as indivisible objects.
- ByWord: Morph transition will be performed with transferring text by words where possible.
- ByChar: Morph transition will be performed with transferring text by characters where possible.
The following code snippet shows you how to set morph transition to slide and change morph type:
$presentation = new Presentation("presentation.pptx");
try {
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Morph);
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->getValue()->setMorphType(TransitionMorphType::ByWord);
$presentation->save("presentation-out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Set Transition Effects
Aspose.Slides for PHP via Java supports setting the transition effects like, from black, from left, from right etc. In order to set the Transition Effect. Please follow the steps below:
- Create an instance of Presentation class.
- Get the reference of the slide.
- Setting the transition effect.
- Write the presentation as a PPTX file.
In the example given below, we have set the transition effects.
# Create an instance of Presentation class
$presentation = new Presentation("AccessSlides.pptx");
try {
# Set effect
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Cut);
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->getValue()->setFromBlack(true);
# Write the presentation to disk
$presentation->save("SetTransitionEffects_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}