Преобразование презентаций PowerPoint в XPS на Python

Обзор

Aspose.Slides for Python via Java позволяет конвертировать презентации PowerPoint в XPS, сохраняя файл PPT или PPTX в формате XPS. Эта статья объясняет, когда XPS может быть полезен, и показывает, как экспортировать презентацию, используя либо настройки по умолчанию, либо пользовательские XpsOptions параметры.

О XPS

XPS (XML Paper Specification) — это основанный на XML формат документов, разработанный Microsoft. Он описывает фиксированные страницы, сохраняющие расположение текста и графики для просмотра и печати совместимым программным обеспечением.

Когда использовать формат Microsoft XPS

Используйте XPS, когда рабочий процесс требует фиксированных файлов для обмена или печати с помощью совместимых с XPS инструментов. Получателям необходимо программное обеспечение, поддерживающее XPS. Если в вашем рабочем процессе требуется PDF, смотрите Convert PowerPoint to PDF.

Исходная презентация PowerPoint Выходной документ XPS
Original PowerPoint presentation Presentation converted to XPS

Конвертация в XPS с помощью Aspose.Slides

Используйте метод save класса Presentation с SaveFormat.Xps для экспорта презентации. Вы можете использовать настройки экспорта по умолчанию или задать XpsOptions для настройки вывода.

Каждый пример ниже при необходимости запускает виртуальную машину Java и освобождает презентацию после использования. Замените имя входного файла на путь к вашему файлу PPT или PPTX.

Конвертация презентаций в XPS с использованием настроек по умолчанию

Следующий код Python конвертирует презентацию в XPS, используя настройки по умолчанию:

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("presentation.pptx")
try:
    # Сохранить презентацию как XPS‑документ.
    presentation.save("output.xps", SaveFormat.Xps)
finally:
    presentation.dispose()

Конвертация презентаций в XPS с пользовательскими настройками

Следующий пример использует XpsOptions.setSaveMetafilesAsPng для сохранения метафайлов как PNG‑изображения в результирующем документе XPS:

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat, XpsOptions

presentation = Presentation("presentation.pptx")
try:
    xps_options = XpsOptions()
    xps_options.setSaveMetafilesAsPng(True)

    # Сохранить презентацию с пользовательскими настройками XPS.
    presentation.save("output_custom.xps", SaveFormat.Xps, xps_options)
finally:
    presentation.dispose()

Часто задаваемые вопросы

Могу ли я сохранить XPS в поток вместо файла?

Да. Метод Presentation.save имеет перегрузки, принимающие Java‑поток вывода. При работе с Python via Java используйте совместимый Java‑поток через JPype, например Java ByteArrayOutputStream, чтобы держать экспортированные данные в памяти.

Включаются ли скрытые слайды в вывод XPS?

Скрытые слайды исключаются по умолчанию. Чтобы включить их, установите XpsOptions.setShowHiddenSlides в True перед сохранением.

Сохраняются ли анимации и переходы между слайдами в XPS?

Нет. XPS содержит фиксированные страницы, поэтому экспортированные слайды не воспроизводят анимации или эффекты переходов.