C++ で PowerPoint プレゼンテーションを XPS に変換

XPS について

Microsoft は XPSPDF の代替として開発しました。PDF に非常に似たファイルを出力することでコンテンツを印刷できます。XPS フォーマットは XML をベースにしています。XPS ファイルのレイアウトや構造は、すべてのオペレーティングシステムやプリンターで同じままです。

Microsoft XPS フォーマットを使用すべきとき

ストレージコストを削減したい場合は、Microsoft PowerPoint プレゼンテーションを XPS フォーマットに変換できます。この方法により、ドキュメントの保存、共有、印刷がより簡単になります。

Microsoft は Windows(Windows 10 でも)で XPS の強力なサポートを継続的に実装しており、このフォーマットでファイルを保存することを検討すべきです。Windows 8.1、Windows 8、Windows 7、Windows Vista を使用している場合、特定の操作では XPS が実際に最適なオプションになることがあります。

  • Windows 8 は XPS ファイルに OXPS(Open XPS)フォーマットを使用します。OXPS は元の XPS フォーマットの標準化バージョンです。Windows 8 は PDF ファイルよりも XPS ファイルのサポートが優れています。

    • XPS: 組み込みの XPS ビューア/リーダーおよび XPS への印刷機能が利用可能です。
    • PDF: PDF リーダーは利用可能ですが、PDF への印刷機能はありません。
  • Windows 7Windows Vista は元の XPS フォーマットを使用します。これらの OS も PDF より XPS ファイルのサポートが優れています。

    • XPS: 組み込みの XPS ビューアと XPS への印刷機能が利用可能です。
    • PDF: PDF リーダーがありません。PDF への印刷機能もありません。

入力 PPT(X):

todo:image_alt_text**

出力 XPS:

todo:image_alt_text**

Microsoft は最終的に Windows 10 の PDF への印刷機能を通じて、PDF の印刷操作のサポートを実装しました。それ以前は、ユーザーは XPS フォーマットを介して文書を印刷することが期待されていました。

Aspose.Slides を使用した XPS 変換

C++ 用の Aspose.Slides では、Presentation クラスが提供する Save メソッドを使用して、プレゼンテーション全体を XPS ドキュメントに変換できます。

プレゼンテーションを XPS に変換する際は、以下の設定のいずれかでプレゼンテーションを保存する必要があります:

  • デフォルト設定(XPSOptions を使用しない)
  • カスタム設定(XPSOptions を使用)

デフォルト設定を使用してプレゼンテーションを XPS に変換する

この C++ のサンプルコードは、標準設定を使用してプレゼンテーションを XPS ドキュメントに変換する方法を示しています:

// プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します
auto pres = System::MakeObject<Presentation>(u"Convert_XPS.pptx");
// Saving the presentation to XPS document
pres->Save(u"XPS_Output_Without_XPSOption_out.xps", SaveFormat::Xps);

カスタム設定を使用してプレゼンテーションを XPS に変換する

このサンプルコードは、C++ でカスタム設定を使用してプレゼンテーションを XPS ドキュメントに変換する方法を示しています:

// プレゼンテーション ファイルを表す 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);

FAQ

ストリームに XPS を保存できますか(ファイルではなく)?

はい — Aspose.Slides はストリームに直接エクスポートでき、Web API、サーバーサイド パイプライン、またはファイルシステムに触れずに XPS を送信したいあらゆるシナリオに最適です。

非表示スライドは XPS に含まれますか、除外できますか?

デフォルトでは、通常の(表示されている)スライドだけがレンダリングされます。非表示スライドの含有/除外は、エクスポート設定で XPS に保存する前に行うことができ、出力に意図したページだけが含まれるようにできます。