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 マークアップ |
元のファイルから変更 |
リソース ディクショナリ マークアップ |
最適化フラグが設定されている場合は、元のフラグから変更されます |