Share via


PrintTicket スキーマとドキュメントの構築

このトピックは最新ではありません。 最新の情報については、「 印刷スキーマの仕様」を参照してください。

DEVMODE 構造体を使用してデバイス構成情報を指定する現在の方法には、いくつかの制限があります。 まず、DEVMODE 構造体はバイナリ構造であり、異なるバージョンの問題につながる可能性があります。 2 つ目は、存在しないパブリック部分と、ドライバーによってのみアクセスできるプライベート部分に分割され、その後、それを作成した特定のドライバーによってのみアクセスできます。 PrintTicket 形式では、XML ベースの Print Schema Framework を使用して構成情報が表現されるため、DEVMODE 構造体のこれらの欠点が解消されます。

PrintTicket スキーマは、先ほど説明した 2 つの問題のそれぞれに対処します。 まず、PrintTicket スキーマは XML ベースのテキスト ファイルであるため、拡張性とバージョン管理に関する問題は解消されます。 次に、構成情報はすべてのクライアントで使用できます。つまり、すべてのクライアントまたはプロバイダーが PrintTicket に含まれる情報を格納および取得できます。 オプションは、印刷スキーマ フレームワークと派生 PrintCapabilities ドキュメントで使用されるのと同じ手法を使用して説明します。 このため、PrintTicket には、実現するオプション定義モデルの移植性に関する潜在的な利点がすべて用意されています。 詳細については、「 印刷スキーマ フレームワーク 」を参照してください。 このセクションの対象ユーザーには、次のグループが含まれます。

  • PrintTicket/PrintCapabilities プロバイダー インターフェイスの実装者

  • PrintTicket のコンシューマー

  • PrintTicket/PrintCapabilities プロバイダー インターフェイスのクライアント

前の一覧の最初のカテゴリのメンバーは、このセクションの残りの部分で PrintTicket プロバイダーと呼ばれます。 最後の 2 つのカテゴリのメンバーは、PrintTicket コンシューマーと呼ばれます。

印刷スキーマと PrintCapabilities スキーマとの関係

PrintTicket スキーマと PrintCapabilities スキーマはどちらも、印刷スキーマの特殊な部分です。 印刷スキーマのこれらのサブセット間のメイン構造的な違いは、PrintTicket スキーマには、PrintCapabilities スキーマに含まれていない Property インスタンスと ParameterInit インスタンスが含まれているのに対し、PrintCapabilities スキーマには PrintTicket スキーマに含まれていない Property インスタンスと ParameterDef インスタンスが含まれていることです。 これらの違いを除き、PrintCapabilities スキーマと PrintTicket スキーマは、通常、コンテンツ、共有 Feature、Option、ScoredProperty、および Value インスタンスで相互にミラーします。 このような共有コンテンツは常に最新の状態に保つ必要があります。 たとえば、PrintCapabilities スキーマの MediaSize フィーチャーで変更が行われた場合、PrintTicket スキーマでも同じ変更を行う必要があります。

印刷スキーマの仕様