(57)【特許請求の範囲】
【請求項１】
複数のプリンタドライバの各々に対して設定されている機能情報を取得する機能情報取得手段と、
前記機能情報を、前記複数のプリンタドライバの間で共通の共通項目と、少なくとも一部のプリンタドライバに固有の固有項目とに分類して表示する分類手段と、
前記共通項目及び固有項目を含む統合機能情報を生成する生成手段と、
前記統合機能情報をプリンタドライバに受け渡す受渡手段と、
前記統合機能情報に含まれる前記固有項目が、当該統合機能情報が受け渡されたプリンタドライバに対応する固有項目であるか否かを判断し、当該統合機能情報に含まれる前記共通項目と、当該プリンタドライバに対応する固有項目とに基づいて当該プリンタドライバにより印刷コマンドを生成する印刷コマンド生成手段と、
を有することを特徴とする印刷設定処理装置。
【請求項２】
前記共通項目及び固有項目に対する変更指示を受け付ける変更受付手段と、
前記変更指示に基づいて前記統合機能情報に含まれる前記共通項目及び固有項目を変更する変更手段と、
を有することを特徴とする請求項１に記載の印刷設定処理装置。
【請求項３】
前記統合機能情報を記憶する記憶手段を有することを特徴とする請求項１又は２に記載の印刷設定処理装置。
【請求項４】
前記固有項目のうちから前記共通項目に組み込むものを選択する選択手段と、
前記選択手段により選択された固有項目を削除し、前記共通項目に追加する組み込み手段と、
を有することを特徴とする請求項１乃至３のいずれか１項に記載の印刷設定処理装置。
【請求項５】
前記機能情報取得手段が機能情報を取得する対象のプリンタドライバは、情報処理装置にインストールされているプリンタドライバのうちで所定の条件を満たすものであることを特徴とする請求項１乃至４のいずれか１項に記載の印刷設定処理装置。
【請求項６】
複数のプリンタドライバの各々に対して設定されている機能情報を取得する機能情報取得ステップと、
前記機能情報を、前記複数のプリンタドライバの間で共通の共通項目と、少なくとも一部のプリンタドライバに固有の固有項目とに分類して表示する分類ステップと、
前記共通項目及び固有項目を含む統合機能情報を生成する生成ステップと、
前記統合機能情報をプリンタドライバに受け渡す受渡ステップと、
前記統合機能情報に含まれる前記固有項目が、当該統合機能情報が受け渡されたプリンタドライバに対応する固有項目であるか否かを判断し、当該統合機能情報に含まれる前記共通項目と、当該プリンタドライバに対応する固有項目とに基づいて、当該プリンタドライバにより印刷コマンドを生成する印刷コマンド生成ステップと、
を有することを特徴とする印刷設定処理方法。
【請求項７】
前記固有項目のうちから前記共通項目に組み込むものを選択する選択ステップと、
前記選択ステップにより選択された固有項目を削除し、前記共通項目に追加する組み込みステップと、
を有することを特徴とする請求項６に記載の印刷設定処理方法。
【請求項８】
コンピュータに、
複数のプリンタドライバの各々に対して設定されている機能情報を取得する機能情報取得ステップと、
前記機能情報を、前記複数のプリンタドライバの間で共通の共通項目と、少なくとも一部のプリンタドライバに固有の固有項目とに分類して表示する分類ステップと、
前記共通項目及び固有項目を含む統合機能情報を生成する生成ステップと、
前記統合機能情報をプリンタドライバに受け渡す受渡ステップと、
前記統合機能情報に含まれる前記固有項目が、当該統合機能情報が受け渡されたプリンタドライバに対応する固有項目であるか否かを判断し、当該統合機能情報に含まれる前記共通項目と、当該プリンタドライバに対応する固有項目とに基づいて当該プリンタドライバにより印刷コマンドを生成する印刷コマンド生成ステップと、
を実行させることを特徴とするプログラム。
【請求項９】
コンピュータに、
前記固有項目のうちから前記共通項目に組み込むものを選択する選択ステップと、
前記選択ステップにより選択された固有項目を削除し、前記共通項目に追加する組み込みステップと、
を更に実行させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
複数のプリンタドライバの機能情報を取得する機能情報取得手段と、
前記機能情報取得手段により取得された機能情報に基づき、前記複数のプリンタドライバの間で共通の共通項目と、少なくとも一部のプリンタドライバに固有の固有項目とに分類された設定画面を表示する表示手段と、
前記表示手段で表示された設定画面を用いて設定された設定に基づき印刷コマンドをプリンタドライバにより生成する生成手段と、
を有し、
前記生成手段は、前記設定画面を用いて設定された前記固有項目が、前記印刷コマンドを生成するプリンタドライバに対応する固有項目であるか否かを判断し、前記設定画面を用いて設定された前記共通項目と、当該プリンタドライバに対応する固有項目とに基づいて当該プリンタドライバにより印刷コマンドを生成することを特徴とする印刷設定処理装置。
【請求項１１】
前記固有項目のうちから前記共通項目に組み込むものを選択する選択手段と、
前記選択手段により選択された固有項目を削除し、前記共通項目に追加する組み込み手段と、
を有し、
前記表示手段は、前記組み込み手段により固有項目が共通項目に追加されると、当該固有項目を共通項目として設定画面に表示することを特徴とする請求項１０に記載の印刷設定処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ等の情報処理装置における印刷設定に好適な印刷設定処理装置及び印刷設定処理方法等に関する。
【背景技術】
【０００２】
近年、ネットワーク機器が一般に利用され、ネットワーク上に多数の印刷装置が接続され、１台のホストＰＣから様々な機能を有する印刷装置に印刷することが可能となっている。このような環境下では、ユーザは、ホストＰＣにそれぞれの印刷装置に対応するプリンタドライバをインストールしておき、アプリケーションから印刷する際に、適切な印刷装置用のプリンタドライバを用いて印刷処理を行う必要がある。
【０００３】
しかしながら、上述のような環境下では、ユーザにとって、どの印刷装置を使用して印刷したら良いのかという判断、及び、どのような印刷設定を行うと望ましい機能を活用した出力が得られるかという判断が難しくなることがある。
【０００４】
例えば、ステイプル又は製本印刷等を行おうとする場合、どの印刷装置がこのような機能を持っているか、分かりにくいことがある。また、このような機能を持った印刷装置を特定できても、この印刷装置及びそのプリンタドライバの使用頻度が低い場合には、プリンタドライバにおいてどのような印刷設定を行うべきか分かりにくいことがある。
【０００５】
また、アプリケーションからの印刷実行時に、次回の印刷実行を想定して印刷設定の情報を保存しておくこともあるが、その情報がどのプリンタドライバに対応したものなのかが分からなくなることもある。
【０００６】
更に、印刷実行に使用しようとした印刷装置が大量のジョブを処理していたり、故障していたりした場合に他の印刷装置を使用することがあるが、どの印刷装置が代替の印刷装置と適しているか分かりにくいことがある。また、適切な代替の印刷装置を選ぶことができた場合でも、元の印刷装置とは印刷設定の項目が一致していることはほとんどないため、元の印刷装置に対して行った印刷設定を代替の印刷装置にすべて反映させることができないことが多い。
【０００７】
これらの課題を解消するために、従来、印刷設定代替機能を有するアプリケーション及び印刷設定代替機能を有するプリンタドライバ（以下、Genericドライバという）等が提供されている。なお、印刷設定代替機能とは、プリンタドライバの印刷設定画面を使用せず、独自の設定しやすい印刷設定画面を提供したり、好ましい印刷装置に対するプリンタドライバを活用し、独自の設定画面により作り上げた設定を元に印刷を行ったりする。従って、印刷設定代替機能によれば、ユーザにとって好ましい印刷設定が促される。また、これを複数の印刷装置に対しても適用させ、インストールされている印刷装置毎の機能の違いをユーザに整理して伝えたり、その機能の違いの情報を元に、好ましい印刷装置の選択を行わせたりする機能を含むものもある。
【０００８】
また、特定の印刷装置又は特定の印刷設定のみの印刷設定代替を行うアプリケーションも存在する。例えば、印刷データのレイアウト加工処理を行うようなアプリケーションにおいて、レイアウト設定のみを独自の設定画面で編集できるようにし、印刷装置ではレイアウトを行わないようにプリンタドライバの印刷設定を変更するものがある。これも印刷設定代替機能の一種ということができる。
【０００９】
これらの印刷設定代替機能を実現するためには、アプリケーションはプリンタドライバから印刷装置の機能情報及び設定情報等を取得し、印刷設定の内容を編集し、それを持ってプリンタドライバに印刷処理を行わせる必要がある。
【００１０】
このような印刷設定代替機能を実現させる技術として、アプリケーションとプリンタドライバとの間で、図２６に示すような独自Ｉ／Ｆ（Interface）を用いて、機能情報及び設定情報等のやり取りを行うものがある。Microsoft社のオペレーティングシステム（ＯＳ）であるWindows（登録商標）では、ＧＤＩ（Graphics Device Interface）とよばれる印刷システムが存在する。このＧＤＩ印刷システムにおいては、アプリケーション及びプリンタドライバは、DEVMODE構造体とよばれるメモリブロックを用いて印刷設定データのやり取りを行っている。図２４はDEVMODE構造体の全体像を簡略化して示す図である。DEVMODE構造体の特徴は、仕様が公開されているパブリック部４０１と、仕様が公開されないプリンタドライバのみアクセス可能なプライベート部４０２との２つの領域から構成されることにある。DEVMODE構造体のパブリック部４０１は、用紙のサイズ、用紙の向き及び解像度等のごく基本機能を記述するのみで、大部分を占める残りの機能はプライベート部４０２に記述される。図２５は、パブリック部４０１を具体的に示す図である。図２５に示すように、DEVMODE構造体はMicrosoft社によってＣ言語のヘッダファイルで厳密に規定されている。一方、プリンタドライバを開発する各社が独自に定義するプライベート部４０２は、このようなパブリック部４０１の直後に続き、その拡張サイズはdmDriverExtraで指定される。
【００１１】
一般に、アプリケーションからプリンタドライバの設定を取得したり変更したりできる項目は、このパブリック部４０１に規定された項目だけである。印刷装置の大部分の機能が記述されるプライベート部４０２には、アプリケーションからは直接アクセスできない。更に、ＧＤＩ印刷システムにおいては、アプリケーションが印刷装置の機能情報を取得するために、DeviceCapabilities APIが用意されている。アプリケーションは、DeviceCapabilities APIを用いて、印刷装置のサポート用紙サイズ情報及び両面印刷能力情報等を取得し、アプリケーションの印刷画面を構築する。但し、DeviceCapabilities APIでは、Windowsシステムで定義された特定の機能の情報は取得できるが、それ以外の機能情報が取得できないという欠点がある。
【００１２】
図２６に示す独自Ｉ／Ｆを用いる技術では、DEVMODEパブリック部４０１は、アプリケーションプログラム１１２の印刷設定処理部２０５によりDEVMODE経由でプリンタドライバ１１４のユーザインタフェース処理部２０８から取得される。そして、編集後に、DEVMODE経由でプリンタドライバ１１４に渡される。一方、DEVMODEプライベート部４０２に関しては、ドライバＳＤＫ処理部６０３が、アプリケーションプログラム１１２の独自Ｉ／Ｆ処理部６０２から、独自Ｉ／Ｆ６０１を用いてDEVMODEプライベート部４０２に関する項目の情報取得及び編集を依頼される。そして、ドライバＳＤＫ処理部６０３が、DEVMODEプライベート部４０２を編集し、その後にユーザインタフェース処理部２０８にDEVMODEプライベート部４０２を渡す。同様に、DeviceCapabilities APIでは取得できないような機能情報に関しても、独自Ｉ／Ｆを用いてアプリケーションはプリンタドライバから情報を取得する。なお、アプリケーション及びプリンタドライバは事前に独自Ｉ／Ｆの仕様をお互いに取り決めておく必要があり、そうではないアプリケーションとプリンタドライバとの間では、十分な情報のやり取りを行うことはできない。
【００１３】
また、ＸＭＬ（Extensible Markup Language）等のテキストベースのファイルを用いて、アプリケーション及びプリンタドライバ間で機能情報及び設定情報のやり取りを行う技術もある。この技術では、バイナリのメモリブロックでやり取りを行うDEVMODEとは異なり、アプリケーションは自身が理解できるＸＭＬのキーのみ取得及び編集が可能であるので、把握できる項目が増える。
【００１４】
また、Microsoft社のオペレーティングシステムであるWindows Vista（商標）においては、従来のＧＤＩベースの印刷システムに加え、ＸＰＳ（XML Paper Specification）ベースの新しい印刷システムが導入されている（非特許文献１）。ＸＰＳとは、電子文書フォーマットの一種であり、文書構造、描画情報及び印刷設定等の情報を保持するＸＭＬ、並びにビットマップ及びフォント等のバイナリリソース等の様々な要素から構成される。そして、この中でプリンタドライバの印刷設定が格納されているＸＭＬファイルはプリントチケットとよばれている。そして、このプリントチケットには、「ＸＭＬで記述され、仕様はオープンである」、「テキストなので可読性がある」、及び「プリンタドライバ以外にアプリケーション等も自由にアクセス可能である」という特徴がある。従って、DEVMODEに比べて大きく機能拡張されているといえる。
【００１５】
図２７はプリントチケットの一例を示す図である。一つのPrintTicketタグ７０１内に、機能を示すFeatureタグ７０２が複数存在する。更に、Featureタグ７０２の中に存在するOptionタグ７０３が現在のFeatureで示される機能の設定値となる。
【００１６】
また、ＸＰＳ印刷システムにおいては、アプリケーションが印刷装置の機能情報を取得するために、PrintCapabilitiesとよばれるＸＭＬ形式の印刷装置機能情報取得の仕組みが導入されている。図２８は、プリンタドライバがアプリケーションに返すPrintCapabilitiesの一例を示す図である。一つのPrintCapabilitiesタグ８０１内に、機能を示すFeatureタグ８０２が複数存在する。更に、Featureタグ８０２内の複数のOptionタグ８０３が機能の設定値の候補になる。PrintCapabilitiesでは印刷装置でサポートしている機能及びそれらの設定項目のすべてが列挙される。アプリケーションは、このPrintCapabilitiesを元に各機能の設定を選択し、印刷設定としてプリントチケットを作成できる。
【００１７】
図２９に示すように、ＸＭＬ等のテキストベースのファイルを用いる技術では、プリンタドライバ１１４の各機能の設定値は、プリントチケット９０１で渡される。また、PrintCapabilities９０２によって、印刷装置の各機能及び設定値の候補を取得することができる。これらプリントチケット９０１及びPrintCapabilities９０２は、機能を示すFeature、並びに設定値及びその候補を示すOptionがテキストで記述されている。このため、アプリケーションプログラム１１２の印刷設定処理部２０５は、プリントチケット９０１及びPrintCapabilities９０２の内で、自身が把握できるFeature（機能）を検索し、Option（設定値）を取得したり、修正したりすることができる。このとき、印刷設定処理部２０５のＸＭＬ解析部９０３が解析を行う。
【００１８】
従来、これらの技術を用いて、アプリケーション及びGenericドライバは、プリンタドライバからの機能情報所得及び機能設定等を行ったり、ユーザが理解しやすいような印刷設定画面を構築したりしている。そして、複数の印刷装置が使用可能な環境下であっても、印刷設定代替機能によって、印刷装置の選択を容易にしようとしたり、機能の設定を容易にしようとしたりしている（特許文献１及び特許文献２）。
【００１９】
【特許文献１】特開平１１−１４３６６４号公報
【特許文献２】特開２００３−１６２３８８号公報
【非特許文献１】XPSベースの新しい印刷システム  （http://www.microsoft.com/japan/whdc/device/print/default.mspx）
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、複数の印刷装置が使用可能な環境下において、印刷設定代替機能を用いることにより、印刷装置の選択及びその機能の設定が容易になっても、それだけでは複数の印刷装置を十分に活用することができないことがある。
【００２１】
即ち、アプリケーションの印刷設定代替機能がプリンタドライバから取得できる印刷設定情報、及び編集後にプリンタドライバに設定される印刷設定情報は、そのプリンタドライバだけに適用できるものである。このため、印刷装置を切り替えて印刷を行う場合には、再度印刷設定代替機能を用いて印刷装置を選択し直す必要があり、また、他のプリンタドライバを用いた印刷設定をやり直す必要もある。例えば、印刷設定代替機能を用いて、複数の印刷装置から所望の印刷装置を選択し、その印刷装置用のプリンタドライバに印刷設定情報を伝え、印刷しようとした場合に、その印刷装置で印刷を実行できないことがある。つまり、故障していたり、紙詰まりしていたり、既に大量の印刷が開始されていたりすることがある。このような場合に他の印刷装置を用いて印刷を行おうとすると、再度、印刷設定代替機能を用いて、複数の印刷装置から所望の印刷装置を選択し、その印刷装置用のプリンタドライバに印刷設定情報を伝えなければならない。
【００２２】
また、ある特定の印刷装置に対し、アプリケーションでの印刷設定代替機能で作成した印刷設定情報を保存しておいて永続的にその設定を活用しようとしても、その印刷装置を交換した場合等には、その保存情報は使用できなくなる。このため、再度、他の印刷装置に対する印刷設定を行う必要がある。
【００２３】
更に、ＸＰＳ等の印刷データ及び印刷設定情報が一つの文書ファイルとして保存されていて、その文書ファイルを印刷装置に直接渡すダイレクト印刷を行う場合、印刷設定代替機能で特定の印刷装置に適した印刷設定を行っても、ダイレクト印刷の際に、適切な印刷装置をユーザが選択するとは限らない。
【００２４】
本発明は、複数のプリンタドライバに対する設定が可能な環境下において、これらの設定の操作を容易に行うことができる印刷設定処理装置及び印刷設定処理方法等を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本願発明者は、前記課題を解決すべく鋭意検討を重ねた結果、以下に示す発明の諸態様に想到した。
【００２６】
本発明に係る印刷設定処理措置は、複数のプリンタドライバの各々に対して設定されている機能情報を取得する機能情報取得手段と、前記機能情報を、前記複数のプリンタドライバの間で共通の共通項目と、少なくとも一部のプリンタドライバに固有の固有項目とに分類して表示する分類手段と、前記共通項目及び固有項目を含む統合機能情報を生成する生成手段と、前記統合機能情報をプリンタドライバに受け渡す受渡手段と、前記統合機能情報に含まれる前記固有項目が、当該統合機能情報が受け渡されたプリンタドライバに対応する固有項目であるか否かを判断し、当該統合機能情報に含まれる前記共通項目と、当該プリンタドライバに対応する固有項目とに基づいて当該プリンタドライバにより印刷コマンドを生成する印刷コマンド生成手段と、を有することを特徴とする。
【００２７】
本発明に係る印刷設定処理方法は、複数のプリンタドライバの各々に対して設定されている機能情報を取得する機能情報取得ステップと、前記機能情報を、前記複数のプリンタドライバの間で共通の共通項目と、少なくとも一部のプリンタドライバに固有の固有項目とに分類して表示する分類ステップと、前記共通項目及び固有項目を含む統合機能情報を生成する生成ステップと、前記統合機能情報をプリンタドライバに受け渡す受渡ステップと、前記統合機能情報に含まれる前記固有項目が、当該統合機能情報が受け渡されたプリンタドライバに対応する固有項目であるか否かを判断し、当該統合機能情報に含まれる前記共通項目と、当該プリンタドライバに対応する固有項目とに基づいて、当該プリンタドライバにより印刷コマンドを生成する印刷コマンド生成ステップと、を有することを特徴とする。
【発明の効果】
【００２８】
本発明によれば、複数のプリンタドライバに対する設定が可能な環境下において、これらの設定の操作を容易に行うことができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施形態について添付の図面を参照して具体的に説明する。
【００３０】
（第１の実施形態）
先ず、第１の実施形態について説明する。図１は、本発明の第１の実施形態に係る印刷設定処理装置の構成を示すブロック図である。
【００３１】
この印刷設定処理装置には、例えば一般的なパーソナルコンピュータ（情報処理装置）が含まれている。即ち、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、入力インタフェース（Ｉ／Ｆ）１０４、記憶装置１０５、出力インタフェース（Ｉ／Ｆ）１０６及びシステムバス１０７が設けられている。また、入力Ｉ／Ｆ１０４にキーボード１０８及びポインティングデバイス１０９が接続され、出力Ｉ／Ｆ１０６にモニタ１１０及び印刷装置１１１が接続されている。記憶装置１０５には、アプリケーションプログラム１１２、印刷関連プログラム１１３、プリンタドライバ１１４及びオペレーティングシステム（ＯＳ）１１５が記憶されている。
【００３２】
システムバス１０７は、これに接続された各部の間でのデータのやり取りに用いられる。ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３又は記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０３は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。キーボード１０８及びポインティングデバイス１０９は入力機器として、入力Ｉ／Ｆ１０４を介して、ユーザからの指示をＣＰＵ１０１に伝達する。出力Ｉ／Ｆ１０６は、モニタ１１０又は印刷装置１１１に対してデータを出力する。
【００３３】
なお、図１では、印刷装置１１１が１個だけ出力I／Ｆ１０６に接続されているが、本実施形態では、図示しないが、複数の印刷装置１１１が接続されている。また、各印刷装置１１１に対応してプリンタドライバ１１４も複数設けられている。
【００３４】
次に、図２を参照しながら、第１の実施形態における印刷処理の概要について説明する。
【００３５】
ユーザは、キーボード１０８又はポインティングデバイス１０９等を使用して、アプリケーションプログラム１１２を使用して作成し、モニタ１１０に映し出された文書データ２０１の印刷処理指示を入力する。そして、印刷処理は、主に、印刷装置の選択、印刷設定情報の作成、及び描画データの変換の３つの処理をＣＰＵ１０１が順番に行うことで実行される。以下に、この３つの処理について説明するが、ここでは、アプリケーションプログラム１１２及びＯＳ１１５を動作主体として説明する。
【００３６】
先ず、ＯＳ１１５が、ユーザからの指示に基づいて、印刷を実行する印刷装置１１１に対応するプリンタドライバ１１４を選択する。
【００３７】
次に、プリンタドライバ１１４のユーザインタフェース処理部２０８が、文書データ２０１の印刷設定情報２０４の初期値を作成し、その変更に関する指示を取得する。そして、アプリケーションプログラム１１２の印刷設定処理部２０５が、ユーザの指示に沿って印刷設定情報２０４を変更して設定する。例えば、用紙を「Ａ５」に変更したり、印刷形態を両面印刷に変更したりする。なお、印刷設定情報２０４のデータ形式には２種類があり、１つはDEVMODEとよばれるバイナリデータ形式のデータ構造体であり（図２４）、もう１つはプリントチケットとよばれるタグを用いたマークアップ言語ＸＭＬ形式のテキストデータである（図２７）。これら印刷形態はプリンタドライバ１１４及びＯＳ１１５の仕様によって異なる。
【００３８】
印刷設定情報２０４の設定後に、ユーザからの印刷実行の指示が入力されると、アプリケーションプログラム１１２がＯＳ１１５に印刷実行の指示を通知する。ＯＳ１１５がこの通知を受けると、ＯＳ１１５のグラフィックスエンジン２０７が、指定されたプリンタドライバ１１４への描画を行う。印刷設定情報２０４でレイアウト処理が指定されている場合は、プリンタドライバ１１４への描画の前に、一時的なスプールファイル２１２を作成し、レイアウトモジュール２１１を起動する。レイアウト処理には、用紙の順番を入れ替える処理、及び一枚の用紙に複数ページを貼り付ける処理等が含まれる。レイアウトモジュール２１１は、レイアウトを変更した後、プリンタドライバ１１４への描画を行う。描画データが送られてきたプリンタドライバ１１４は、描画データ処理部２０９によって、印刷装置１１１が理解できるデータ言語、即ちプリンタ制御言語に描画データを変換する。このとき、印刷設定情報２０４も、プリンタ制御言語として変換される。ユーザインタフェース処理部２０８及び描画データ処理部２０９はいずれも複数の種類の印刷装置１１１に対して共通であり、印刷装置１１１毎の相違点はプリンタドライバ１１４内の機種依存データファイル２１０に記述されている。そして、ユーザインタフェース処理部２０８及び描画データ処理部２０９は、適宜、この機種依存データファイル２１０を参照する。変換されたデータはスプールファイル２１２として逐次保存され、すべての描画が完了すると、ＯＳ１１５のプリントマネージャ２１３がスプールファイル２１２を取得し、印刷ジョブファイルとして保持し、印刷処理のスケジュール管理を行う。そして、印刷装置１１１が印刷可能な状態になると、プリントマネージャ２１３は入出力（Ｉ／Ｏ）モジュール２１４を介して印刷装置１１１に印刷ジョブデータを送信する。このようにして、アプリケーションプログラム１１２からの印刷データがプリンタ言語に変換され、その印刷が行われる。
【００３９】
ここで、本実施形態との比較のために、一般的な印刷設定代替機能の仕組みについて説明する。図３は、一般的な印刷設定代替機能の仕組みを示す図である。
【００４０】
ユーザが印刷設定を行う場合、通常はプリンタドライバＡ１１４のユーザインタフェース処理部２０８が提供するユーザインタフェースが用いられる。しかしながら、アプリケーションプログラム１１２がプリンタドライバＡ１１４のユーザインタフェースではなく、独自のユーザインタフェース３０５を用いて、一部又は全部の印刷設定をユーザに行わせる場合に印刷設定代替機能に基づく処理が行われる。
【００４１】
即ち、印刷設定代替機能処理部３０１は印刷設定処理部２０５の一部を構成し、プリンタドライバ１１４からPrintCapabilities（図２８及び図２９）又はDeviceCapabilities API若しくは独自Ｉ／Ｆ６０１（図２６）によって、プリンタドライバ設定可能値３０２を取得する。そして、印刷設定代替機能処理部３０１は、このプリンタドライバ設定可能値３０２に基づいて、独自のユーザインタフェース３０５を作成し、表示する。この時、インタフェースの名称には、事前に用意していたものを用いることができ、また、PrintCapabilitiesを用いる場合は、PrintCapabilities内の機能を示すFeature又は設定値を表すOptionに記載されている文字列を用いることもできる。また、配置に関し、事前に用意しておいたテンプレート等を用いてもよい。更に、PrintCapabilitiesを用いる場合は、機能を示すFeature毎に箇条書きすることも可能である。
【００４２】
アプリケーションプログラム１１２が独自のユーザインタフェース３０５を表示した後にユーザ３０６がその値を編集すると、その結果が印刷設定代替機能処理部３０１に伝えられる。そして、その結果をに基づいて印刷設定代替機能処理部３０１が設定代替機能による設定値を作成し、プリンタドライバＡ１１４に伝える。この時、Devmode（図２４）、独自Ｉ／Ｆ６０１（図２６）、又はPrintTicket（図２７）が用いられる。
【００４３】
印刷設定代替機能処理部３０１は、一つのプリンタドライバＡ１１４だけに対して動作するのではなく、他のプリンタドライバＢ３０７も含めて印刷設定の代替を行うこともできる。その場合、プリンタドライバＢ３０７からもプリンタドライバ設定可能値を取得する。そして、例えば、独自共通設定ユーザインタフェース３０８、プリンタドライバＡ独自設定ユーザインタフェース３０９又はプリンタドライバＢ独自設定ユーザインタフェース３１０を表示する。この場合、代替機能でのプリンタドライバ設定可能値は、プリンタドライバに渡される際には、印刷設定代替機能処理部３０１が該プリンタドライバに応じて、該プリンタドライバ専用の印刷設定を作成する。このようにして、一般的な印刷設定代替機能が発揮されている。
【００４４】
これに対し、本実施形態では、以下のような仕組みにより印刷設定代替機能が実現される。図４は、本発明の第１の実施形態における印刷設定代替機能の仕組みを示す図である。
【００４５】
第１の実施形態では、印刷設定代替機能処理部３０１のプリンタドライバ抽出処理部１００１が、印刷設定代替機能処理を行う対象となるプリンタドライバを抽出する。このとき、プリンタドライバ抽出処理部１００１がコンピュータのＯＳ１１５にインストールされている全てのプリンタドライバ１１４を抽出してもよいが、それらのうちの一部のみを抽出してもよい。例えば、印刷装置用ではないもの、及び特定のベンダ用ではないもの等を、抽出しなくてもよい。つまり、所定の条件を満たすもののみを抽出してもよい。代替対象としない例としては、他のアプリケーションプログラム等で用いられるTiff Bitmap若しくはＸＰＳ等の文書を出力するドライバ、及びファクシミリの送信を行うＦａｘドライバ等が挙げられる。なお、印刷設定代替機能処理の対象の特定は、例えば、出力先又はプリンタドライバの名称に応じて自動的に行ってもよく、また、ユーザに選択させてもよい。また、他の基準に基づいてもよい。
【００４６】
印刷設定代替機能処理の対象となるプリンタドライバが抽出されると、ドライバ機能取得部１００２が機能情報取得手段として、抽出された各プリンタドライバの印刷設定可能値を機能情報として取得する。第１の実施形態では、例えば、図２８に示すPrintCapabilitiesを用いて取得する。そして、ドライバ機能取得部１００２は、取得したPrintCapabilitiesをＸＭＬファイルとして保存し、各プリンタドライバの印刷設定可能値を保存する。保存された各プリンタドライバの印刷設定可能値に対して、ドライバ機能対応ユーザインタフェース（ＵＩ）生成部１００３が独自のユーザインタフェースを生成し、このユーザインタフェースはＵＩ表示部１００５によってユーザに向けて表示される。この独自のユーザインタフェースの詳細については後述する。ユーザがこのユーザインタフェースを設定変更部１００６として用いて印刷設定を行うと、最小公倍数印刷設定生成部１００４が、最小公倍数印刷設定情報を生成する。つまり、設定変更部１００６は変更受付手段として機能し、ユーザ等からの変更指示を受け付ける。また、既に最小公倍数印刷設定情報が生成されている場合には、変更手段として、当該最小公倍数印刷設定情報を新たなものに変更する。そして、印刷の際に最小公倍数印刷設定情報が印刷設定情報として用いられ、描画データ処理部２０６により生成される描画データが印刷される。なお、最小公倍数設定情報の詳細については後述する。
【００４７】
このようなプリンタドライバ抽出処理部１００１及びドライバ機能取得部１００２の処理は、図５に示すフローチャートで表わされる。この処理は、例えば、アプリケーションプログラム１１２のインストール時、ユーザから印刷設定のためのユーザインタフェース（ＵＩ）の表示の指示があった場合、及びこのＵＩの更新の指示があった場合等に開始される。
【００４８】
この処理では、先ず、プリンタドライバ抽出処理部１００１が、そのコンピュータにインストールされているプリンタドライバを抽出する（ステップＳ２００１）。次に、ドライバ機能取得部１００２が、抽出されたプリンタドライバからPrintCapabilities、DeviceCapabilities API又は独自Ｉ／Ｆを用いて、印刷設定可能値を取得する（ステップＳ２００２）。ステップＳ２００１〜Ｓ２００２の処理は、プリンタドライバ抽出処理部１００１で抽出された全てのプリンタドライバから印刷設定可能値が取得されるまで繰り返される（ステップＳ２００３）。そして、全てのプリンタドライバから印刷設定可能値が取得されると、この処理が終了する。
【００４９】
次に、第１の実施形態における印刷設定代替機能処理の概要について説明する。図６は、印刷設定代替機能処理部３０１の動作及び印刷処理の流れを示す図である。
【００５０】
ドライバ機能取得部１００２が各プリンタドライバから取得した設定可能値は、ドライバ機能対応ＵＩ生成部１００３により共通機能分類情報１１０２に変換される。共通機能分類情報１１０２の詳細については後述する。その後、ドライバ機能対応ＵＩ生成部１００３が、共通機能分類情報１１０２から、各種プリンタドライバの設定が統合された代替ＵＩ１１０１を作成し、これをＵＩ表示部１００５が表示する。そして、この代替ＵＩ１１０１に対して、ユーザによる設定の確定が行われたり、ユーザからの印刷指示を受けたりする。ユーザからの印刷設定の確定が行われたり、印刷指示を受けたりすると、最小公倍数印刷設定生成部１００４が、代替ＵＩ１１０１への設定状況に基づいて、最小公倍数印刷設定値１１０３を生成する。更に、ユーザから印刷指示を受けている場合は、最小公倍数印刷設定生成部１００４が、最小公倍数印刷設定値１１０３及び印刷指示を、描画データ処理部２０６に渡す。そして、描画データ処理部２０６が、印刷対象の描画データをプリンタドライバ１１４に送ると共に、受渡手段として最小公倍数印刷設定値１１０３を受け渡し、プリンタドライバ１１４を用いた印刷処理が行われる。最小公倍数印刷設定値１１０３の詳細については後述する。
【００５１】
ここで、ドライバ機能対応ＵＩ生成部１００３の詳細について説明する。図７は、ドライバ機能対応ＵＩ生成部１００３の構成及び処理を示す図である。第１の実施形態においては、ドライバ機能対応ＵＩ生成部１００３は、機能分類処理部１２０２及び分類ＵＩ生成部１２０３を含む。
【００５２】
機能分類処理部１２０２は、各プリンタドライバから取得した設定可能値１２０１を共通機能分類情報１１０２に変換する。このとき、機能分類処理部１２０２は、各プリンタドライバから取得した設定可能値１２０１から、プリンタドライバ間で共通のFeature（機能）及びOption（選択値）を取り出し、共通設定項目及び各ドライバの依存設定項目に分類する。
【００５３】
このような機能分類処理部１２０２の処理は、図８に示すフローチャートで表わされる。この処理は、例えば、代替ＵＩ１１０１の表示の指示が入力されると開始される。また、アプリケーションプログラム１１２のインストール時及び代替ＵＩ１１０１の更新指示等があった場合に、図５に示す処理に続いて行われてもよい。また、代替ＵＩ１１０１の表示に際して際も、最初の一回目以外であれば省略してもよい。特に、インストールされているプリンタドライバが変更されていない場合は省略することにより、高速な処理が可能となる。
【００５４】
この処理では、先ず、機能分類処理部１２０２が、ドライバ機能取得部１００２により取得された代替設定の対象となるドライバの全設定可能情報（設定可能値）を取得する（ステップＳ２１０１）。次に、その中のある一つのドライバの設定可能情報を選択する（ステップＳ２１０２）。次いで、その設定可能情報からFeature等の機能を示す機能キーを一つ選択し（ステップＳ２１０３）、他のドライバの設定可能情報にも該当する機能キーが存在するか判断する（ステップＳ２１０４）。該当する機能キーが他のドライバに存在しない場合（ステップＳ２１０４）は、機能キー及びOption等で表される選択可能値を、予め用意してある該ドライバ用の依存設定項目に格納する（ステップＳ２１０５）。
【００５５】
一方、該当する機能キーが他のドライバにも存在する場合（ステップＳ２１０４）は、その機能キーに対する選択可能値を抽出する（ステップＳ２１０６）。そして、その選択可能値が全て、他のドライバにも存在するか判断する（ステップＳ２１０７）。全ての選択可能値が他のドライバにも存在する場合（ステップＳ２１０７）は、該当する機能キー及び選択可能値を、予め用意してある共通設定項目に格納する（ステップＳ２１０８）。そして、共通設定項目に格納した機能キー及び選択可能値を全てのドライバの設定可能情報から削除する（ステップＳ２１０９）。
【００５６】
一方、選択可能値のうちに、一つでも他のドライバに存在しないものがある場合（ステップＳ２１０７）、他のドライバの該当する機能キーに存在する選択値を抽出する（ステップＳ２１１０）。次いで、存在する選択可能値及び機能キーを共通設定項目に格納する（ステップＳ２１１１）。そして、共通設定項目に格納した選択可能値を全てのドライバの設定可能情報から削除する（ステップＳ２１１２）。その後、該当する機能キーに対し、削除されていない選択可能値及び機能キーを該当するドライバ用依存設定項目に格納する（ステップＳ２１１３）。続いて、選択可能値として、新たに「共通設定項目使用」を追加し、該当するドライバ用依存設定項目に格納する（ステップＳ２１１４）。
【００５７】
ステップＳ２１０３〜Ｓ２１１４の処理は、あるドライバの選択可能情報の全ての機能キーに対して行われるまで繰り返される（ステップＳ２１１５）。また、ステップＳ２１０３〜Ｓ２１１５の処理は、全てのドライバの設定可能値情報に対して行われるまで繰り返される（ステップＳ２１１６）。そして、全てのドライバの設定可能値情報に対する処理が行われると、この処理が終了する。
【００５８】
分類ＵＩ生成部１２０３は、共通機能分類情報１１０２から、各種プリンタドライバの設定が統合された代替ＵＩ１１０１を生成する。この時、共通機能分類情報１１０２の共通設定項目及び依存設定項目に応じてそれぞれ独立したＵＩのシートを生成する。
【００５９】
このような分類ＵＩ生成部１２０３の処理は、図９に示すフローチャートで表わされる。この処理は、例えば、代替ＵＩ１１０１の表示の際に開始される。
【００６０】
この処理では、先ず、ユーザから代替ＵＩ１１０１を表示する旨の指示を印刷設定代替機能処理部３０１が受けると、分類ＵＩ生成部１２０３が呼び出され（ステップＳ２２０１）、分類ＵＩ生成部１２０３が共通設定項目を取得する（ステップＳ２２０２）。次に、共通設定項目に基づいて共通設定シートを作成する（ステップＳ２２０３）。次いで、依存設定項目を取得し（ステップＳ２２０４）、機種固有設定シートを作成する（ステップＳ２２０５）。
【００６１】
ステップＳ２２０４〜Ｓ２２０５の処理は、代替ＵＩ１１０１の対象となるプリンタドライバの全ての依存設定項目に対する機種固有設定シートが作成されるまで繰り返される（ステップＳ２２０６）。全ての依存設定項目に対する機種固有設定シートが作成されると、共通設定シートと機種固有設定シートを合成して一つのユーザインタフェース画面を作成する（ステップＳ２２０７）。そして、作成された代替印刷設定のＵＩを代替ＵＩ１１０１として表示する（ステップＳ２２０８）。このようにして、分類ＵＩ生成部１２０３の処理が終了する。
【００６２】
図１０に、設定可能値１２０１からの共通機能分類情報１１０２への変換の一例を示す。また、図１１に、共通設定項目のＵＩのシートの作成方法の一例を示し、図１２に、依存設定項目のＵＩのシートの作成方法の一例を示す。
【００６３】
図１０に示すように、機能分類処理部１２０２は、プリンタドライバＡ及びプリンタドライバＢの設定可能値としてPrintCapabilities（図２８）を用い、これに基づいて共通機能分類情報１１０２を作成する。機能を示すFeature及びこれに対するOptionが存在するが、それらは、共通設定項目又はプリンタに固有の依存設定項目のいずれかに分類され、それぞれＸＭＬファイルとして個別に格納される。
【００６４】
即ち、機能分類処理部１２０２は、Featureに関して同じものがプリンタドライバＡ及びプリンタドライバＢに存在する場合、そのFeatureを共通設定項目に格納する。例えば、「解像度」、「印刷方式」、「ページサイズ」及び「レイアウト」のFeature nameが共通しているので、共通設定項目に格納される。
【００６５】
また、共通設定項目に格納したFeatureに対するOptionが同じものも共通設定項目に格納される。ここでは、Feature nameが「解像度」の項目における「600dpi」及び「1200dpi」等が該当する。また、Feature nameが「レイアウト」の項目のように、OptionがプリンタドライバＡとプリンタドライバＢとの間で相違する場合は、同じOptionのみを共通設定項目に格納する。
【００６６】
機能分類処理部１２０２は、個別のプリンタドライバにのみ存在するFeatureについては、プリンタドライバ毎に作成する依存設定項目に格納する。例えば、「印刷の向きを180度回転する」、「印字領域を広げて印刷する」及び「縁なし印刷をする」等のFeature nameが各プリンタドライバに固有なものなので、依存設定項目に格納される。
【００６７】
また、＜プリンタＡ固有項目＞の「レイアウト」のように、一部のOptionを共通設定項目に格納した場合は、Feature及び共通設定項目に格納できなかったOptionを依存設定項目にも格納すると共に、新たなOptionとして「共通設定使用」を追加する。この「共通設定使用」というOptionは、このOptionが設定として選択されている場合は、共通設定項目内のOptionを有効とすることを意味する。
【００６８】
第１の実施形態では、このようにして、プリンタドライバの設定可能値１２０１が、共通機能分類情報の共通設定項目と依存設定項目とに分類される。
【００６９】
なお、ここでは、共通設定項目及び依存設定項目がＸＭＬファイルとなっているが、タグを元に分類した一つのＸＭＬファイルとしても、バイナリファイルとしても分類方法及び順番が変わるだけであるので、これらを採用してもよい。
【００７０】
また、共通設定項目のＵＩのシートの作成に当たっては、図１１に示すように、分類ＵＩ生成部１２０３が、共通機能分類情報１１０２の共通設定項目から、共通設定シートを作成する。この例では、各設定項目の配置等に関しては、事前に用意したルールに基づいてFeatureと位置等を関連付けているが、Feature名及びOption名等を羅列して並べてもよい。特に、事前に用意したルールに該当しないFeatureに対しては、羅列して並べることになる。
【００７１】
また、依存設定項目（印刷装置固有設定項目）のＵＩのシートの作成に当たっては、図１２に示すように、分類ＵＩ生成部１２０３が、共通機能分類情報の依存設定項目から、プリンタ固有通設定シートを作成する。図１２に示すように、機能分類処理部１２０２により追加された「共通設定使用」も選択項目の一つとして表示される。
【００７２】
ここで、最小公倍数印刷設定生成部１００４の詳細について説明する。図１３は、最小公倍数印刷設定生成部１００４の構成及び処理を示す図である。第１の実施形態においては、最小公倍数印刷設定生成部１００４は、印刷設定値確定部１６０１及び設定値情報合成処理部１６０３を含む。
【００７３】
印刷設定値確定部１６０１は、代替ＵＩ１１０１を用いてユーザが設定を確定した場合、及び印刷指示を行った場合に呼び出され、分類別印刷設定値情報１６０２を作成する。分類別印刷設定値情報１６０２は、例えば共通設定値及び依存設定値で表現される。第１の実施形態においては、代替ＵＩ１１０１の共通設定シートによって設定された値を共通設定値として割り当て、機種固有設定シートによって設定された値を依存設定値として割り当てている。各Featureに対して代替ＵＩ１１０１によって指定された１つのＯｐｔｉｏｎの組み合わせをＸＭＬファイルとして格納しており、具体的な中身に関しては図１５で後述する。共通機能分類情報１１０２と分類別印刷設定情報１６０２との関係は、各Featureに対して選択項目を記載するPrintCapabilitiesと、各Featureに対して設定値を記載するPrintTicketとの関係と同様である。
【００７４】
設定値情報合成処理部１６０３は、分類別印刷設定値情報１６０２から最小公倍数印刷設定値１１０３を統合機能情報として生成する。
【００７５】
このような最小公倍数印刷設定生成部１００４の処理は、図１４に示すフローチャートで表わされる。この処理は、例えば、表示された代替ＵＩ１１０１による設定変更をユーザが確定させた場合、及び印刷指示を受けた場合等に開始される。
【００７６】
この処理では、先ず、代替ＵＩ１１０１による設定変更の確定指示、又は印刷指示を表示する指示を印刷設定代替機能処理部３０１が受けると、最小公倍数印刷設定生成部１００４が呼び出される（ステップＳ２３０１）。そして、最小公倍数印刷設定生成部１００４は、共通設定シートの結果から共通設定PrintTicketを作成する（ステップＳ２３０２）。次に、依存設定シートの結果から、依存設定PrintTicketを作成する（ステップＳ２３０３）。次いで、依存設定PrintTicketの中の選択値に「共通項目使用」という項目があるがどうか検索し（ステップＳ２３０４）、存在する場合は、その選択値及びその機能を示す機能キーを依存設定PrintTicketから削除する（ステップＳ２３０５）。
【００７７】
ステップＳ２３０３〜Ｓ２３０５の処理は、全ての依存設定シートから依存設定PrintTicketが作成されるまで繰り返される（ステップＳ２３０６）。全ての依存設定シートから依存設定PrintTicketが作成されると、共通設定PrintTicket及び全ての依存設定PrintTicketを合成し、最小公倍数印刷設定値１１０３を生成する（ステップＳ２３０７）。このようにして、最小公倍数印刷設定生成部１００４の処理が終了する。なお、最小公倍数印刷設定値１１０３は、例えばＲＯＭ１０２に記憶され、その後、繰り返して用いることができる。
【００７８】
図１５に、分類別印刷設定値情報１６０２の一例を示す。また、図１６に、最小公倍数印刷設定値１１０３の作成方法の一例を示す。
【００７９】
図１５に示すように、分類別印刷設定値情報１６０２には、例えば、共通設定値、依存設定値Ａ及び依存設定値Ｂが含まれる。更に、図１５に示すように、これらは、それぞれ、図７に示す共通機能分類情報１１０２の共通設定項目、依存設定項目Ａ及び依存設定項目Ｂに対し、代替ＵＩ１１０１で選択されたOptionのみを残して、選択されなかったOptionを削除したものである。
【００８０】
また、図１６に示すように、第１の実施形態においては、設定値情報合成処理部１６０３が最小公倍数印刷設定値１１０３をPrintTicket（図２７）として形成する。このため、タグとして<PrintTicket>をつける。更に、最小公倍数印刷設定値１１０３には、共通設定値のFeature及びOptionを格納し、更に、プリンタ固有値のFeature及びOptionも格納する。但し、Optionが「共通設定使用」となっている項目については、そのFeature及びOptionの格納は行わない。そして、設定値情報合成処理部１６０３は、このような処理を、抽出されたプリンタドライバの全てに対して行い、PrintTicketの形態になった最小公倍数印刷設定値１１０３を作成する。
【００８１】
次に、最小公倍数印刷設定値１１０３及び描画データを受け取ったプリンタドライバＡ１１４の処理について、図１７を参照しながら説明する。
【００８２】
先ず、プリンタドライバＡ１１４において、最小公倍数印刷設定値１１０３は通常のPrintTicketとして認識される。
【００８３】
その後、描画データ処理部２０９が、PrintTicketのFeature確認部１９０１にて最小公倍数印刷設定値１１０３のFeature及びOptionを取り出す。次いで、プリンタドライバ１１４のFeature無効有効判断部１９０２が、取り出したFeatureが処理できるものであるか否かを判断する。処理可能と判断されたFeature及びOptionについては、描画データ解析、印刷コマンド生成部１９０３が、描画処理に使用したり、印刷コマンドに反映させたりする。
【００８４】
なお、プリンタドライバＡ１１４は、図１０に示すように、「縁なし印刷する」に対応することができないため、最小公倍数印刷設定値１１０３に「縁なし印刷する」が格納されているにも拘らず、プリンタドライバＡ１１４のFeature無効有効判断部１９０２は、これを処理不可能と判断する。従って、共通設定値及びプリンタＡ固有設定値のみが用いられることになる。
【００８５】
一方、プリンタドライバＢ３０７が最小公倍数印刷設定値１１０３及び描画データを受け取ったとしても、プリンタドライバＢ３０７は、図１０に示すように、「印刷の向きを180度回転する」に対応することができない。このため、プリンタドライバＢ３０７のFeature無効有効判断部は、これを処理不可能と判断する。従って、共通設定値及びプリンタＢ固有設定値のみが用いられることになる。
【００８６】
このように、第１の実施形態では、最小公倍数印刷設定値１１０３が作成された後には、この最小公倍数印刷設定値１１０３がどのプリンタドライバに渡されても代替ＵＩ１１０１を介してユーザにより作成された印刷設定の情報をそのまま処理することができる。
【００８７】
従って、ユーザは、複数のプリンタドライバ及び複数の印刷装置が使用可能な環境下において、どの印刷装置が所望の機能を持っているか分かりやすく、その選択が容易になる。また、ユーザインタフェースが代替ＵＩ１１０１に共通化されるため、設定の操作が容易になる。また、代替ＵＩ１１０１を用いた印刷設定の情報は複数の印刷装置間で共有可能なので、設定時に対象としていた印刷装置とは異なる印刷装置に対しても当該情報を有効に利用することができる。更に、事前に電子データを作成したダイレクト印刷を行う場合でも、代替ＵＩ１１０１を用いた設定が行われた印刷装置を用いるときには、意図した通りの出力を得ることができる。
【００８８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、上述のように、複数のプリンタドライバ間で呼び名が共通の機能（Feature）が共通設定シートにまとめられ、互いに相違する機能（Feature）は固有設定シートに振り分けられる。このため、同一の機能でありながら、呼び名、例えばFeature nameが相違するものについては、印刷設定代替機能処理部３０１は、同一機能と認識せず、個別に固有設定シートに振り分けることになる。図１８に、同一の機能でありながら、共通機能分類情報１１０２において別の機能と看做されてしまう例を示す。
【００８９】
印刷した紙をホチキスで留める機能に関し、ステイプル、ステイプルソート、ホッチキス又は印字処理の後工程としてのフィニッシングという機能でFeature nameが定められる場合がある。特に、印刷装置のベンダによって名称が相違することがある。従って、共通機能分類情報１１０２のプリンタＡの固有設定項目を示す依存設定項目Ａでは、Feature nameにステイプルソートという名称が付けられ、プリンタBの固有設定項目を示す依存設定項目Ｂではフィニッシングという名称が付けられることがある。このような場合、Feature nameの相違に伴って、これらの機能は、同一でありながらも共通設定シートにまとめられず、印刷装置毎の固有設定シートに振り分けられるのである。このような処理が行われると、ユーザによる設定に煩雑さが若干残ってしまう。
【００９０】
第２の実施形態は、このような第１の実施形態の課題を補うものであり、ドライバ機能対応ＵＩ生成部１００３が、プリンタドライバ毎の機種固有設定シートを生成する際に、各機種固有設定シート内に機能のグループ化の指示のためのボタンを含ませる。例えば、図１９に示すように、例えば「機能のグループ化」という名称のボタンを含ませる。そして、このボタンが操作された場合には、共通機能分類情報１１０２の依存設定項目に記載されているFeature name及びOption nameを全て含むＵＩを表示し、その中からユーザが共通設定シートに含ませようとする機能を選択させる。例えば、図１９に示すように、「機能グループ化」という名称のＵＩ２５０２をダイアログボックスとして表示する。このＵＩ２５０２では、例えば、Ａ印刷装置固有部に、共通機能分類情報１１０２の依存設定項目Ａに記載されているFeature name及びOption nameが羅列されている。また、Ｂ印刷装置固有部に、共通機能分類情報１１０２の依存設定項目Ｂに記載されているFeature name及びOption nameが羅列されている。同様に、Ｃ印刷装置固有部に、共通機能分類情報１１０２の依存設定項目Ｃに記載されているFeature name及びOption nameが羅列されている。また、これらには、選択のためのチェックボックスが付加されている。更に、共通設定シートでの表示形態を編集するための項目として、共通設定部も表示される。この共通設定部には、テキストボックスが付加されている。
【００９１】
なお、図１９に示す例では、既に、Ａ印刷装置固有部の「ステイプルソート」、Ｂ印刷装置固有部の「フィニッシング」、及びＣ印刷装置固有部の「ホッチキス」がグループ化されており、これに共通設定部の「ホチキス」というFeature nameが割り当てられている。また、Ａ印刷装置固有部の「左上（１ヶ所）」、Ｂ印刷装置固有部の「左ホチキス１箇所」及びＣ印刷装置固有部の「左上（１ヶ所）」がグループ化されており、これに共通設定部の「左上（１ヶ所）」というOption nameが割り当てられている。更に、これらの既にグループ化の設定が行われたFeature name及びOption nameはグレーアウトされている。
【００９２】
そして、図１９に示す例では、Ａ印刷装置固有部の「右上（１ヶ所）」、Ｂ印刷装置固有部の「右ホチキス１箇所」及びＣ印刷装置固有部の「右上（１ヶ所）」がグループ化されようとしている。即ち、Ａ印刷装置固有部の４番目の項目、Ｂ印刷装置固有部の３番目の項目、Ｃ印刷装置固有部の３番目の項目のチェックボックスがユーザによりＯＮにされている。このような状態で、ユーザにより、共通設定部の３番目に任意の文字列（例えば、「右上（１ヶ所）」が入力され、「ＯＫ」ボタンが操作されると、当該文字列が割り当てられた新たなOption nameが作成され、共通設定項目に追加される。そして、それ以降に代替ＵＩ１１０１が表示される際には、これらの「ホチキス」に関する項目が共通設定部に表示される。このようなＵＩ２５０２の機能グループ化処理は主にドライバ機能対応ＵＩ生成部１００３の機能分類処理部１２０２及び分類ＵＩ生成部１２０３が行う。
【００９３】
ここで、図２０を参照しながら、機能グループ化に伴う共通機能分類情報１１０２の変化の一例について説明する。
【００９４】
先ず、第１の実施形態と同様にして、機能分類処理部１２０２が共通機能分類情報１１０２を作成する（図２０の上段）。この例では、共通設定項目のFeature nameには、「解像度」のみが存在する。その一方で、依存設定項目Ａには、Feature nameとして「ステイプルソート」が存在し、依存設定項目Ｂには、「フィニッシング」が存在する。従って、これらは、機能グループ化の前では、互いに異なる固有設定シートに割り振られる。
【００９５】
但し、その後に「機能のグループ化」のボタン２５０１が操作されて、ユーザによりこれらを共通化する機能グループ化処理が行われると、共通設定項目のFeature nameに「ホチキス」が追加され、これに関するOption nameに「右上（１カ所）」等が追加される。その一方で、依存設定項目からこれらに相当するもの（「フィニッシング」及び「ステイプルソート」等）が削除される。従って、「フィニッシング」及び「ステイプルソート」に関する設定項目は、以降の代替ＵＩ１１０１の表示時には、共通設定シートに含まれることになる。
【００９６】
なお、機能分類処理部１２０２は、上述のような共通機能分類情報１１０２の変更に際し、機能グループ化Ｍａｐテーブル２７０１を作成する。図２１は、機能グループ化Ｍａｐテーブル２７０１の一例を示す図である。機能グループ化Ｍａｐテーブル２７０１では、ＵＩ２５０２を用いてユーザが新たに作成した共通設定の項目毎に、Feature name又はOption nameの種別、及び依存設定項目が対応づけられている。
【００９７】
そして、変更後の共通機能分類情報１１０２に基づいて、図２２に示すような代替ＵＩ１１０１が作成されて表示される。
【００９８】
図２３に、これらの第２の実施形態における処理をまとめたものを示す。図２３に示すように、第２の実施形態では、ドライバ機能対応ＵＩ生成部１００３に、機能グループ化ボタン追加部２９０１及び機能グループ化処理部２９０２が更に設けられている。
【００９９】
機能グループ化ボタン追加部２９０１は、分類ＵＩ生成部１２０３が代替ＵＩ１１０１を生成するときに、機能グループ化のボタン２５０１を機種固有設定シートに追加する。機能グループ化のボタン２５０１には、操作されると、機能グループ化処理部２９０２を呼び出す機能を付加しておく。従って、機能グループ化のボタン２５０１がユーザによって押されると、機能グループ化処理部２９０２が呼び出される。
【０１００】
そして、機能グループ化処理部２９０２が呼び出されると、機能グループ化処理部２９０２の機能グループ化ＵＩ生成部２９０３が、共通機能分類情報１１０２から各依存設定項目を取り出し、その各依存設定項目から機能グループ化のＵＩ２５０２を作成する。
【０１０１】
更に、ユーザが機能グループ化のＵＩ２５０２を用いて機能のグループ化の設定を行い、それを確定するＯＫボタンを押すと、機能グループ化処理部２９０２の機能グループ化ＵＩ設定値取得部２９０４が呼び出される。機能グループ化ＵＩ設定値取得部２９０４は、ユーザが割り当てた共通設定項目及び依存設定項目のFeature name及びOption nameを機能グループ化のＵＩ２５０２から取り出す。そして、機能グループ化ＵＩ設定値取得部２９０４は、これらの情報を、機能グループ化処理部２９０２の共通機能設定項目更新部２９０５及び機能グループ化Ｍａｐテーブル生成部２９０６に渡す。
【０１０２】
機能グループ化Ｍａｐテーブル生成部２９０６は、機能グループ化ＵＩ設定値取得部２９０４から渡された情報に基づいて、機能グループ化Ｍａｐテーブル２７０１を生成する。また、共通機能設定項目更新部２９０５は、機能グループ化ＵＩ設定値取得部２９０４から取得した情報に基づいて、図２０に示すように、共通機能分類情報１１０２を変更する。
【０１０３】
そして、共通機能分類情報１１０２が更新されると、機能グループ化処理部２９０２はその処理を完了する。
【０１０４】
その後は、第１の実施形態と同様の処理を行う。
【０１０５】
このように、第２の実施形態では、機能グループ化のＵＩ２５０２が共通機能分類情報１１０２の印刷装置毎に存在する依存設定項目に基づいて作成される。そして、このＵＩ２５０２を用いれば、同一機能でありながらFeature nameが異なるだけの機能に関してはユーザがグループ化することができる。また、グループ化の後には、新たな代替ＵＩ１１０１が作成され、この代替ＵＩ１１０１では、機能が同一のFeature name及びOption nameが共通設定シートに含まれるため、ユーザによる操作がより容易なものとなる。
【０１０６】
なお、印刷設定処理装置は、図１に示す形態のものに限定されず、単体の機器から構成されていても、複数の機器がＬＡＮ、ＷＡＮ等のネットワークを介して接続されて構成されていてもよい。
【０１０７】
また、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１の実施形態に係る印刷設定処理装置の構成を示すブロック図である。
【図２】第１の実施形態における印刷処理の概要を示す図である。
【図３】一般的な印刷設定代替機能の仕組みを示す図である。
【図４】第１の実施形態における印刷設定代替機能の仕組みを示す図である。
【図５】プリンタドライバ抽出処理部１００１及びドライバ機能取得部１００２の処理を示すフローチャートである。
【図６】印刷設定代替機能処理部３０１の動作及び印刷処理の流れを示す図である。
【図７】ドライバ機能対応ＵＩ生成部１００３の構成及び処理を示す図である。
【図８】機能分類処理部１２０２の処理を示すフローチャートである。
【図９】分類ＵＩ生成部１２０３の処理を示すフローチャートである。
【図１０】設定可能値１２０１からの共通機能分類情報１１０２への変換の一例を示す図である。
【図１１】共通設定項目のＵＩのシートの作成方法の一例を示す図である。
【図１２】依存設定項目のＵＩのシートの作成方法の一例を示す図である。
【図１３】最小公倍数印刷設定生成部１００４の構成及び処理を示す図である。
【図１４】最小公倍数印刷設定生成部１００４の処理を示すフローチャートである。
【図１５】分類別印刷設定値情報１６０２の一例を示す図である。
【図１６】最小公倍数印刷設定値１１０３の作成方法の一例を示す図である。
【図１７】最小公倍数印刷設定値１１０３及び描画データを受け取ったプリンタドライバＡ１１４の処理を示す図である。
【図１８】同一の機能でありながら、共通機能分類情報１１０２において別の機能と看做されてしまう例を示す図である。
【図１９】第２の実施形態の概要を示す図である。
【図２０】機能グループ化に伴う共通機能分類情報１１０２の変化の一例を示す図である。
【図２１】機能グループ化Ｍａｐテーブル２７０１の一例を示す図である。
【図２２】第２の実施形態において作成される代替ＵＩ１１０１の例を示す図である。
【図２３】第２の実施形態における処理を示す図である。
【図２４】DEVMODE構造体の全体像を簡略化して示す図である。
【図２５】パブリック部４０１を具体的に示す図である。
【図２６】従来の印刷設定代替機能を実現させる技術の内容を示す図である。
【図２７】プリントチケットの一例を示す図である。
【図２８】プリンタドライバがアプリケーションに返すPrintCapabilitiesの一例を示す図である。
【図２９】ＸＭＬ等のテキストベースのファイルを用いる技術の内容を示す図である。
【符号の説明】
【０１０９】
３０１：印刷設定代替機能処理部
１００１：プリンタドライバ抽出処理部
１００２：ドライバ機能取得部
１００３：ドライバ機能対応ＵＩ生成部
１００４：最小公倍数印刷設定生成部
１１０１：代替ユーザインタフェース（ＵＩ）
１１０２：共通機能分類情報
１１０３：最小公倍数印刷設定値
１２０１：設定可能値
１２０２：機能分類処理部
１２０３：分類ＵＩ生成部
１６０１：印刷設定値確定部
１６０２：分類別印刷設定値情報
１６０３：設定値情報合成処理部
２５０１：ボタン
２５０２：ユーザインタフェース（ＵＩ）
２９０１：機能グループ化ボタン追加部
２９０２：機能グループ化処理部
２９０３：機能グループ化ＵＩ生成部
２９０４：機能グループ化ＵＩ設定値取得部
２９０５：共通機能設定項目更新部
２９０６：機能グループ化ＭＡＰテーブル生成部
【図１】
0005078686.tif 000002
【図２】
0005078686.tif 000003
【図３】
0005078686.tif 000004
【図４】
0005078686.tif 000005
【図５】
0005078686.tif 000006
【図６】
0005078686.tif 000007
【図７】
0005078686.tif 000008
【図８】
0005078686.tif 000009
【図９】
0005078686.tif 000010
【図１０】
0005078686.tif 000011
【図１１】
0005078686.tif 000012
【図１２】
0005078686.tif 000013
【図１３】
0005078686.tif 000014
【図１４】
0005078686.tif 000015
【図１５】
0005078686.tif 000016
【図１６】
0005078686.tif 000017
【図１７】
0005078686.tif 000018
【図１８】
0005078686.tif 000019
【図１９】
0005078686.tif 000020
【図２０】
0005078686.tif 000021
【図２１】
0005078686.tif 000022
【図２２】
0005078686.tif 000023
【図２３】
0005078686.tif 000024
【図２４】
0005078686.tif 000025
【図２５】
0005078686.tif 000026
【図２６】
0005078686.tif 000027
【図２７】
0005078686.tif 000028
【図２８】
0005078686.tif 000029
【図２９】
0005078686.tif 000030