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

概要

Aspose.Slides for C++ は PowerPoint プレゼンテーションを PowerPoint XML プレゼンテーション形式に変換できます。XML 出力は、プレゼンテーションの構造を確認したり、生成されたドキュメントのトラブルシューティングを行ったり、自動テストで出力を比較したり、プレゼンテーション パッケージではなく XML を消費するワークフローと統合したりする際に、テキストベースの表現が必要な場合に便利です。

Presentation::Save メソッドを使用し、SaveFormat 列挙体の Xml 値を指定します。結果はファイルに直接書き込むことも、ストリームに書き込むこともできます。

プレゼンテーションを XML ファイルに変換する

Presentation クラスでソース プレゼンテーションを読み込み、出力パスと SaveFormat::Xml を Presentation::Save に渡します。ソースは PPT、PPTX、ODP など、読み込みがサポートされている任意のプレゼンテーション形式にできます。

以下の例は PPTX プレゼンテーションを XML ファイルに変換します:

#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/object_ext.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
presentation->Save(u"presentation.xml", SaveFormat::Xml);
presentation->Dispose();

XML 出力をストリームに書き込む

XML をメモリ内に保持したり、Web サービス、ストレージ プロバイダー、XML 処理パイプラインなど別のコンポーネントに渡したりする必要がある場合は、Presentation::Save のストリーム オーバーロードを使用します。以下の例は結果を MemoryStream に書き込み、再度読み取れるようにシーク位置を先頭に戻します:

#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/io/memory_stream.h>
#include <system/object_ext.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System::IO;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto xmlStream = System::MakeObject<MemoryStream>();

presentation->Save(xmlStream, SaveFormat::Xml);
xmlStream->set_Position(0);
presentation->Dispose();

// xmlStream をワークフローの次のコンポーネントに渡します。

XML とプレゼンテーションおよびエクスポート形式の比較

結果の使用方法に応じて出力形式を選択してください:

形式 出力 典型的な使用例
PowerPoint XML (.xml) PowerPoint XML プレゼンテーション 構造の検査、トラブルシューティング、生成結果の比較、XML ベースの統合
PPT (.ppt) レガシーなバイナリ プレゼンテーション ファイル 古い PowerPoint ワークフローとの互換性
PPTX (.pptx) 複数のパーツを含む Office Open XML パッケージ 通常の PowerPoint 編集とプレゼンテーションのやり取り
PDF or TIFF 固定レイアウトのページまたは複数ページの画像 閲覧、印刷、アーカイブ
PNG, JPEG, or SVG 個々のスライドのレンダリング表現 サムネイル、プレビュー、画像アセット
HTML or HTML5 Web 向けプレゼンテーション出力 ブラウザでの表示およびウェブ公開

PPT や PPTX とは異なり、XML 出力は主に検査やデータ指向のワークフローを目的としています。PDF、TIFF、HTML、スライド画像形式とは異なり、スライドをページやビジュアル資産としてレンダリングするのではなく、プレゼンテーション データを表現します。 supported file formats テーブルでは PowerPoint XML プレゼンテーションを保存専用形式として一覧に掲載しているため、エクスポートしたファイルを再度 Aspose.Slides に読み込んで編集を続行する必要があるワークフローでは使用しないでください。

よくある質問

SaveFormat::Xml は PPTX ファイルを保存するのと同じですか?
いいえ。PPTX は複数の Office Open XML パーツを含むパッケージですが、SaveFormat::Xml は PowerPoint XML プレゼンテーション ファイルを作成します。

XML 出力をディスクにファイルを作成せずに保存できますか?
はい。書き込み可能なストリームを Presentation::Save に渡します。例えば、インメモリ処理のために MemoryStream を使用します。

Aspose.Slides はエクスポートされた XML ファイルを再度読み込めますか?
いいえ。PowerPoint XML プレゼンテーションは現在保存のみがサポートされており、読み込みはサポートされていません。往復編集が必要な場合は PPTX などのサポートされているプレゼンテーション形式を使用してください。

XML 変換は各スライドをページまたは画像としてレンダリングしますか?
いいえ。XML 変換は構造化されたプレゼンテーション データを書き出します。ページ指向の出力が必要な場合は PDF や TIFF を、個々のスライド画像が必要な場合は PNG、JPEG、SVG を使用してください。