PowerPointをXPSに変換

XPSについて

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

Microsoft XPSフォーマットを使用するタイミング

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

マイクロソフトは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 7およびWindows Vistaは元のXPSフォーマットを使用します。これらのオペレーティングシステムもPDFよりもXPSファイルに対して優れたサポートを提供します。

    • XPS: ビルトインのXPSビューアとXPSへの印刷機能が利用可能。
    • PDF: PDFリーダーはありません。PDFへの印刷機能もありません。

入力PPT(X):

todo:image_alt_text**

出力XPS:

todo:image_alt_text**

マイクロソフトは最終的にWindows 10のPDFへの印刷機能を通じてPDFの印刷操作をサポートしました。それ以前は、ユーザーはXPSフォーマットを通じてドキュメントを印刷することを期待されていました。

Aspose.SlidesによるXPS変換

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

プレゼンテーションをXPSに変換する際には、次のいずれかの設定を使用してプレゼンテーションを保存する必要があります。

デフォルト設定を使用したプレゼンテーションのXPSへの変換

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

// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化
Presentation pres = new Presentation("Convert_XPS.pptx");
try {
    // プレゼンテーションをXPSドキュメントに保存
    pres.save("XPS_Output_Without_XPSOption.xps", SaveFormat.Xps);
} finally {
    if (pres != null) pres.dispose();
}

カスタム設定を使用したプレゼンテーションのXPSへの変換

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

// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化
Presentation pres = new Presentation("Convert_XPS_Options.pptx");
try {
    // TiffOptionsクラスをインスタンス化
    XpsOptions options = new XpsOptions();

    // メタファイルをPNGとして保存
    options.setSaveMetafilesAsPng(true);

    // プレゼンテーションをXPSドキュメントに保存
    pres.save("XPS_Output_With_Options.xps", SaveFormat.Xps, options);
} finally {
    if (pres != null) pres.dispose();
}