Преобразование презентаций в HTML5 на Python через Java

Обзор

В этой статье объясняется, как преобразовать презентации PowerPoint в HTML5 с помощью Aspose.Slides. Описывается базовый экспорт в HTML5 без дополнительных веб‑расширений, а также параметры, позволяющие управлять анимацией фигур и переходами между слайдами. Статья также демонстрирует стандартный процесс экспорта PowerPoint в HTML, объясняет, как генерировать вывод HTML5 в режиме просмотра слайдов, и показывает, как включить комментарии в экспортируемый документ, настроив их размещение.

Для примеров требуется Aspose.Slides для Python через Java и совместимая среда выполнения Java. Поместите pres.pptx (или sample.pptx для примера с комментариями) в текущий рабочий каталог. Каждый пример запускает JVM только в случае, если она ещё не запущена.

Экспорт PowerPoint в HTML5

Используйте Presentation.save с SaveFormat.Html5 для экспорта презентации без дополнительных веб‑расширений:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("pres.pptx")
try:
    presentation.save("pres.html", SaveFormat.Html5)
finally:
    presentation.dispose()

Используйте Html5Options для настройки экспорта. Вызовите setAnimateShapes и setAnimateTransitions с параметром False, чтобы отключить анимацию фигур и переходы между слайдами:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Html5Options, Presentation, SaveFormat

presentation = Presentation("pres.pptx")
try:
    html5_options = Html5Options()
    html5_options.setAnimateShapes(False)
    html5_options.setAnimateTransitions(False)

    presentation.save("pres5.html", SaveFormat.Html5, html5_options)
finally:
    presentation.dispose()

Экспорт PowerPoint в HTML

Используйте SaveFormat.Html для стандартного экспорта в HTML. См. Convert PowerPoint to HTML для дополнительных параметров:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = 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>

Экспорт PowerPoint в режим просмотра слайдов HTML5

Aspose.Slides позволяет преобразовать презентацию PowerPoint в документ HTML5, в котором слайды отображаются в режиме просмотра слайдов. При открытии полученного HTML5‑файла в браузере вы увидите презентацию в режиме просмотра слайдов на веб‑странице.

Следующий код Python демонстрирует процесс экспорта PowerPoint в режим просмотра слайдов HTML5:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Html5Options, Presentation, SaveFormat

presentation = Presentation("pres.pptx")
try:
    html5_options = Html5Options()
    html5_options.setAnimateShapes(True)
    html5_options.setAnimateTransitions(True)

    presentation.save("HTML5-slide-view.html", SaveFormat.Html5, html5_options)
finally:
    presentation.dispose()

Преобразование презентаций в документы HTML5 с комментариями

Комментарии в PowerPoint — это инструмент, позволяющий пользователям оставлять заметки или обратную связь по слайдам презентации. Они особенно полезны в совместных проектах, где несколько человек могут добавлять свои предложения или замечания к конкретным элементам слайда, не изменяя основное содержание. Каждый комментарий показывает имя автора, что упрощает отслеживание, кто оставил замечание.

Предположим, у нас есть следующая презентация PowerPoint, сохранённая в файле sample.pptx.

Два комментария на слайде презентации

При преобразовании презентации PowerPoint в документ HTML5 вы можете указать, включать ли комментарии из презентации в результирующий документ. Для этого передайте параметры отображения комментариев в метод setSlidesLayoutOptions класса Html5Options.

Используйте NotesCommentsLayoutingOptions и setCommentsPosition с CommentsPositions.Right. Приведённый ниже пример кода преобразует презентацию в документ HTML5 с комментариями, отображаемыми справа от слайдов.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import CommentsPositions, NotesCommentsLayoutingOptions, Html5Options, Presentation, SaveFormat

presentation = Presentation("sample.pptx")
try:
    layout_options = NotesCommentsLayoutingOptions()
    layout_options.setCommentsPosition(CommentsPositions.Right)

    html5_options = Html5Options()
    html5_options.setSlidesLayoutOptions(layout_options)

    presentation.save("output.html", SaveFormat.Html5, html5_options)
finally:
    presentation.dispose()

Документ output.html показан на изображении ниже.

Комментарии в результирующем документе HTML5

FAQ

Можно ли управлять тем, будут ли воспроизводиться анимации объектов и переходы между слайдами в HTML5?

Да, в HTML5 есть отдельные параметры для включения или отключения анимации фигур и переходов между слайдами.

Можно ли экспортировать комментарии и где их можно разместить относительно слайда?

Да, комментарии можно добавить в HTML5 и разместить (например, справа от слайда) с помощью настроек размещения для заметок и комментариев.

Можно ли пропускать ссылки, вызывающие JavaScript, по соображениям безопасности или CSP?

Да, существует настройка, позволяющая пропускать гиперссылки с вызовами JavaScript при сохранении. Это удаляет такие ссылки; однако сама по себе эта настройка не гарантирует, что все сгенерированные скрипты HTML5 соответствуют политике безопасности контента сайта.