Добавление слайдов в презентации на 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.). Если такой макет отсутствует, вы можете добавить его в мастер и затем использовать его.