Конвертировать презентации PowerPoint в XPS на C++

О XPS

Microsoft разработала XPS как альтернативу PDF. Он позволяет печатать содержимое, создав файл, очень похожий на PDF. Формат XPS основан на XML. Макет или структура файла XPS остаются одинаковыми на всех операционных системах и принтерах.

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

Если вы хотите сократить расходы на хранение, можете преобразовать вашу презентацию Microsoft PowerPoint в формат XPS. Таким образом, вам будет проще сохранять, делиться и печатать документы.

Microsoft продолжает активно поддерживать XPS в Windows (даже в Windows 10), поэтому возможно стоит сохранять файлы в этом формате. Если вы работаете с Windows 8.1, Windows 8, Windows 7 и Windows Vista, то XPS может быть лучшим вариантом для некоторых операций.

  • Windows 8 использует формат OXPS (Open XPS) для файлов XPS. OXPS — это стандартизированная версия оригинального формата XPS. Windows 8 обеспечивает более лучшую поддержку файлов XPS, чем файлов PDF.

    • XPS: Встроенный просмотрщик/читалка XPS и возможность печати в XPS доступны.
    • PDF: Доступен PDF‑читалка, но функции печати в PDF нет.
  • Windows 7 и Windows Vista используют оригинальный формат XPS. Эти ОС также предоставляют более лучшую поддержку файлов XPS, чем PDF.

    • XPS: Встроенный просмотрщик XPS и возможность печати в XPS доступны.
    • PDF: Нет PDF‑читалки. Нет функции печати в PDF.

Входной PPT(X):

todo:image_alt_text**

Выходной XPS:

todo:image_alt_text**

Microsoft в конечном итоге реализовала поддержку печати в PDF через функцию Печать в PDF в Windows 10. Ранее пользователи ожидали печатать документы через формат XPS.

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

В Aspose.Slides для C++ вы можете использовать метод Save, предоставляемый классом Presentation, чтобы преобразовать всю презентацию в документ XPS.

При конвертации презентации в XPS вам нужно сохранять презентацию, используя один из следующих параметров:

  • Настройки по умолчанию (без XPSOptions)
  • Пользовательские настройки (с XPSOptions)

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

Этот пример кода на C++ показывает, как преобразовать презентацию в документ XPS, используя стандартные настройки:

// Создать объект Presentation, представляющий файл презентации
auto pres = System::MakeObject<Presentation>(u"Convert_XPS.pptx");
// Сохранение презентации в документ XPS
pres->Save(u"XPS_Output_Without_XPSOption_out.xps", SaveFormat::Xps);

Преобразование презентаций в XPS с использованием пользовательских настроек

Этот пример кода показывает, как преобразовать презентацию в документ XPS, используя пользовательские настройки в C++:

// Создать объект Presentation, представляющий файл презентации
auto pres = System::MakeObject<Presentation>(u"Convert_XPS_Options.pptx");
// Создать объект класса TiffOptions
auto options = System::MakeObject<XpsOptions>();

// Сохранить MetaFiles как PNG
options->set_SaveMetafilesAsPng(true);

// Сохранить презентацию в документ XPS
pres->Save(u"XPS_With_Options_out.xps", SaveFormat::Xps, options);

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

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

Да — Aspose.Slides позволяет экспортировать напрямую в поток, что идеально подходит для веб‑API, серверных конвейеров или любой ситуации, когда необходимо отправить XPS, не взаимодействуя с файловой системой.

Переносятся ли скрытые слайды в XPS и можно ли их исключить?

По умолчанию рендерятся только обычные (видимые) слайды. Вы можете включать или исключать скрытые слайды с помощью настроек экспорта перед сохранением в XPS, гарантируя, что вывод будет содержать именно те страницы, которые вам нужны.