Создание презентаций в PHP
Обзор
Эта статья показывает, как создать презентацию в Aspose.Slides, добавить текстовое поле на первый слайд и сохранить результат в файл. Она также демонстрирует, как создать и сохранить пустую презентацию, а также как открыть существующую презентацию поддерживаемого формата и сохранить её в другом формате. Краткий раздел FAQ в конце охватывает часто задаваемые вопросы о форматах, шаблонах, размере слайдов, единицах измерения, использовании памяти, потоках, лицензировании, цифровых подписях и поддержке VBA.
Прежде чем начать, установите Aspose.Slides for PHP via Java с помощью Composer и запустите PHP/Java Bridge в Apache Tomcat. См. Installation для полной настройки. Примеры ниже предполагают, что Tomcat работает на localhost:8080, а папка Composer vendor расположена рядом со скриптом.
Создание презентации PowerPoint
Чтобы создать презентацию и разместить текстовое поле на её первом слайде, выполните следующие действия:
- Создайте экземпляр класса Presentation. Новая презентация уже содержит один пустой слайд.
- Получите этот слайд из коллекции, возвращаемой Presentation::getSlides, по индексу 0.
- Добавьте прямоугольник с помощью метода ShapeCollection::addAutoShape и задайте его текст с помощью TextFrame::setText.
- Сохраните презентацию как файл PPTX с помощью метода Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/ru/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
$shape->getTextFrame()->setText("Hello, Aspose.Slides!");
$presentation->save(__DIR__ . "/hello.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Две строки require_once загружают клиент PHP/Java Bridge из Tomcat и классы Aspose.Slides из пакета Composer. Верхний левый угол прямоугольника находится на расстоянии 50 пунктов от левого края и 50 пунктов от верхнего края слайда, а ширина прямоугольника составляет 400 пунктов, высота — 100 пунктов. Сохранённый файл содержит один слайд с этим прямоугольником и его текстом. Без лицензии Aspose.Slides также добавляет водяной знак оценки на каждый сохраняемый слайд; см. Licensing.
Note
Aspose.Slides читает и записывает файлы внутри Tomcat, а не в вашем процессе PHP, поэтому относительный путь, такой как “hello.pptx”, разрешается относительно рабочей папки Tomcat. Примеры на этой странице формируют абсолютные пути с помощью__DIR__, поэтому файлы читаются из и сохраняются рядом со скриптом.
Создание и сохранение презентации
Чтобы создать пустую презентацию и сохранить её, создайте экземпляр класса Presentation и сохраните её в любом формате из перечисления SaveFormat. В результате будет презентация с одним пустым слайдом.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/ru/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Открытие и сохранение презентации
Чтобы преобразовать презентацию из одного формата в другой, откройте её, передав путь к файлу конструктору Presentation, затем сохраните в целевом формате. Aspose.Slides определяет входной формат, такой как PPT, PPTX или ODP, по самому файлу.
Пример ниже ожидает наличие презентации OpenDocument с именем Sample.odp рядом со скриптом и сохраняет её как PPTX.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/ru/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation(__DIR__ . "/Sample.odp");
try {
$presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
FAQ
В какие форматы я могу сохранить новую презентацию?
Вы можете сохранять в PPTX, PPT и ODP, а также экспортировать в PDF, XPS, HTML, SVG и изображения, среди прочего.
Могу ли я начать с шаблона (POTX/POTM) и сохранить как обычный PPTX?
Да. Загрузите шаблон и сохраните в нужный формат; форматы POTX/POTM/PPTM и подобные поддерживаются.
Как управлять размером слайда/соотношением сторон при создании презентации?
Установите slide size (включая предустановки, такие как 4:3 и 16:9, или пользовательские размеры) и выберите, как масштабировать содержание.
В каких единицах измеряются размеры и координаты?
В пунктах: 1 дюйм равен 72 единицам.
Как обрабатывать очень большие презентации (с множеством медиафайлов), чтобы уменьшить использование памяти?
Используйте BLOB management strategies, ограничьте хранение в памяти, используя временные файлы, и отдавайте предпочтение файловым рабочим процессам вместо полностью потоковых операций в памяти.
Могу ли я создавать/сохранять презентации параллельно?
Вы не можете работать с тем же экземпляром Presentation из multiple threads. Запускайте отдельные изолированные экземпляры для каждого потока или процесса.
Как удалить пробный водяной знак и ограничения?
Apply a license один раз на процесс. XML лицензии должен оставаться неизменным, а настройка лицензии должна быть синхронизирована, если задействовано несколько потоков.
Могу ли я цифрово подписать создаваемый PPTX?
Да. Digital signatures (добавление и проверка) поддерживаются для презентаций.
Поддерживаются ли макросы (VBA) в созданных презентациях?
Да. Вы можете create/edit VBA projects и сохранять файлы с включёнными макросами, такие как PPTM/PPSM.