次の方法で共有


XPS ドキュメントを XPS OM に読み取る

ファイルから XPS OM に既存の XPS ドキュメントを読み取る方法について説明します。

XPS ドキュメントから XPS OM を作成するには、IXpsOMObjectFactory::CreatePackageFromFile メソッドを呼び出します。

これらのコード例をプログラムで使用する前に、「一般的な XPS ドキュメント プログラミング タスク」の免責事項をお読みください。

コード例

次のコード例では、「XPS OM の初期化」で説明している初期化が成功したことを前提としています。

    IXpsOMPackage *package = NULL;

    hr = xpsFactory->CreatePackageFromFile(
        xpsDocumentFilename,
        FALSE,
        &package);

    // package now contains a pointer to the IXpsOMPackage
    // object that has been populated with the contents
    // of the XPS document in xpsDocumentFilename.

    // When finished with the package, release the object.
    if (NULL != package) package->Release();

ストリームとして格納されている XPS ドキュメントから XPS OM を作成するには、IXpsOMObjectFactory::CreatePackageFromStream を呼び出します。

解説

XPS パッケージを読み込んだ直後に XPS OM を書き込んだ場合、元のコンテンツの一部が失われたり変更されたりする可能性があります。

このような場合に発生する可能性のある変更の一部を次の表に示します:

ドキュメント機能 アクション
デジタル署名
ドキュメントから削除済み
DiscardControl パーツ
ドキュメントから削除済み
外部ドキュメント パーツ
ドキュメントから削除済み
FixedPage マークアップ
元のファイルから変更
リソース ディクショナリ マークアップ
最適化フラグが設定されている場合は、元のフラグから変更されます

次のステップ

XPS OM 内を移動する

XPS OM にテキストを書き込む

XPS OM でグラフィックスを描画する

XPS OM にイメージを配置する

このセクションで使用

IXpsOMObjectFactory

IXpsOMPackage

詳細情報

XPS OM の初期化

API のパッケージ化

XPS ドキュメント API リファレンス

XML Paper Specification