Преобразовать презентации в HTML5 с помощью PHP
Обзор
В этой статье объясняется, как преобразовать презентации PowerPoint в HTML5 с помощью Aspose.Slides for PHP via Java. Описываются базовый экспорт, управление анимацией фигур и переходами между слайдами, а также расположение комментариев. Также сравниваются результаты HTML5 с выводом в формате SVG, получаемым при стандартном экспорте в HTML.
Экспорт PowerPoint в HTML5
В следующем примере презентация загружается из рабочего каталога и сохраняется в формате HTML5. Используются настройки экспорта по умолчанию; следующий пример показывает, как явно управлять воспроизведением анимации. Замените путь входного файла на путь к вашей презентации.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("pres.pptx");
try {
$presentation->save("pres.html", SaveFormat::Html5);
} finally {
$presentation->dispose();
}
Примечание
Помимо HTML‑документа, экспорт записывает поддерживающие файлы CSS и JavaScript для оформления слайдов, анимаций, эффектов и навигации. Сохраните эти файлы вместе с HTML‑документом при перемещении или публикации результата. Сгенерированная страница также загружает jQuery и Anime.js с публичных CDN; без них навигация по слайдам и анимации не работают.Чтобы выполнить экспорт без воспроизведения анимаций фигур или переходов между слайдами, передайте false в setAnimateShapes и setAnimateTransitions в Html5Options. Эти параметры независимы, поэтому можно включить один, отключив другой. Пример экспортирует презентацию с отключёнными обоими типами анимации в сгенерированной странице.
use aspose\slides\Html5Options;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$html5Options = new Html5Options();
$html5Options->setAnimateShapes(false);
$html5Options->setAnimateTransitions(false);
$presentation = new Presentation("pres.pptx");
try {
$presentation->save("pres5.html", SaveFormat::Html5, $html5Options);
} finally {
$presentation->dispose();
}
Экспорт PowerPoint в HTML
Стандартный экспорт в HTML использует иной подход к визуализации: содержимое слайда представлено в виде SVG внутри HTML‑страницы. В следующем примере презентация преобразуется в HTML‑документ с использованием этого подхода.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("pres.pptx");
try {
$presentation->save("pres.html", SaveFormat::Html);
} finally {
$presentation->dispose();
}
Упрощённая разметка ниже иллюстрирует структуру сгенерированной страницы. Элемент SVG содержит отрисованное содержимое слайда; текст‑заполнитель представляет это содержимое и не является фактическим выводом экспорта.
<body>
<div class="slide" name="slide" id="slideslideIface1">
<svg version="1.1">
<g> THE SLIDE CONTENT GOES HERE </g>
</svg>
</div>
</body>
Предупреждение
Экспорт на основе SVG не раскрывает формы PowerPoint как отдельные HTML‑элементы. Используйте экспорт в HTML5, когда нужны параметры анимации фигур и переходов между слайдами, продемонстрированные в этой статье.Экспорт PowerPoint в представление слайдов HTML5
Экспорт в HTML5 создаёт страницу для просмотра и навигации по слайдам презентации в браузере. В этом примере включены как setAnimateShapes, так и setAnimateTransitions, чтобы экспортированное представление слайдов могло воспроизводить эффекты из исходной презентации.
Используйте презентацию, уже содержащую анимацию фигур и переходы между слайдами, чтобы увидеть эффект этих настроек. Включение их не добавляет новые эффекты к слайдам, в которых их нет. После экспорта откройте сгенерированный HTML5‑документ в браузере при наличии поддерживающих файлов.
use aspose\slides\Html5Options;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$html5Options = new Html5Options();
$html5Options->setAnimateShapes(true);
$html5Options->setAnimateTransitions(true);
$presentation = new Presentation("pres.pptx");
try {
$presentation->save("HTML5-slide-view.html", SaveFormat::Html5, $html5Options);
} finally {
$presentation->dispose();
}
Преобразование презентации в документ HTML5 с комментариями
Вы можете включить существующие комментарии к слайдам в вывод HTML5, чтобы читатели могли видеть обратную связь рядом с содержимым слайда. Пример в этом разделе предполагает, что исходная презентация содержит комментарии, как показано ниже. Он экспортирует эти комментарии; новые комментарии не создаются.

Передайте объект NotesCommentsLayoutingOptions в метод setSlidesLayoutOptions класса Html5Options. Используйте setCommentsPosition, чтобы выбрать Right из перечисления CommentsPositions и разместить комментарии справа от каждого слайда.
Следующий пример экспортирует презентацию в HTML5 с такой компоновкой комментариев. Презентация без комментариев не будет иметь текста комментариев для отображения.
use aspose\slides\CommentsPositions;
use aspose\slides\Html5Options;
use aspose\slides\NotesCommentsLayoutingOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$layoutOptions = new NotesCommentsLayoutingOptions();
$layoutOptions->setCommentsPosition(CommentsPositions::Right);
$html5Options = new Html5Options();
$html5Options->setSlidesLayoutOptions($layoutOptions);
$presentation = new Presentation("sample.pptx");
try {
$presentation->save("output.html", SaveFormat::Html5, $html5Options);
} finally {
$presentation->dispose();
}
Изображение ниже показывает экспортированный документ HTML5 с комментариями, отображаемыми рядом со слайдом.

Исключение гиперссылок JavaScript при экспорте
Предположим, файл hyperlinks.pptx содержит связанный текст с целью javascript:alert('Hello') и обычную ссылку https://example.com/. Чтобы исключить гиперссылку JavaScript при экспорте, передайте true в SaveOptions::setSkipJavaScriptLinks. По умолчанию значение false, поэтому такие ссылки не фильтруются, если вы не включите параметр.
В следующем примере презентация загружается из рабочего каталога и экспортируется с помощью Html5Options:
use aspose\slides\Html5Options;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$html5Options = new Html5Options();
$html5Options->setSkipJavaScriptLinks(true);
$presentation = new Presentation("hyperlinks.pptx");
try {
$presentation->save("filtered-html5.html", SaveFormat::Html5, $html5Options);
} finally {
$presentation->dispose();
}
Экспортированный файл опускает JavaScript‑гиперссылку, сохранив её текст и обычную HTTPS‑ссылку. Исходная презентация остаётся неизменной.
Эта опция фильтрует гиперссылки JavaScript; она не удаляет все скрипты или другое активное содержимое и не гарантирует соответствие CSP. Например, вывод HTML5 всё равно включает скрипты для навигации по слайдам и анимаций.
FAQ
Можно ли управлять тем, будут ли проигрываться анимации объектов и переходы между слайдами в HTML5?
Да, экспорт в HTML5 предоставляет отдельные параметры для включения или отключения shape animations и slide transitions.
Поддерживаются ли комментарии и где их можно разместить относительно слайда?
Да, существующие комментарии можно включить в вывод HTML5 и расположить (например, справа от слайда) через layout settings для заметок и комментариев.
Можно ли пропустить ссылки, вызывающие JavaScript, по соображениям безопасности или CSP?
Да, настройка setSkipJavaScriptLinks позволяет пропустить гиперссылки с вызовами JavaScript при сохранении. По умолчанию значение false. Смотрите Exclude JavaScript Hyperlinks During Export для примера экспорта в HTML5 и области действия фильтра. Эта настройка не удаляет JavaScript, используемый просмотрщиком HTML5 для навигации и анимаций.