Создание презентаций в PHP
Создать презентацию
Чтобы добавить простую обычную линию на выбранный слайд презентации, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его Index.
- Добавьте AutoShape типа Line, используя метод addAutoShape, предоставляемый объектом Shapes.
- Запишите изменённую презентацию в файл 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.