Добавление слайдов в презентации на PHP
Добавить слайд в презентацию
Aspose.Slides for PHP via Java позволяет разработчикам добавлять пустые слайды в свою презентацию. Чтобы добавить пустой слайд в презентацию, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите объект SlideCollection с помощью метода getSlides (коллекция объектов Slide), предоставленного объектом Presentation.
- Добавьте пустой слайд в презентацию в конец коллекции слайдов контента, вызвав методы addEmptySlide, предоставленные объектом SlideCollection.
- Выполните необходимые действия с только что добавленным пустым слайдом.
- Наконец, запишите файл презентации, используя объект Presentation.
# Создайте экземпляр класса Presentation, который представляет файл презентации
$pres = new Presentation();
try {
# Создайте экземпляр класса SlideCollection
$slds = $pres->getSlides();
for($i = 0; $i < java_values($pres->getLayoutSlides()->size()) ; $i++) {
# Добавьте пустой слайд в коллекцию Slides
$slds->addEmptySlide($pres->getLayoutSlides()->get_Item($i));
}
# Выполните некоторые действия с только что добавленным слайдом
# Сохраните файл PPTX на диск
$pres->save("EmptySlide.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Часто задаваемые вопросы
Могу ли я вставить новый слайд в определённую позицию, а не только в конец?
Да. Библиотека поддерживает коллекции слайдов и операции insert/clone, поэтому вы можете добавить слайд в нужный индекс, а не только в конец.
Сохраняются ли темы/стили при добавлении слайда на основе макета?
Да. Макет наследует форматирование от своего мастера, а новый слайд наследует его от выбранного макета и связанного с ним мастера.
Какой слайд присутствует в новой «пустой» презентации до добавления слайдов?
Новая созданная презентация уже содержит один пустой слайд с индексом ноль. Это важно учитывать при расчёте индексов вставки.
Как выбрать «правильный» макет для нового слайда, если у мастера много вариантов?
Как правило, выбирайте LayoutSlide, который соответствует требуемой структуре (Title and Content, Two Content, etc.). Если такой макет отсутствует, вы можете добавить его в мастер и затем использовать его.