Создание презентаций в PHP

Создать презентацию

Чтобы добавить простую обычную линию на выбранный слайд презентации, выполните следующие шаги:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд, используя его Index.
  3. Добавьте AutoShape типа Line, используя метод addAutoShape, предоставляемый объектом Shapes.
  4. Запишите изменённую презентацию в файл PPTX.

В приведённом ниже примере мы добавили линию на первый слайд презентации.

  # Создайте объект Presentation, представляющий файл презентации
  $pres = new Presentation();
  try {
    # Получите первый слайд
    $slide = $pres->getSlides()->get_Item(0);
    # Добавьте AutoShape типа Line
    $slide->getShapes()->addAutoShape(ShapeType::Line, 50, 150, 300, 0);
    $pres->save("NewPresentation_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

В какие форматы я могу сохранить новую презентацию?

Вы можете сохранить в PPTX, PPT и ODP, а также экспортировать в PDF, XPS, HTML, SVG, и изображения, среди прочего.

Могу ли я начать с шаблона (POTX/POTM) и сохранить как обычный PPTX?

Да. Загрузите шаблон и сохраните в нужный формат; форматы POTX/POTM/PPTM и подобные поддерживаются.

Как контролировать размер/соотношение сторон слайда при создании презентации?

Установите размер слайда (включая предустановки, такие как 4:3 и 16:9, или пользовательские размеры) и выберите способ масштабирования содержимого.

В каких единицах измеряются размеры и координаты?

В пунктах: 1 дюйм = 72 единицы.

Как работать с очень большими презентациями (с множеством медиафайлов), чтобы уменьшить потребление памяти?

Используйте стратегии управления BLOB, ограничьте хранение в памяти, используя временные файлы, и предпочтительно используйте файловые рабочие процессы вместо чисто памятиных потоков.

Могу ли я создавать/сохранять презентации параллельно?

Вы не можете работать с тем же экземпляром Presentation из нескольких потоков. Запускайте отдельные, изолированные экземпляры для каждого потока или процесса.

Как удалить пробный водяной знак и ограничения?

Примените лицензию один раз на процесс. XML лицензии должен оставаться неизменным, и настройка лицензии должна быть синхронизирована, если участвуют несколько потоков.

Могу ли я цифрово подписать созданный PPTX?

Да. Цифровые подписи (добавление и проверка) поддерживаются для презентаций.

Поддерживаются ли макросы (VBA) в создаваемых презентациях?

Да. Вы можете создавать/редактировать VBA‑проекты и сохранять файлы с поддержкой макросов, такие как PPTM/PPSM.