(57)【要約】【課題】本発明は、フィルタ・パイプライン方式を採用するプリンタドライバに追加されたサードパーティ・ベンダ提供のフィルタ・モジュールの制御を可能にする新規なプリンタドライバを提供することを目的とする。【解決手段】本発明によれば、フィルタ・パイプラインを構築するための標準フィルタおよび拡張フィルタと、印刷設定に関する処理を行うＵＩモジュールとを含むプリンタドライバであって、前記ＵＩモジュールは、アプリケーションからの命令を受け付ける命令処理部と前記拡張フィルタとの間を仲介する拡張フィルタ制御部を含み、前記拡張フィルタ制御部は、前記拡張フィルタからPrintCapabilitiesを取得するとともに、該PrintCapabilitiesに基づいて作成したDevmodeの値およびその保存位置と、PrintTicketのキーワードとを対応付けた変換テーブルを作成するための拡張フィルタ情報管理部を含むプリンタドライバが提供される。【選択図】図１
2012226582.tif 000002
【特許請求の範囲】
【請求項１】
フィルタ・パイプラインを構築するための標準フィルタおよび拡張フィルタと、印刷設定に関する処理を行うＵＩモジュールとを含むプリンタドライバであって、
前記ＵＩモジュールは、
アプリケーションからの命令を受け付ける命令処理部と前記拡張フィルタとの間を仲介する拡張フィルタ制御部を含み、
前記拡張フィルタ制御部は、
前記拡張フィルタから印刷能力情報を取得するとともに、該印刷能力情報に基づいて作成した印刷設定構造体の値およびその保存位置と、印刷設定情報のキーワードとを対応付けた変換テーブルを作成するための拡張フィルタ情報管理部を含む、
プリンタドライバ。
【請求項２】
前記拡張フィルタ情報管理部は、
前記命令処理部がアプリケーションから印刷能力情報取得要求を受領したことに応答して、前記標準フィルタの印刷能力情報に前記拡張フィルタから取得した印刷能力情報をマージしてなる印刷能力情報を該命令処理部に返す、
請求項１に記載のプリンタドライバ。
【請求項３】
前記拡張フィルタ情報管理部は、
前記命令処理部がアプリケーションから印刷設定構造体取得要求を受領したことに応答して、前記変換テーブルを参照し、前記標準フィルタの印刷設定構造体の値に前記拡張フィルタの印刷設定構造体の値を追記して該命令処理部に返す、
請求項１または２に記載のプリンタドライバ。
【請求項４】
前記拡張フィルタ情報管理部は、
前記命令処理部がアプリケーションから印刷設定構造体→印刷設定情報変換要求を受領したことに応答して、受領した印刷設定構造体に保存されている前記拡張フィルタの機能の設定値をキーとして前記変換テーブルを検索し、該機能に対応する印刷設定情報を取得して前記命令処理部に返す、
請求項１〜３のいずれか一項に記載のプリンタドライバ。
【請求項５】
前記拡張フィルタ情報管理部は、
前記命令処理部がアプリケーションから印刷設定情報→印刷設定構造体変換要求を受領したことに応答して、受領した印刷設定情報に記述されている前記拡張フィルタの機能の印刷設定情報キーワードをキーとして前記変換テーブルを検索し、該機能に対応する印刷設定構造体の値とその保存位置を取得して前記命令処理部に返す、
請求項１〜４のいずれか一項に記載のプリンタドライバ。
【請求項６】
前記拡張フィルタ情報管理部は、
前記命令処理部がアプリケーションからＵＩ表示要求を受領したことに応答して、前記拡張フィルタから取得した印刷能力情報に基づいて該拡張フィルタの機能を選択可能に表示するドライバＵＩを生成する、
請求項１〜５のいずれか一項に記載のプリンタドライバ。
【請求項７】
前記拡張フィルタ制御部は、さらに、排他制御依頼部を含み、
前記排他制御依頼部は、前記命令処理部がアプリケーションから印刷設定情報の排他処理要求を受領したことに応答して、前記拡張フィルタに対して該印刷設定情報の排他処理要求を発行する、
請求項１〜６のいずれか一項記載のプリンタドライバ。
【請求項８】
前記拡張フィルタ情報管理部は、
前記拡張フィルタから該拡張フィルタのデフォルト印刷設定情報を取得し、該デフォルト印刷設定情報の設定内容に対応する前記変換テーブル内の値にデフォルトフラグを記載する、
請求項１〜７のいずれか一項に記載のプリンタドライバ。
【請求項９】
前記拡張フィルタ情報管理部は、
前記変換テーブル内の印刷能力情報の最初に出現する選択値をデフォルト値として定義し、該デフォルト値に対応する変換テーブル内の値にデフォルトフラグを記載する、
請求項１〜７のいずれか一項に記載のプリンタドライバ。
【請求項１０】
前記命令処理部は、
前記拡張フィルタに対して制御の可否を問い合わせ、その応答が否であった場合には、前記拡張フィルタ制御部による制御を実行しない、
請求項１〜９のいずれか一項に記載のプリンタドライバ。
【請求項１１】
前記拡張フィルタに対する制御の可否をフィルタ設定ファイルから読み込み、その値が否であった場合には、前記拡張フィルタ制御部による制御を実行しない、
請求項１〜９のいずれか一項に記載のプリンタドライバ。
【請求項１２】
コンピュータを、請求項１〜１１のいずれか一項に記載のプリンタドライバとして機能させるためのコンピュータ実行可能なプログラム。
【請求項１３】
請求項１２に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバに関し、より詳細には、拡張機能を追加可能なプリンタドライバに関する。
【背景技術】
【０００２】
マイクロソフト社のWindows（登録商標）Vista以降のＯＳでは、汎用性の高いXMLをベースにしたXML Paper Specification (XPS)をドキュメントファイル形式として標準サポートしている。この環境では、ドキュメント表示言語、印刷スプーラー形式、およびページ記述言語の全てをXPSに置き換えることができるため、アプリケーションからプリンタに至るまでの印刷パス全体にわたってXPSドキュメント形式が変更されないXPS印刷パスが構築される。その結果、元のドキュメントの品質および忠実性が維持され、ドキュメントをより正確に紙に印刷することが可能になる。
【０００３】
このようなXPS印刷スキーマを構築するためのXPSプリンタドライバは、フィルタ・パイプライン方式を採用しており、サードパーティ・ベンダが独自の機能（フィルタ・モジュール）を追加するための拡張性を備えている（たとえば、特許文献１）。以下、この点について、図５を参照して説明する。
【０００４】
図５（ａ）は、プリンタメーカが提供するXPSプリンタドライバの標準パッケージ６００を示す。標準パッケージ６００は、印刷に関する各種処理を実行する機能モジュールである複数のフィルタ６０２と、ドライバＵＩの生成など、印刷設定に関する処理を実行するＵＩモジュール６０４と、フィルタが適用される順序や各フィルタの入出力形式などを定義するフィルタ設定ファイル６０６と、インストール設定情報などを記述するシステム定義ファイルであるＩＮＦファイル６０８とを含んで構成される。
【０００５】
一方、図５（ｂ）は、サードパーティ・ベンダが提供するXPSプリンタドライバの拡張版パッケージ７００を示す。図５（ｂ）に例示する拡張版パッケージ７００においては、標準パッケージ６００の構成に対して、機能Ａを実現するための拡張フィルタ７０２が加えられている。この場合、サードパーティ・ベンダは、拡張フィルタ７０２に関する新しい定義項目をフィルタ設定ファイル６０６およびＩＮＦファイル６０８に追記することが許容されている。このようにして修正されたフィルタ設定ファイル６０６およびＩＮＦファイル６０８に基づいて拡張版パッケージ７００がコンピュータ上に展開されると、標準フィルタ６０２と拡張フィルタ７０２を含むフィルタ・パイプラインが構築される。
【０００６】
しかしながら、図５（ｂ）のような従来の構成においては、サードパーティ・ベンダによって追加された拡張フィルタ７０２がフィルタ・パイプライン上で常に作動することになり、ユーザは、拡張フィルタ７０２が提供する機能Ａを必要に応じて無効にするといったことができなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、フィルタ・パイプライン方式を採用するプリンタドライバに追加されたサードパーティ・ベンダ提供のフィルタ・モジュールの制御を可能にする新規なプリンタドライバを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明者は、フィルタ・パイプライン方式を採用するプリンタドライバに追加されたサードパーティ・ベンダ提供のフィルタ・モジュールの制御を可能にする新規なプリンタドライバにつき鋭意検討した結果、以下の構成に想到し、本発明に至ったのである。
【０００９】
すなわち、本発明によれば、フィルタ・パイプラインを構築するための標準フィルタおよび拡張フィルタと、印刷設定に関する処理を行うＵＩモジュールとを含むプリンタドライバであって、前記ＵＩモジュールは、アプリケーションからの命令を受け付ける命令処理部と前記拡張フィルタとの間を仲介する拡張フィルタ制御部を含み、前記拡張フィルタ制御部は、前記拡張フィルタからPrintCapabilitiesを取得するとともに、該PrintCapabilitiesに基づいて作成したDevmodeの値およびその保存位置と、PrintTicketのキーワードとを対応付けた変換テーブルを作成するための拡張フィルタ情報管理部を含むプリンタドライバが提供される。
【発明の効果】
【００１０】
上述したように、本発明によれば、フィルタ・パイプライン方式を採用するプリンタドライバに追加されたサードパーティ・ベンダ提供のフィルタ・モジュールの制御を可能にする新規なプリンタドライバが提供される。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のXPSプリンタドライバの機能ブロック図。
【図２】本実施形態における拡張フィルタ制御部が実行する処理を説明するための概念図。
【図３】拡張機能のPrintCapabilitiesおよびDevmode/PrintTicket変換テープルを示す図。
【図４】本実施形態における拡張フィルタ制御部が実行する処理を説明するための概念図。
【図５】プリンタメーカが提供するXPSプリンタドライバの標準パッケージと拡張版パッケージを示す図。
【発明を実施するための形態】
【００１２】
以下、本発明を、フィルタ・パイプライン方式を採用するプリンタドライバとして代表的なXPSプリンタドライバの実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。
【００１３】
図１は、情報処理装置１０００に搭載された本発明の実施形態であるXPSプリンタドライバ１００の機能ブロックを示す。XPSプリンタドライバ１００は、フィルタ・パイプライン方式を採用しており、ドライバＵＩの生成など、印刷設定に関する処理を実行するＵＩモジュール３００と、複数の標準フィルタ６０２と、サードパーティ・ベンダによって追加された拡張フィルタ４００とを含んで構成されている。
【００１４】
ＵＩモジュール３００は、アプリケーション２００からの命令を受け付けるＩＦである命令処理部３２０を含んで構成されており、アプリケーション２００から受領した各種命令をフィルタ・パイプラインを構築する各フィルタ６０２，４００に対して発行する。
【００１５】
各フィルタ６０２，４００は、ＵＩモジュール３００から発行される命令を受け付けるＩＦである命令処理部４２０と、XPSデータ処理部４４０とを含んで構成されている。命令処理部４２０がXPS処理命令を受領すると、XPSデータ処理部４４０は、処理対象となるXPSデータに含まれるPrintTicketをPrintTicket解析部４４２に渡す。PrintTicket解析部４４２は、PrintTicketを読み込んでフィルタがサポートしている機能に対応するキーワードを解析し、フィルタの動作パラメータを決定する。XPSデータ処理部４４０は、決定された動作パラメータに従ってXPSデータを処理する。たとえば、フィルタが集約処理を実行するモジュールであった場合、当該集約フィルタが２ページで構成されたXPSデータを受信すると、XPSデータ処理部４４０がPrintTicketに記載されているNUｐ設定の値に従って、ページデータを編集し、集約されたXPSドキュメントを生成する。
【００１６】
ここまでは、既存のXPSプリンタドライバに共通する構成について説明してきたが、続いて、本実施形態の特徴的な構成について、以下説明する。
【００１７】
本実施形態のXPSプリンタドライバ１００におけるＵＩモジュール３００は、さらに、拡張フィルタ制御部３４０を含んで構成されている。拡張フィルタ制御部３４０は、ＵＩモジュール３００の既存の命令処理部３２０とサードパーティ・ベンダが拡張した拡張フィルタ４００の命令処理部４２０の間を仲介するＡＰＩとして参照することができ、拡張フィルタ情報管理部３４２と、排他制御依頼部３４４とを含んで構成されている。プリンタメーカがこのＡＰＩ（拡張フィルタ制御部３４０）の仕様をサードパーティ・ベンダに公開することによって、サードパーティ・ベンダは当該ＡＰＩに対応する拡張フィルタ４００を設計することができる。具体的には、サードパーティ・ベンダは、公開された仕様に基づき、PrintCapabilities作成部４６０と排他制御部４８０とを拡張フィルタ４００に搭載することによって、ユーザによる制御が可能な態様で拡張機能を提供することができる。以下、上述した各機能部が果たす機能について具体的に説明する。
【００１８】
以下、図２を参照しながら、ＵＩモジュール３００の拡張フィルタ制御部３４０が実行する処理を説明する。拡張フィルタ制御部３４０の拡張フィルタ情報管理部３４２は、適切なタイミング（たとえば、XPSプリンタドライバ１００がＯＳからインストール完了通知を受信したタイミングなど）において、拡張フィルタ４００に対しPrintCapabilities取得要求を発行する。拡張フィルタ４００の命令処理部４２０は、これに応答して、PrintCapabilities作成部４６０に拡張フィルタ４００がサポートしている機能Ａに関するPrintCapabilitiesを作成させる。ここでPrintCapabilitiesとは、XPSプリンタドライバ１００が制御するプリンタの能力を表したＸＭＬドキュメント（印刷能力情報）であり、プリンタの機能およびその選択肢、ＵＩ表示文字列、排他情報などを記述したものである。図３（ａ）は、機能Ａに関するPrintCapabilitiesを例示する。命令処理部４２０は、PrintCapabilities作成部４６０が作成したPrintCapabilitiesを拡張フィルタ情報管理部３４２に返す。
【００１９】
拡張フィルタ情報管理部３４２は、拡張フィルタ４００から取得したPrintCapabilitiesを追加ファイル情報用フォルダ５００に保存する。併せて、拡張フィルタ情報管理部３４２は、当該PrintCapabilitiesに基づいてDevmode（印刷設定構造体）の値とその保存位置を作成し、このDevmodeの値およびその保存位置と、PrintTicketのキーワードとを対応付けた変換テーブルを作成する。図３（ｂ）は、変換テーブルを例示する。拡張フィルタ情報管理部３４２は、生成した変換テーブルを同じく追加ファイル情報用フォルダ５００に保存する。
【００２０】
さらに、好ましい実施形態においては、拡張フィルタ情報管理部３４２は、拡張フィルタ４００からデフォルトPrintTicketを取得する。この場合、拡張フィルタ情報管理部３４２は、拡張フィルタ４００に対しデフォルトPrintTicket取得要求を発行し、拡張フィルタ４００側は、これに対してデフォルトPrintTicket作成部４６２を搭載する。デフォルトPrintTicket作成部４６２は、拡張フィルタ情報管理部３４２からのデフォルトPrintTicket取得要求に応答して、デフォルトPrintTicketを作成する。デフォルトPrintTicketは、XPSプリンタドライバ１００を初期化する際に参照される印刷条件の初期設定（デフォルト値）を記述したＸＭＬドキュメント（印刷設定情報）である。命令処理部４２０は、デフォルトPrintTicket作成部４６２が作成したデフォルトPrintTicketを拡張フィルタ情報管理部３４２に返す。拡張フィルタ情報管理部３４２は、拡張フィルタ４００から取得したデフォルトPrintTicketに記述された設定内容に対応する変換テーブル内の値にデフォルトフラグを記載する。
【００２１】
なお、他の実施形態においては、拡張フィルタ４００に対してデフォルトPrintTicketの作成を求めるのではなく、PrintCapabilities作成部４６０から取得したPrintCapabilitiesの最初に出現する選択値をデフォルト値として定義し、これに対応する変換テーブル内の値にデフォルトフラグを記載する。
【００２２】
次に、図４に基づいて、本実施形態におけるＵＩモジュール３００の拡張フィルタ制御部３４０の果たす機能について、具体的な処理に基づいてより詳細に説明する。図４は、アプリケーション２００とXPSプリンタドライバ１００の間でなされる既存の処理（１）〜（６）を列挙したものである。以下、各ステージにおいて拡張フィルタ制御部３４０が実行する処理を説明する。
【００２３】
（１）PrintCapabilities取得
アプリケーション２００がユーザインタフェース（印刷ダイアログ）を提供するために、XPSプリンタドライバ１００からPrintCapabilitiesを取得する場合について説明する。アプリケーション２００は、XPSプリンタドライバ１００に対してPrintCapabilities取得要求を発行する。これに応答して、ＵＩモジュール３００の命令処理部３２０は、標準フィルタ６０２については従来の手順でPrintCapabilitiesを作成する一方で、拡張フィルタ情報管理部３４２に対してPrintCapabilities取得要求を発行する。これに応答して、拡張フィルタ情報管理部３４２は、追加ファイル情報用フォルダ５００に格納された機能ＡのPrintCapabilitiesを取得して命令処理部３２０に渡す。命令処理部３２０は、従来の手順で作成したPrintCapabilitiesと機能ＡのPrintCapabilitiesをマージしてアプリケーション２００に返す。アプリケーション２００は、マージされたPrintCapabilitiesに基づいて印刷ダイアログを生成する。この印刷ダイアログには機能Ａが選択可能に表示されるので、ユーザは、その他の標準機能と同様に、サードパーティ・ベンダによって提供された機能ＡについてON/OFFを制御したり、その設定値を選択したりすることが可能になる。
【００２４】
（２）Devmode取得
アプリケーション２００がユーザインタフェース（印刷ダイアログ）を生成するために、XPSプリンタドライバ１００からDevmodeを取得する場合、アプリケーション２００は、XPSプリンタドライバ１００に対してDevmode取得要求を発行する。これに応答して、ＵＩモジュール３００の命令処理部３２０は、標準フィルタ６０２については従来の手順でDevmode構造体を作成する一方で、拡張フィルタ情報管理部３４２に対してDevmode取得要求を発行する。これに応答して、拡張フィルタ情報管理部３４２は、追加ファイル情報用フォルダ５００に格納された変換テーブルを参照して機能ＡのDevmodeの値とその保存位置を取得し、これを命令処理部３２０に渡す。命令処理部３２０は、機能ＡのDevmode値を、従来の手順で作成したDevmode構造体の取得した保存位置にセットしてアプリケーション２００に返す。
【００２５】
（３）Devmode→PrintTicket
アプリケーション２００が印刷設定を変更する場合、Devmode構造体を、一旦、編集可能なPrintTicket（ＸＭＬ形式）に変換する必要がある。この場合、アプリケーション２００は、まず、XPSプリンタドライバ１００にDevmodeを渡す。これに応答して、ＵＩモジュール３００の命令処理部３２０は、標準フィルタ６０２については従来の手順でDevmodeをPrintTicketに変換するとともに、拡張フィルタ情報管理部３４２に当該Devmodeを渡す。これに応答して、拡張フィルタ情報管理部３４２は、当該Devmodeに保存されている機能Ａの設定値を取得し、当該設定値をキーとして変換テーブルを検索して、これに対応するPrintTicketキーワードを命令処理部３２０に返す。これに応答して、命令処理部３２０は、従来の手順で変換したPrintTicketに対して拡張フィルタ情報管理部３４２から受領したPrintTicketキーワードを追記し、これをアプリケーション２００に返す。
【００２６】
（４）PrintTicket→Devmode
アプリケーション２００は、印刷設定を変更するために（３）で取得したPrintTicketのXMLを編集し、編集後のPrintTicketをXPSプリンタドライバ１００に渡す。これに応答して、ＵＩモジュール３００の命令処理部３２０は、標準フィルタ６０２については従来の手順で当該編集後のPrintTicketをDevmodeに変換するとともに、当該編集後のPrintTicketを拡張フィルタ情報管理部３４２に渡す。これに応答して、拡張フィルタ情報管理部３４２は、編集後のPrintTicketに記述されている機能ＡのPrintTicketキーワードを取得し、当該PrintTicketキーワードをキーとして変換テーブルを検索して、これに対応するDevmodeの値とその保存位置を命令処理部３２０に返す。これに応答して、命令処理部３２０は、機能ＡのDevmode値を、従来の手順で作成したDevmodeの取得した保存位置にセットしてアプリケーション２００に返す。ただし、アプリケーション２００がWPFアプリケーションである場合は、PrintTicketをそのまま印刷設定として使用することができるので、上述したPrintTicket→Devmodeの再変換は不要となる。
【００２７】
（５）ドライバＵＩ表示
ユーザは、XPSプリンタドライバ１００が提供するユーザインタフェース（以下、ドライバＵＩとして参照する）を呼び出す場合がある。たとえば、ユーザがアプリケーション２００が提供する印刷ダイアログの詳細設定アイコン（あるいは、プロパティアイコン）をクリックすると、当該イベントに応答してアプリケーション２００は、XPSプリンタドライバ１００に対してドライバＵＩ表示命令を発行する。これを受けて、ＵＩモジュール３００の命令処理部３２０は、標準フィルタ６０２については従来の手順でPrintCapabilitiesを作成する一方で、拡張フィルタ情報管理部３４２に対してPrintCapabilities取得命令を発行する。これに応答して、拡張フィルタ情報管理部３４２は、追加ファイル情報用フォルダ５００に格納された機能ＡのPrintCapabilitiesを取得して命令処理部３２０に渡す。命令処理部３２０は、標準フィルタ６０２について作成したPrintCapabilitiesと機能ＡのPrintCapabilitiesをマージしてなるPrintCapabilitiesに基づいてドライバＵＩを生成して表示する。このドライバＵＩには機能Ａが選択可能に表示され、ユーザは、サードパーティ・ベンダによって提供された機能ＡのON/OFFをドライバＵＩを介して制御することが可能になる。ユーザがドライバＵＩ上で印刷条件を選択した後、当該ドライバＵＩが閉じられると、これに応答して、命令処理部３２０は、選択された各フィルタ（拡張フィルタ４００を含む）の機能の設定値に該当するDevmodeの値をDevmode構造体に保存してアプリケーション２００に返す。
【００２８】
（６）排他制御処理
アプリケーション２００が提供する印刷ダイアログを介して印刷条件が設定され、これに対応するPrintTicketがXPSプリンタドライバ１００に送信されると、これを受けて、ＵＩモジュール３００の命令処理部３２０は、標準フィルタ６０２については従来の手順で排他制御処理を行う一方で、排他制御依頼部３４４に対して排他制御処理命令を発行する。これを受けて排他制御依頼部３４４は、拡張フィルタ４００の排他制御部４８０にアプリケーション２００から受領したPrintTicketを渡して排他制御処理を依頼する。排他制御部４８０は、PrintTicketの中から拡張フィルタがサポートしている機能Ａに関する設定値を読み取り、他の設定等との排他をチェックする。排他制御部４８０は、必要に応じてPrintTicketを書き換えた後、これを排他制御依頼部３４４に返す。排他制御依頼部３４４は、戻ってきたPrintTicketを命令処理部３２０に返し、命令処理部３２０は、これをアプリケーション２００に返す。
【００２９】
その他、好ましい実施形態においては、ＵＩモジュール３００の拡張フィルタ制御部３４０は、拡張フィルタ４００に対して、制御の可否を問い合わせるように構成することもできる。この場合、サードパーティ・ベンダは、当該問い合わせに対して「可」または「否」を返すように拡張フィルタ４００を設計する。拡張フィルタ制御部３４０は、拡張フィルタ４００からの応答が「可」であった場合にのみ、図１〜４に基づいて説明した処理を実行し、「否」であった場合には、上述した処理を実行しないように構成する。この場合、自身が提供する拡張機能についてユーザの操作を望まないサードパーティ・ベンダは、当該問い合わせに対して「否」を返すように拡張フィルタ４００を設計することでユーザから拡張機能を隠すことができる。
【００３０】
なお、拡張フィルタ４００に対して制御の可否を問い合わせる上記構成に代えて、制御の可否をフィルタ設定ファイルに予め記述しておくこともできる。この場合、拡張フィルタ制御部３４０がフィルタ設定ファイルから制御の可否についての値を読み込み、当該値が「可」であった場合にのみ、拡張フィルタ４００に対して、図１〜４に基づいて説明した処理を実行し、「否」であった場合には、上述した処理を実行しないように構成することもできる。この場合、自身が提供する拡張機能についてユーザの操作を望まないサードパーティ・ベンダは、フィルタ設定ファイルの制御可否に関する設定値を「否」とすることでユーザから拡張機能を隠すことができる。
【００３１】
以上、説明したように、本発明のXPSプリンタドライバは、標準パッケージに追加された拡張フィルタからPrintCapabilities等を取得するためのインターフェースを備えるため、サードパーティ・ベンダが提供する拡張機能をＵＩ（アプリケーションＵＩあるいはドライバＵＩ）に選択可能に表示することができる。その結果、ユーザは、サードパーティ・ベンダが提供する拡張機能について、その他の標準機能と同様に、ON/OFFを制御したり、その設定値を選択したりすることが可能になる。
【００３２】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではない。その他、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００３３】
上述した実施形態の各機能は、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【符号の説明】
【００３４】
１００…プリンタドライバ
２００…アプリケーション
３００…ＵＩモジュール
３２０…命令処理部
３４０…拡張フィルタ制御部
３４２…拡張フィルタ情報管理部
３４４…排他制御依頼部
４００…拡張フィルタ
４２０…命令処理部
４４０…XPSデータ処理部
４４２…PrintTicket解析部
４６０…PrintCapabilities作成部
４６２…デフォルトPrintTicket作成部
４８０…排他制御部
５００…追加ファイル情報用フォルダ
６００…標準パッケージ
６０２…標準フィルタ
６０４…ＵＩモジュール
６０６…フィルタ設定ファイル
６０８…ＩＮＦファイル
７００…拡張版パッケージ
７０２…拡張フィルタ
１０００…情報処理装置
【先行技術文献】
【特許文献】
【００３５】
【特許文献１】特開２００６−１６４２５３号公報
【図１】
2012226582.tif 000003
【図２】
2012226582.tif 000004
【図３】
2012226582.tif 000005
【図４】
2012226582.tif 000006
【図５】
2012226582.tif 000007