Управление переходами слайдов в презентациях с использованием PHP
Обзор
Добавить переход слайда
Чтобы создать простой эффект перехода слайда, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Примените тип перехода слайда, выбрав один из эффектов переходов, предлагаемых Aspose.Slides for PHP via Java, через перечисление TransitionType.
- Запишите изменённый файл презентации.
# Создать экземпляр класса Presentation для загрузки исходного файла презентации
$presentation = new Presentation("AccessSlides.pptx");
try {
# Применить переход типа circle на слайде 1
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Circle);
# Применить переход типа comb на слайде 2
$presentation->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Comb);
# Записать презентацию на диск
$presentation->save("SampleTransition_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Добавить расширенный переход слайда
В предыдущем разделе мы применили простой эффект перехода к слайду. Теперь, чтобы улучшить и контролировать этот эффект, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Примените тип перехода слайда, выбрав один из эффектов переходов, предлагаемых Aspose.Slides for PHP via Java.
- Вы также можете установить переход «Advance On Click», через определённый промежуток времени или оба варианта.
- Если переход слайда включён «Advance On Click», он будет продвигаться только при щелчке мышью. Кроме того, если установлено свойство «Advance After Time», переход будет происходить автоматически после указанного времени.
- Запишите изменённую презентацию как файл презентации.
# Создать экземпляр класса Presentation, представляющего файл презентации
$pres = new Presentation("BetterSlideTransitions.pptx");
try {
# Применить переход типа circle на слайде 1
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Circle);
# Установить время перехода 3 секунды
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setAdvanceAfterTime(3000);
# Применить переход типа comb на слайде 2
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Comb);
# Установить время перехода 5 секунд
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setAdvanceAfterTime(5000);
# Применить переход типа zoom на слайде 3
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setType(TransitionType::Zoom);
# Установить время перехода 7 секунд
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setAdvanceAfterTime(7000);
# Записать презентацию на диск
$pres->save("SampleTransition_out.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Морф‑переход
Следующий фрагмент кода демонстрирует, как добавить клон слайда с текстом в презентацию и установить переход типа morph type для второго слайда.
$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();
}
Типы морф‑переходов
Новый перечисление TransitionMorphType добавлено. Оно представляет различные типы морф‑переходов слайда.
Перечисление TransitionMorphType имеет три члена:
- ByObject: морф‑переход будет выполнен с учётом фигур как неделимых объектов.
- ByWord: морф‑переход будет выполнен с передачей текста по словам, где это возможно.
- ByChar: морф‑переход будет выполнен с передачей текста по символам, где это возможно.
Следующий фрагмент кода показывает, как установить морф‑переход для слайда и изменить тип морфа:
$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();
}
Установить эффекты перехода
Aspose.Slides for PHP via Java поддерживает установку эффектов перехода, таких как «from black», «from left», «from right» и др. Чтобы задать эффект перехода, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд.
- Установите эффект перехода.
- Запишите презентацию как файл PPTX.
В приведённом ниже примере мы задали эффекты перехода.
# Создать экземпляр класса Presentation
$presentation = new Presentation("AccessSlides.pptx");
try {
# Установить эффект
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Cut);
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->getValue()->setFromBlack(true);
# Записать презентацию на диск
$presentation->save("SetTransitionEffects_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
FAQ
Могу ли я контролировать скорость воспроизведения перехода слайда?
Да. Установите speed перехода с помощью настройки TransitionSpeed (например, slow/medium/fast).
Могу ли я прикрепить аудио к переходу и сделать его зацикленным?
Да. Вы можете встроить звук в переход и управлять его поведением через параметры, такие как режим звука и зацикливание (например, setSound, setSoundMode, setSoundLoop, а также метаданные, такие как setSoundIsBuiltIn и setSoundName).
Какой самый быстрый способ применить один и тот же переход ко всем слайдам?
Настройте желаемый тип перехода в параметрах перехода каждого слайда; переходы хранятся отдельно для каждого слайда, поэтому применение одинакового типа ко всем слайдам дает единообразный результат.
Как я могу проверить, какой переход сейчас установлен на слайде?
Осмотрите transition settings слайда и прочитайте его transition type; это значение точно указывает, какой эффект применён.