(57)【要約】【課題】プリンタドライバで必須の印刷設定が無効化されている場合でも印刷を正常に行えるプリントキューを生成し、印刷ジョブ生成時間を短縮することができる情報処理装置、システム、情報処理方法及びプログラムを提供する。【解決手段】実施形態の情報処理装置は、ネットワークを介して接続する１以上の機器と通信する情報処理装置である。機器に要求可能な印刷に関する機能を示す印刷設定情報を読み込む読み込み手段と、機器に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を記憶する記憶手段と、読み込んだ印刷設定情報と、必須印刷設定情報とを比較して、必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能があるか否かを判別する判別手段と、判別手段によって、必須印刷設定情報に含まれない機能があると判別された場合、含まれないと判別された機能を印刷設定情報に追加する印刷設定追加手段と、を備える。【選択図】図９
2017173930.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続する１以上の機器と通信する情報処理装置であって、
前記機器に要求可能な印刷に関する機能を示す印刷設定情報を読み込む読み込み手段と、
前記機器に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を記憶する記憶手段と、
読み込んだ前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記必須印刷設定情報に含まれる機能のうち前記印刷設定情報に含まれない機能があるか否かを判別する判別手段と、
前記判別手段によって、前記必須印刷設定情報に含まれない機能があると判別された場合、含まれないと判別された機能を前記印刷設定情報に追加する印刷設定追加手段と、を備える、
情報処理装置。
【請求項２】
前記判別手段によって、前記必須印刷設定情報に含まれない機能があると判別された場合、印刷データを生成する際に実行するモジュールを指定するプリントキューに、前記印刷設定追加手段を実行するフィルターを指定する指定手段を、さらに備え、
前記印刷設定追加手段は、前記指定手段によって指定された場合に、実行される、
請求項１に記載の情報処理装置。
【請求項３】
前記印刷設定情報は、前記必須印刷設定情報に含まれない機能がある場合に該機能を補完する補助設定を示す補助設定情報を含み、
前記印刷設定追加手段は、前記補助設定情報を有効化させることで、前記判別手段によって含まれないと判別された前記機能を前記印刷設定情報に追加する、
請求項１に記載の情報処理装置。
【請求項４】
前記印刷設定情報の入力を受け付ける印刷設定情報入力手段と、
データの入力を受け付けるデータ入力手段と、
前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記印刷設定情報の中で無効化された、前記設定が必要となる機能を示す必須機能を特定する特定手段と、
特定された前記必須機能に対応する前記補助設定情報を前記プリントキューから取得する補助設定情報取得手段と、
前記印刷設定情報に、取得した前記補助設定情報を追加して前記印刷設定情報を補完する印刷設定情報補完手段と、
補完された前記印刷設定情報を、印刷ジョブを生成するジョブ生成手段に出力する印刷設定情報出力手段と、
前記データを前記ジョブ生成手段に出力するデータ出力手段と、を備える、
請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
前記特定手段は、前記印刷設定情報の中で、前記必須機能以外で無効化された前記機能を特定し、
前記印刷設定追加手段は、無効化された前記機能に対応する前記補助設定情報を有効化し、
前記補助設定情報取得手段は、特定された前記機能に対応する前記補助設定情報を前記印刷設定情報から取得し、
前記印刷設定情報補完手段は、前記印刷設定情報に、取得した該補助設定情報を追加して前記印刷設定情報を補完する、
請求項４に記載の情報処理装置。
【請求項６】
前記印刷設定追加手段で、前記補助設定情報を有効化させた場合に、該補助設定情報を有効化させたことを示す情報と、該補助設定情報の内容を示す情報とをＵＩ画面に表示させる制御を行う表示制御手段を、さらに備える、
請求項３に記載の情報処理装置。
【請求項７】
前記読み込み手段に対して、前記印刷設定情報の読み込み開始を指示する指示手段を、さらに備え、
前記読み込み手段は、前記指示手段から前記指示を受け付けた場合に、前記印刷設定情報の読み込みを行う、
請求項１に記載の情報処理装置。
【請求項８】
情報処理装置と、機器とを含み、これらがネットワークを介して接続するシステムであって、
前記情報処理装置は、
前記機器に要求可能な印刷に関する機能を示す印刷設定情報を読み込む読み込み手段と、
前記機器に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を記憶する記憶手段と、
読み込んだ前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記必須印刷設定情報に含まれる機能のうち前記印刷設定情報に含まれない機能があるか否かを判別する判別手段と、
前記判別手段によって、前記必須印刷設定情報に含まれない機能があると判別された場合、含まれないと判別された機能を前記印刷設定情報に追加する印刷設定追加手段と、
を有する印刷設定情報生成手段と、
前記印刷設定情報の入力を受け付ける印刷設定情報入力手段と、
データの入力を受け付けるデータ入力手段と、
読み込んだ前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記印刷設定情報の中で無効化された、前記設定が必要となる機能を示す必須機能を特定する特定手段と、
特定された前記必須機能に対応する前記補助設定情報を前記プリントキューから取得する補助設定情報取得手段と、
前記印刷設定情報に、取得した前記補助設定情報を追加して前記印刷設定情報を補完する印刷設定情報補完手段と、
補完された前記印刷設定情報を出力する印刷設定情報出力手段と、
前記データを出力するデータ出力手段と、
を有する補完手段と、
補完された前記印刷設定情報及び前記データを用いて、印刷ジョブを生成するジョブ生成手段と、
生成した印刷ジョブを前記機器に送信する送信手段と、
を備え、
前記機器は、
前記印刷ジョブを受け付ける受付手段と、
前記印刷ジョブに基づいて、前記データを印刷する印刷手段と、
を備える、
システム。
【請求項９】
ネットワークを介して接続する１以上の機器と通信する情報処理装置の情報処理方法であって、
前記機器に要求可能な印刷に関する機能を示す印刷設定情報を読み込む読み込みステップと、
前記機器に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を記憶する記憶ステップと、
読み込んだ前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記必須印刷設定情報に含まれる機能のうち前記印刷設定情報に含まれない機能があるか否かを判別する判別ステップと、
前記判別ステップによって、前記必須印刷設定情報に含まれない機能があると判別された場合、含まれないと判別された機能を前記印刷設定情報に追加する印刷設定追加ステップと、を含む、
情報処理方法。
【請求項１０】
前記印刷設定情報の入力を受け付ける印刷設定情報入力ステップと、
データの入力を受け付けるデータ入力ステップと、
前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記印刷設定情報の中で無効化された、前記設定が必要となる機能を示す必須機能を特定する特定ステップと、
特定された前記必須機能に対応する前記補助設定情報を前記プリントキューから取得する補助設定情報取得ステップと、
前記印刷設定情報に、取得した前記補助設定情報を追加して前記印刷設定情報を補完する印刷設定情報補完ステップと、
補完された前記印刷設定情報を、印刷ジョブを生成するジョブ生成手段に出力する印刷設定情報出力ステップと、
前記データを前記ジョブ生成手段に出力するデータ出力ステップと、をさらに含む、
請求項９に記載の情報処理方法。
【請求項１１】
ネットワークを介して接続する１以上の機器と通信する情報処理装置に、
前記機器に要求可能な印刷に関する機能を示す印刷設定情報を読み込む読み込みステップと、
前記機器に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を記憶する記憶ステップと、
読み込んだ前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記必須印刷設定情報に含まれる機能のうち前記印刷設定情報に含まれない機能があるか否かを判別する判別ステップと、
前記判別ステップによって、前記必須印刷設定情報に含まれない機能があると判別された場合、含まれないと判別された機能を前記印刷設定情報に追加する印刷設定追加ステップと
を実行させるためのプログラム。
【請求項１２】
前記印刷設定情報の入力を受け付ける印刷設定情報入力ステップと、
データの入力を受け付けるデータ入力ステップと、
前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記印刷設定情報の中で無効化された、前記設定が必要となる機能を示す必須機能を特定する特定ステップと、
特定された前記必須機能に対応する前記補助設定情報を前記プリントキューから取得する補助設定情報取得ステップと、
前記印刷設定情報に、取得した前記補助設定情報を追加して前記印刷設定情報を補完する印刷設定情報補完ステップと、
補完された前記印刷設定情報を、印刷ジョブを生成するジョブ生成手段に出力する印刷設定情報出力ステップと、
前記データを前記ジョブ生成手段に出力するデータ出力ステップと、をさらに含む、
請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で動作する印刷システムとして、ＣＵＰＳ（Ｃｏｍｍｏｎ  Ｕｎｉｘ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）がある。ＣＵＰＳを使用するプリンタドライバは、ＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイルに、サポートする印刷設定値の定義、印刷したいデータを印刷ジョブのデータ形式へ変換するフィルターの指定、フィルターへ渡すデータ形式の指定などのプリンタドライバ情報を記述することができる。ユーザはＣＵＰＳのインタフェースを利用して、ＣＵＰＳによりプリンタドライバのＰＰＤ（設定を定義したファイル）の情報を基にして、印刷設定情報を含むプリントキューの作成、作成したプリントキューの設定を変更できる技術が知られている。
【０００３】
特許文献１には、プリントキューの作成の際に、ユーザが印刷プロトコルを意識することなく、最適な印刷システム環境を自動的に構築する方法が開示されている。特許文献１に記載の方法は、プリントキューを作成する際に印刷プロトコルを識別し、印刷プロトコルに応じた、情報処理装置と画像処理装置との間の双方向通信に利用する通信設定の定義をプリントキューに反映するものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のＣＵＰＳによるプリントキューの作成やプリントキューの設定変更において、ＣＵＰＳの仕様などにより、プリンタドライバのＰＰＤに定義されたユーザから設定の受付が可能な機能の一覧を示す印刷設定の内容の一部が、ＣＵＰＳにより無効化されることがあった。
【０００５】
その結果、プリンタドライバの仕様によっては、特定のジョブに対してユーザから受け付けた印刷設定のうち印刷に必須の印刷設定が指定されないことで、作成および変更したプリントキューで印刷が正常にできないという問題が発生する。例えば、ＣＵＰＳが、ＰＰＤからプリントキューを作成する際にＰＰＤに定義されていた印刷設定の内容が変更されてプリントキューに反映されることにより、例えば、解像度設定が必須の印刷設定である場合、解像度が無効化されていると、そもそも解像度を選択することができない（設定するための表示がされない）ため、結果的に設定情報の中に解像度の情報が含まれなくなってしまい、プリンタドライバのフィルターにおいてデータ変換に失敗して、異常な印刷ジョブが生成されてしまい、正常に印刷できないという問題が発生する。
【０００６】
本発明は、上記に鑑みてなされたものであって、プリンタドライバで必須の印刷設定が無効化されている場合でも印刷を正常に行えるプリントキューを生成し、印刷ジョブ生成時間を短縮することができる情報処理装置、システム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して接続する１以上の機器と通信する情報処理装置であって、前記機器に要求可能な印刷に関する機能を示す印刷設定情報を読み込む読み込み手段と、前記機器に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を記憶する記憶手段と、読み込んだ前記印刷設定情報と、前記必須印刷設定情報とを比較して、前記必須印刷設定情報に含まれる機能のうち前記印刷設定情報に含まれない機能があるか否かを判別する判別手段と、前記判別手段によって、前記必須印刷設定情報に含まれない機能があると判別された場合、含まれないと判別された機能を前記印刷設定情報に追加する印刷設定追加手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、プリンタドライバで必須の印刷設定が無効化されている場合でも印刷を正常に行えるプリントキューを生成し、印刷ジョブ生成時間を短縮することができる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、ＣＵＰＳによるプリントキュー作成の概要を示す図である。
【図２】図２は、ＣＵＰＳ仕様などにより、プリンタドライバのＰＰＤに定義された印刷設定の内容の一部が、ＣＵＰＳにより無効化される概要を示す図である。
【図３】図３は、印刷設定の内容の一部がＣＵＰＳにより無効化されることで正常に印刷できない場合の概要を示す図である。
【図４】図４は、スクリプトを介して印刷する場合の概要を示す図である。
【図５】図５は、実施形態のシステムの構成の一例を示す図である。
【図６】図６は、実施形態の情報処理装置のハードウェア構成の一例を示す図である。
【図７】図７は、実施形態のＭＦＰのハードウェア構成の一例を示す図である。
【図８】図８は、実施形態の情報処理装置のソフトウェア構成の一例を示す図である。
【図９】図９は、ツールの機能構成の一例を示す図である。
【図１０】図１０は、スクリプトの機能構成の一例を示す図である。
【図１１】図１１は、ＰＰＤおよびプリントキューのデータ構成の一例を示す図である。
【図１２】図１２は、プリントキュー作成または設定変更時のツール外部の処理シーケンスの一例を示す図である。
【図１３】図１３は、プリントキュー作成または設定変更時のツール内部の処理シーケンスの一例を示す図である。
【図１４】図１４は、印刷時のスクリプト外部の処理シーケンスの一例を示す図である。
【図１５】図１５は、印刷時のスクリプト内部の処理シーケンスの一例を示す図である。
【図１６】図１６は、プリントキューの印刷設定のＵＩ画面の一例を示す図である。
【図１７】図１７は、プリントキューの印刷設定のＵＩ画面の一例を示す図である。
【図１８】図１８は、プリントキューの補助設定のＵＩ画面の一例を示す図である。
【図１９】図１９は、プリントキューの補助設定のＵＩ画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、情報処理装置、システム、情報処理方法及びプログラムの実施形態を詳細に説明する。なお、以下の実施形態により本発明が限定されるものではない。また、各実施形態は、内容を矛盾させない範囲で、適宜組み合わせることができる。
【００１１】
（実施形態）
最初に、図１〜図４を用いて、本実施形態の情報処理装置１０における印刷処理の流れの概要について説明する。図１は、ＣＵＰＳによるプリントキュー作成の概要を示す図である。図１に示すように、情報処理装置１０には、ＯＳが搭載されており、ＯＳにはプリンタドライバ１２０、印刷システム（ＣＵＰＳ）１３０がインストールされている。プリンタドライバ１２０には、ＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）１２１ファイルが含まれている。ＰＰＤ１２１ファイルは、ドライバ印刷設定などが定義されたファイルであり、サポートする印刷設定値の定義や、印刷したいデータを印刷ジョブのデータ形式へ変換するフィルター１２２の指定、フィルター１２２へ渡すデータ形式の指定などのプリンタドライバ情報を記述することができる。ユーザは、ＣＵＰＳ１３０のインタフェースを利用して、ＣＵＰＳ１３０によりプリンタドライバ１２０のＰＰＤ１２１の情報を基にして、ユーザから設定の受付が可能な機能の一覧を示す印刷設定情報を含むプリントキュー１４０の作成、作成したプリントキュー１４０の設定（プロトコルなど）を変更できる。プリントキュー１４０は、プリンタ送信先ごとの印刷設定やフィルター１２２、プロトコル、オプション状態などを管理するデータである。プリントキュー１４０は、ファイル形式でＰＰＤ１２１と同じフォーマットである。
【００１２】
図２は、ＣＵＰＳ仕様などにより、プリンタドライバのＰＰＤに定義された印刷設定の内容の一部が、ＣＵＰＳにより無効化される概要を示す図である。図２は、印刷設定の内容の一部として解像度が無効化される一例を示している。プリンタドライバ１２０のＰＰＤ１２１に定義された印刷設定に解像度がある。しかし、ＣＵＰＳ仕様または障害によって、ＣＵＰＳ１３０が、ＰＰＤ１２１からプリントキュー１４０を作成する際にＰＰＤ１２１に定義されていた印刷設定の内容が変更されてプリントキュー１４０に反映されることにより、解像度が必須の印刷設定である場合、解像度が無効化されていると、印刷設定において、そもそも解像度を選択することができない（設定するための解像度の表示がされない）ため、結果的に設定情報の中に解像度の情報が含まれなくなってしまう。
【００１３】
図３は、印刷設定の内容の一部がＣＵＰＳにより無効化されることで正常に印刷できない場合の概要を示す図である。図３は、印刷設定の内容の一部として解像度が無効化される一例を示している。プリンタドライバ１２０の仕様によっては、アプリケーション１５０から受け付けた印刷データの印刷設定のうち解像度が設定されないことで、作成および変更したプリントキュー１４０で印刷が正常にできないという現象が起きる。図３においては、ＣＵＰＳ１３０が、ＰＰＤ１２１からプリントキュー１４０を作成する際に解像度が無効化された印刷設定が設定されたことを示している。この状態では、アプリケーション１５０に解像度を設定するための表示がされないため、印刷したいデータをＣＵＰＳ１３０に送った場合、例えば、データ変換・印刷ジョブ生成を行うあるプリンタドライバ１２０のフィルター１２２において、解像度が必須の印刷設定である場合、解像度が無効化されているとデータ変換に失敗し、異常な印刷ジョブが生成されてしまい、正常に印刷できないということになる。
【００１４】
図４は、スクリプトを介して印刷する場合の概要を示す図である。上記の問題が発生した場合に、例えば、知識のあるユーザであれば、手動でＰＰＤ１２１のフィルター定義の部分をフィルター１２２の前にスクリプト１２４による処理を介するよう書き換えたＰＰＤ１２１から作成したプリントキュー１４０により、スクリプト１２４が無効化された必須の印刷設定の情報を補うということが考えられる。図４においては、ＣＵＰＳ１３０が、ＰＰＤ１２１からプリントキュー１４０を作成する際に解像度が無効化された印刷設定が設定されたことを示している。アプリケーション１５０から、解像度のない印刷設定情報を含む印刷したいデータを送った場合、フィルター１２２の処理の前に、印刷設定情報に解像度を補うスクリプト１２４の処理を実行することで、解像度が補完された印刷設定情報を含む印刷したいデータとすることができ、正常な印刷ジョブを生成させることができる。
【００１５】
しかしながら、知識のあるユーザが上記のように印刷設定情報に解像度を補うスクリプト１２４の処理を実行させて正常に印刷できたとしても、全てのジョブに対してスクリプト１２４による処理を介することで印刷ジョブ生成の処理に時間がかかり印刷時間が長くなってしまうという問題がある。
【００１６】
また、プリンタドライバ１２０のＰＰＤ１２１に定義された印刷設定の内容の一部が、ＣＵＰＳ１３０により無効化される問題は、ＣＵＰＳ１３０の仕様やバージョンによっては発生しない。そのため、印刷ジョブ生成の処理に時間がかかるスクリプト１２４による処理を必ず介するようにすることは望ましくない。
【００１７】
本実施形態の情報処理装置１０によれば、上記で説明した、さらなる課題を解決するため、ＣＵＰＳ１３０によりプリンタドライバ１２０で必須の印刷設定が無効化されている場合には、無効化された印刷設定の情報を補完したプリントキュー１４０を生成し、かつ、印刷ジョブ生成時間を短縮することができることを特徴とするものである。
【００１８】
図５は、実施形態のシステムの構成の一例を示す図である。図５に示すように、システム１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ：情報処理装置）１０と、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：機器）２０ａ、ＭＦＰ２０ｂとを備える。ＰＣ（情報処理装置）１０とＭＦＰ（機器）２０ａ、２０ｂはネットワーク３０を介して互いに接続されている。ネットワーク３０は、例えば、企業のオフィスなどで用いられる社内ＬＡＮ等の社内コンピュータネットワークである。以下、ＰＣ１０を「情報処理装置１０」と表記する。また、ＭＦＰ２０ａ、２０ｂを区別する必要がない場合は、単にＭＦＰ２０と表記する。
【００１９】
以下では、本発明に係る機器２０を、複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）に適用した場合を例に挙げて説明するが、これに限定されるものではない。なお、複合機とは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する装置である。また、機器２０は、ＭＦＰに限ることはなく、プリンタ、ＬＰ（Ｌａｓｅｒ  Ｐｒｉｎｔｅｒ）、インクジェットプリンタ、ＦＡＸ装置、デジタル複写機、スキャナ装置、プロジェクタなどでもよい。
【００２０】
情報処理装置１０は、ネットワーク３０を介して機器２０と双方向通信を行う。例えば、情報処理装置１０は、ネットワーク３０を介して機器２０にデータ（例えば画像データ）及び印刷設定情報を送信し印刷を実行させる。また、情報処理装置１０は、機器２０にジョブを送受信することで機器２０の情報を問い合わせることができる。
【００２１】
機器２０は、ネットワーク機器、電子機器、例えば、ＭＦＰである。本実施形態ではＭＦＰを機器２０の一例として説明する。機器２０は、ネットワーク３０を介して情報処理装置１０と双方向通信を行う。例えば、機器２０は、情報処理装置１０からデータ（画像データ）を受信して記録媒体に印刷出力（画像形成）を行う。
【００２２】
図５では、情報処理装置１０の台数が１台である場合を例示しているが、これに限らず、情報処理装置１０の台数は任意である。また、機器２０の台数が２台である場合を例示しているが、これに限らず、機器２０の台数は任意である。
【００２３】
図６は、情報処理装置のハードウェア構成の一例を示す図である。図６に示すように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０４、機器Ｉ／Ｆ１０５、ネットワークＩ／Ｆ１０８を有し、これらはシステムバス１０９で互いに接続されている。また、機器Ｉ／Ｆ１０５には、表示部１０６及び操作部１０７が接続されている。
【００２４】
ＣＰＵ１０１は演算手段であり、情報処理装置１０全体の動作を統括的に制御する。ＲＡＭ１０２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０１が情報を処理する際の作業領域として用いられる。ＲＯＭ１０３は、読み出し専用の不揮発性の記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ１０４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。ＨＤＤ１０４は、情報処理装置１０の各種機能を実現するために必要なファイルやデータ等を格納する。
【００２５】
機器Ｉ／Ｆ１０５は、表示部１０６及び操作部１０７の各々をシステムバス１０９に接続するためのインタフェースである。表示部１０６は、各種の情報を表示するための視覚的ユーザインタフェースであり、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などで構成される。操作部１０７は、キーボードやマウス等、ユーザが情報処理装置１０に対して各種の情報を入力するためのユーザインタフェースである。ネットワークＩ／Ｆ１０８は、情報処理装置１０をネットワーク３０に接続するためのインタフェースである。なお、ネットワークＩ／Ｆは「送信手段」と捉えることもできる。
【００２６】
このようなハードウェア構成において、ＲＯＭ１０３に格納されたプログラムや、ＨＤＤ１０４又は図示しない光学ディスク等の記憶媒体からＲＡＭ１０２にロードされたプログラムに従ってＣＰＵ１０１が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態の情報処理装置１０の機能を実現する機能ブロックが構成される。
【００２７】
なお、上記の情報処理装置１０用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００２８】
図７は、機器（ＭＦＰ）のハードウェア構成の一例を示す図である。図７に示すように、ＭＦＰ２０は、コントローラボード２１０と、操作パネル２２１と、ＦＣＵ（ファクシミリコントロールユニット）２２２と、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２２３と、ＩＥＥＥ１３９４Ｉ／Ｆ２２４と、印刷／スキャナエンジン２２５と、周辺機２２６とを備える。
【００２９】
コントローラボード２１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１と、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１２と、フラッシュメモリ２１３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１４と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２１５と、管理システム用メモリ２１６と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２１７と、モデム２１８とを備える。
【００３０】
ＣＰＵ２１１は、ＭＦＰ２０の動作を統括的に制御する。ＣＰＵ２１１は、ＳＤＲＡＭ２１２、フラッシュメモリ２１３及びＨＤＤ２１４に格納されたプログラムを実行することで、ＭＦＰ２０全体の動作を制御する。また、ＣＰＵ２１１は、各種機能を実現する。また、ＣＰＵ２１１は、ＳＤＲＡＭ２１２、フラッシュメモリ２１３及びＨＤＤ２１４のプログラムに基づいてデータ演算を行い、ＭＦＰ２０の各部を制御して、ＭＦＰ２０としての処理を実行する。
【００３１】
ＳＤＲＡＭ２１２は、各種プログラムを記憶するメモリである。また、ＳＤＲＡＭ２１２は、ＣＰＵ２１１がデータ処理時に使用するメモリである。
【００３２】
フラッシュメモリ２１３は、各種プログラムやＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）イメージを記憶するメモリである。また、フラッシュメモリ２１３は、各種不揮発性を必要とするデータ（機種機番、ＩＰアドレスなど）を記憶するメモリである。フラッシュメモリ２１３は、ＭＦＰ２０における各機能を実現するための記憶メモリでもある。
【００３３】
ＨＤＤ２１４は、不揮発性記憶媒体であり、対象のＭＦＰ２０の各種管理情報、更新用ファームウェア、実行用ファームウェアを記憶する。また、ＨＤＤ２１４は、画像データ等を記憶する。
【００３４】
ＡＳＩＣ２１５は、ＣＰＵ２１１の制御対象となる機器の共有化をはかり、アーキテクチャの面からアプリケーションなどの開発の高効率化を支援するものである。また、ＡＳＩＣ２１５は、各種画像処理を行う。
【００３５】
管理システム用メモリ２１６は、ＭＦＰ２０における各処理の各機能を実現するのに必要な各種データを記憶するメモリである。
【００３６】
ＮＩＣ２１７は、ローカルエリアネットワーク（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、またはネットワークを介して、外部装置（例えば、情報処理装置（クライアントＰＣ）、プリントサーバなど）と接続するインタフェースである。なお、ＮＩＣ２１７は請求項の「受付手段」の機能を実現する。
【００３７】
モデム２１８は、公衆回線網を介して、外部装置のインタフェース装置（モデム）と接続する。
【００３８】
操作パネル２２１は、ＭＦＰ２０に対して操作を行うオペレータのためのインタフェースであり、データ入力、ジョブ実行などを受け付ける。また、操作パネル２２１は、各種操作キー及びファンクションキー等を備えるとともに、ディスプレイ（例えば、液晶ディスプレイ）を備える。操作キーからは、ＭＦＰ２０に各種動作を行わせるのに必要な各種命令等が入力される。ディスプレイには、操作キーから入力された命令内容やＭＦＰ２０からオペレータに通知する各種情報が表示される。
【００３９】
ＦＣＵ２２２は、ＦＡＸ装置またはモデム機能を有する複写装置などの外部装置との通信を公衆回線で制御する。また、ＦＣＵ２２２は、外部のＦＡＸ装置との間でファクシミリ制御信号を交換し、Ｇ３及びＧ４のファクシミリ通信手順を実行する。
【００４０】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２２３は、周辺装置などの対応機器と接続するためのシリアルバスである。ＵＳＢ２２３には、例えば、ＵＳＢ機器が接続され、ＣＰＵ２１１の制御下で、接続されるＵＳＢ機器との間でデータの授受を行う。
【００４１】
ＩＥＥＥ１３９４Ｉ／Ｆ２２４は、外部のスキャナやプロッタ等などの対応機器との接続に使用される。
【００４２】
印刷／スキャナエンジン２２５は、ＡＳＩＣ２１５から受け取った画像データに基づいて用紙に画像を印刷出力し、また、原稿を主走査・副走査して該原稿の画像データを読み取ってＡＳＩＣ２１５に出力する。印刷／スキャナエンジン２２５には、後処理機やＡＤＦ（自動原稿送り装置）等の周辺機２２６が接続される。なお、印刷／スキャナエンジン２２５は請求項の「印刷手段」の機能を実現する。
【００４３】
なお、上記のＭＦＰ２０用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００４４】
図８は、情報処理装置のソフトウェア構成の一例を示す図である。図８に示すように、情報処理装置１０には、ＯＳが搭載されており、ＯＳにはプリンタドライバ１２０、印刷システム（ＣＵＰＳ）１３０、アプリケーション１５０がインストールされている。
【００４５】
プリンタドライバ１２０には、ＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）１２１、フィルター１２２、ツール１２３、スクリプト１２４が含まれており、インストールすることで、ＯＳに配置される。ＣＵＰＳ１３０は、プリンタドライバ１２０のＰＰＤ１２１から、プリントキュー１４０を作成する。プリントキュー１４０には、プリンタ送信先ごとにユーザから設定の受付が可能な機能の一覧を示す印刷設定やフィルター１２２、プロトコル、オプション状態、印刷設定のデフォルト値などの情報が管理されている。印刷設定のデフォルト値は、ユーザがＣＵＰＳ１３０のＷｅｂ  Ｉｎｔｅｒｆａｃｅ等のインタフェースを使用することで変更できる。なお、フィルター１２２は請求項の「ジョブ生成手段」に対応し、ツール１２３は請求項の「印刷設定情報生成手段」に対応し、スクリプト１２４は請求項の「補完手段」に対応する。
【００４６】
また、補助設定はプリントキュー１４０に記憶されている。補助設定とは、印刷設定が無効化されているとき、スクリプト１２４が補完する設定値である。印刷設定と同様に、ＣＵＰＳ１３０のインタフェースなどでデフォルト値をユーザが指定できる。スクリプト１２４は、印刷設定が無効化されているとき、ユーザが指定した設定値を補完する。補助設定は、ＰＰＤ１２１にあらかじめ無効の状態で定義されており、無効化された設定がある時のみ、補助設定が有効化されて指定できるようになる。例えば、プリントキュー１４０で解像度が無効化されている場合、解像度の補助設定が指定可能になる。ユーザが６００ｄｐｉを指定しておくと印刷時、スクリプト１２４は、印刷設定情報に解像度６００ｄｐｉの情報を補完する。スクリプト１２４は、タスクを完了するために必要な手順を記述したファイルであり、全ての設定情報を補完することができる。
【００４７】
図９は、ツールの機能構成の一例を示す図である。図９に示すように、ツール１２３は、プリントキュー監視部１６１と、印刷設定読み込み部１６２と、判別部１６３と、フィルター指定変更部１６４と、補助設定有効部１６５と、必須印刷設定情報記憶部１６６と、読み込み指示部１６７とで構成されている。
【００４８】
ツール１２３は、ＯＳ起動時に起動され、プリントキュー（ファイル形式）１４０を全て監視している。ＯＳ起動時にツール１２３を起動する手段としては、一般的な手段でよい。例えば、ツール１２３をデーモン（Ｄａｅｍｏｎ）としてシステムに登録する方法などが挙げられる。
【００４９】
プリントキュー監視部１６１は、プリントキューファイルを監視しており、ＣＵＰＳ１３０がプリントキュー１４０を生成（作成）、またはプリントキュー１４０の設定を変更したことを検知すると、そのプリントキュー１４０の位置（ファイルのパス）を印刷設定読み込み部１６２に渡す。すなわち、プリントキュー監視部１６１は、印刷に関する設定を示す印刷設定と、該印刷設定が無効化されている場合に該印刷設定を補完する補助設定を示す補助設定情報と、データを処理する手順を示す手順情報（プロトコル）とを少なくとも含むプリントキュー１４０（印刷設定情報）を監視する。なお、プリントキュー監視部１６１は監視手段の一例である。
【００５０】
印刷設定読み込み部１６２は、プリントキュー監視部１６１から受け渡されたプリントキュー１４０の位置（ファイルのパス）に基づき、ユーザから設定の受付が可能な機能の一覧を示す印刷設定を読み込み、読み込んだ情報（機器２０に要求可能な印刷に関する機能を示す印刷設定情報）を判別部１６３に渡して、生成（作成）または変更されたプリントキュー１４０の印刷設定で必須な印刷設定が無効化されていないかを判別部１６３に確認を要求（依頼）する。すなわち、印刷設定読み込み部１６２は、監視手段（プリントキュー監視部１６１）で、プリントキュー１４０が生成、または変更されたことを検知した場合、プリントキュー１４０に含まれる印刷設定情報を読み込む。また、印刷設定読み込み部１６２は、指示手段から印刷設定情報の読み込み開始を指示する指示を受け付けた場合に、印刷設定情報の読み込みを行う。なお、印刷設定読み込み部１６２は「読み込み手段」の機能を有する。
【００５１】
判別部１６３は、受け渡された印刷設定情報と、機器２０に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報とを比較し、必須な印刷設定が無効化されていないかを判別する。すなわち、印刷設定情報と、必須印刷設定情報とを比較して、必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能があるか否かを判別する。判別の結果、必須な印刷設定が無効化されている場合（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能がある場合）には、処理の順番を変更するために、フィルター指定の変更（スクリプト１２４を介するように変更）をフィルター指定変更部１６４に要求（依頼）すると共に、補助設定の有効化を補助設定有効部１６５に要求（依頼）する。すなわち、判別部１６３は、読み込んだ印刷設定情報（印刷設定）と、正常に印刷するために必須となる印刷設定を示す必須印刷設定情報（必須の印刷設定）とを比較して、該印刷設定情報（印刷設定）の中で無効化された必須の印刷設定があるか否かを判別する（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能があるか否かを判別する）。判別結果が必須な印刷設定が無効化されている場合（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能がある場合）には、フィルター指定を、スクリプト指定に変更する要求（依頼）をフィルター指定変更部１６４にすると共に、補助設定を有効化する要求（依頼）を補助設定有効部１６５にする。なお、判別部１６３は「判別手段」の機能を有する。
【００５２】
フィルター指定変更部１６４は、判別部１６３から要求（依頼）を受けると、プリントキュー１４０のフィルター指定を、スクリプト１２４を介するように変更する。すなわち、フィルター指定変更部１６４は、無効化された必須の印刷設定がないと判別された場合（必須印刷設定情報に含まれない機能がないと判別された場合）には、無効化された必須の印刷設定（含まれないと判別された機能）を有効化する補完処理を実行させず、無効化された必須の印刷設定があると判別された場合（必須印刷設定情報に含まれない機能があると判別された場合）には、印刷設定情報（プリントキュー１４０）に含まれる手順情報（プロトコル）を、無効化された必須の印刷設定（含まれないと判別された機能）を有効化する補完処理を実行させる手順を追加するように指定変更する。つまり、データを処理する手順の指定を、フィルター指定から、無効化された必須の印刷設定（含まれないと判別された機能）を有効化する補完処理を行うスクリプト指定に変更する。手順情報（プロトコル）は、補完処理を実行させてから、他の処理を実行させるように手順を指定した情報である。また、フィルター指定変更部１６４は、判別部１６３（判別手段）によって、必須印刷設定情報に含まれない機能があると判別された場合（無効化された必須の印刷設定があると判別された場合）、印刷データを生成する際に実行するモジュールを指定するプリントキュー１４０に、印刷設定追加手段を実行するフィルター（スクリプト１２４）を指定する。印刷設定追加手段は、フィルター指定変更部１６４（指定手段）によって指定された場合に、実行される。なお、フィルター指定変更部１６４は「指定手段」、「印刷設定追加手段」の機能を有する。
【００５３】
補助設定有効部１６５は、判別部１６３から要求（依頼）を受けると、無効化されている印刷設定の補助設定を有効化する。すなわち、補助設定有効部１６５は、無効化された必須の印刷設定（含まれないと判別された機能）に対応する補助設定情報（印刷設定の補助設定）を有効化させる。つまり、補助設定有効部１６５は、補助設定情報を有効化させることで、判別部１６３（判別手段）によって含まれないと判別された機能（無効化された必須の印刷設定）を印刷設定情報に追加する。なお、補助設定有効部１６５は「補助設定有効手段」、「印刷設定追加手段」の機能を有する。
【００５４】
必須印刷設定情報記憶部１６６は、プリンタドライバ１２０が正常に印刷するために必須となる印刷設定の機能名リストの情報を示す必須印刷設定情報を予め保持している。つまり、機器２０に印刷を要求するために設定が必要となる機能を示す必須印刷設定情報を保持する。機能名リストの機能名は、ＰＰＤ１２１およびプリントキュー１４０の定義と同じとする。すなわち、ＰＰＤ１２１で定義された機能名をリストとして保持している。また、必須印刷設定情報記憶部１６６は、スクリプト１２４が備える必須印刷設定情報記憶部１７６と共通にすることもできる。その場合、ツール１２３またはスクリプト１２４のどちらか一方に備えてもよいし、ツール１２３及びスクリプト１２４の外部に備えてもよい。なお、必須印刷設定情報記憶部１６６は「記憶手段」の機能を有する。
【００５５】
読み込み指示部１６７は、印刷設定読み込み部１６２に対して印刷設定情報の読み込み開始を指示する。なお、読み込み指示部１６７は「指示手段」の機能を有する。
【００５６】
なお、ツール１２３は、同じ機能ブロックを持つソフトウェアやプログラムでもよいし、スクリプト形式のプログラムでもよいし、どのようなプログラム形式を使ってもよい。
【００５７】
図１０は、スクリプトの機能構成の一例を示す図である。図１０に示すように、スクリプト１２４は、印刷設定情報入出力部１７１と、データ入出力部１７２と、印刷設定情報補完部１７３と、印刷設定情報チェック部１７４と、補助設定情報取得部１７５と、必須印刷設定情報記憶部１７６とで構成されている。
【００５８】
印刷設定情報入出力部１７１は、ＣＵＰＳ１３０が受け渡してくる印刷設定情報を受け取り（印刷設定情報の入力を受け付け）、印刷設定情報補完部１７３に渡して補完を要求（依頼）する。このとき、データ入出力部１７２に、ＣＵＰＳ１３０からデータを受け取るよう要求（依頼）する。印刷設定情報補完部１７３が、補完した後の印刷設定情報を応答として返してくると、補完済み印刷設定情報を受け取って、フィルター１２２に出力する。印刷設定情報入出力部１７１は、補完済み印刷設定情報をフィルター１２２に出力する際に、データ入出力部１７２に対して、同時に、印刷データをフィルター１２２に出力するよう要求（依頼）する。すなわち、ＣＵＰＳ１３０から印刷設定情報入力手段で印刷設定情報の入力を受け付けて、補完済み印刷設定情報を、データを変換処理する印刷ジョブ生成手段（フィルター１２２）に対して、印刷設定情報出力手段から出力する。なお、印刷設定情報入出力部１７１は「印刷設定情報入力手段」、「印刷設定情報出力手段」の機能を有する。
【００５９】
データ入出力部１７２は、印刷データをＣＵＰＳ１３０から受け取り（データの入力を受け付け）、印刷設定情報入出力部１７１から印刷データをフィルター１２２に出力する要求（依頼）を受け付けると、そのまま変換せずにフィルター１２２に出力する。すなわち、ＣＵＰＳ１３０からデータ入力手段でデータの入力を受け付けて、データを印刷ジョブ生成手段（フィルター１２２）に対して、データ出力手段から出力する。なお、データ入出力部１７２は「データ入力手段」、「データ出力手段」の機能を有する。
【００６０】
印刷設定情報補完部１７３は、印刷設定情報入出力部１７１から印刷設定情報を受け取ると、印刷設定情報チェック部１７４に、無効化された印刷設定（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能）があるかチェックを要求（依頼）する。チェックの結果、無効化された印刷設定（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能）があれば、補助設定情報取得部１７５に対して、無効化された印刷設定（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能）に対応する補助設定情報の取得を要求し、無効化された印刷設定（必須印刷設定情報に含まれる機能のうち印刷設定情報に含まれない機能）の補助設定情報を受け取って、印刷設定情報に追加することで補完する。すなわち、印刷設定情報補完部１７３は、印刷設定情報入出力部１７１から受け渡された印刷設定情報に、補助設定情報取得部１７５で取得した補助設定情報を追加して印刷設定情報を補完する。印刷設定情報補完部１７３は、補完済み印刷設定情報を、印刷設定情報入出力部１７１に受け渡す。
【００６１】
また、印刷設定情報補完部１７３は、印刷設定情報入出力部１７１から印刷設定情報を受け取ると、印刷設定情報チェック部１７４に、必須の印刷設定以外で無効化された印刷設定（機能）があるかチェックを要求（依頼）する。チェックの結果、必須の印刷設定以外で無効化された印刷設定（機能）があれば、補助設定情報取得部１７５に対して、必須の印刷設定以外で無効化された印刷設定（不足している印刷設定（機能））の取得を要求し、必須の印刷設定以外で無効化された印刷設定（不足している印刷設定（機能））を受け取って、印刷設定情報に追加することで補完する。なお、印刷設定情報補完部１７３は「印刷設定情報補完手段」の機能を有する。
【００６２】
印刷設定情報チェック部１７４は、印刷設定情報補完部１７３から受け渡された印刷設定情報と必須印刷設定情報を比較し、無効化された印刷設定（不足している印刷設定）がないかをチェックする。すなわち、印刷設定情報チェック部１７４（特定手段）は、印刷設定情報と、正常に印刷するために必須となる印刷設定を示す必須印刷設定情報とを比較して、該印刷設定情報の中で無効化された必須の印刷設定を特定する。また、印刷設定情報チェック部１７４は、印刷設定情報と、必須印刷設定情報とを比較して、印刷設定情報の中で無効化された、設定が必要となる機能を示す必須機能を特定する。印刷設定情報チェック部１７４は、不足している印刷設定（機能）を特定した場合に、印刷設定情報補完部１７３に対して、特定した印刷設定（機能）を、応答として返す。また、印刷設定情報チェック部１７４（特定手段）は、印刷設定情報の中で、必須となる印刷設定以外で無効化された印刷設定（機能）を特定する。印刷設定情報チェック部１７４（特定手段）は、印刷設定情報補完部１７３に対して、特定した必須以外で無効化された印刷設定（機能）を、応答として返す。なお、印刷設定情報チェック部１７４は「特定手段」の機能を有する。
【００６３】
補助設定情報取得部１７５は、印刷設定情報補完部１７３から、不足している印刷設定の取得要求を受け付けて、プリントキュー１４０に保存されている補助設定情報を取得する。すなわち、補助設定情報取得部１７５は、特定手段（印刷設定情報チェック部１７４）で特定された無効化された必須の印刷設定（機能）に対応する補助設定情報をプリントキュー１４０から取得する。そして、補助設定情報取得部１７５は、印刷設定情報補完部１７３に対して、取得した補助設定情報を、応答として返す。また、補助設定情報取得部１７５は、特定された、無効化された印刷設定（機能）に対応する補助設定情報をプリントキュー１４０から取得する。そして、補助設定情報取得部１７５は、印刷設定情報補完部１７３に対して、取得した補助設定情報を、応答として返す。なお、補助設定情報取得部１７５は「補助設定情報取得手段」の機能を有する。
【００６４】
必須印刷設定情報記憶部１７６は、プリンタドライバ１２０が正常に印刷するために必須となる印刷設定の機能名リストの情報を示す必須印刷設定情報を保持している。機能名リストの機能名は、ＰＰＤ１２１およびプリントキュー１４０の定義と同じとする。すなわち、ＰＰＤ１２１で定義された機能名をリストとして保持している。また、必須印刷設定情報記憶部１７６は、ツール１２３が備える必須印刷設定情報記憶部１６６と共通にすることもできる。その場合、ツール１２３またはスクリプト１２４のどちらか一方に備えてもよいし、ツール１２３及びスクリプト１２４の外部に備えてもよい。なお、必須印刷設定情報記憶部１７６は「記憶手段」の機能を有する。
【００６５】
なお、スクリプト１２４は、同じ機能ブロックを持つソフトウェアやプログラムでもよいし、ツール形式のプログラムでもよいし、どのようなプログラム形式を使ってもよい。
【００６６】
図１１は、ＰＰＤおよびプリントキューのデータ構成の一例を示す図である。図１１に示すように、ＰＰＤ１２１ファイルおよびプリントキュー１４０の設定ファイルは、プリンタドライバ基本情報１８１と、フィルター指定１８２と、ツール指定１８３と、印刷設定定義１８４と、補助設定定義１８５と、排他定義１８６と、用語１８７とのデータで構成されている。このうち、補助設定定義１８５は、本実施形態における独自のデータ定義である。他のデータは一般的なＰＰＤの構成となっている。
【００６７】
プリンタドライバ基本情報１８１には、プリンタドライバ名や印刷に必要な情報が記載されている。
【００６８】
フィルター指定１８２には、印刷データに変換するフィルターモジュールの指定を記載する。例えば、下記に示すフォーマットで指定する。なお、指定する方法はこれに限ることはなく任意である。
【００６９】
＊ｃｕｐｓＦｉｌｔｅｒ：”（フィルターにわたるデータの形式）（優先度）（フィルター名）”
【００７０】
ツール指定１８３には、プリントキュー１４０作成時や印刷時に使用するツール１２３を指定する。プリントキュー１４０作成時のツール１２３としては、例えばＭａｃＯＳＸ（登録商標）のみで使用可能な、ＡｕｔｏＳｅｔｕｐＴｏｏｌが一般的であるが、ＭａｃＯＳＸ（登録商標）でしか使用できない仕様である。そのため、例えばＬｉｎｕｘ（登録商標）も対象としたい場合に対応できないので、ＡｕｔｏＳｅｔｕｐＴｏｏｌは、例えば下記に示すフォーマットで指定する。
【００７１】
（ＡｕｔｏＳｅｔｕｐＴｏｏｌの場合）
＊ＡＰＡｕｔｏＳｅｔｕｐＴｏｏｌ：”（ツールのファイルパス）”
【００７２】
印刷設定定義１８４には、サポートする印刷設定を定義する。また、各印刷設定のデフォルト値も定義されている。プリントキュー１４０では、ユーザがＣＵＰＳ１３０のインタフェースなどを利用して、印刷設定のデフォルト値を変更することが可能である。変更後はプリントキュー１４０の設定ファイルに反映され、保持される。印刷設定定義１８４は、例えば、下記に示すフォーマットで定義する。なお、定義する方法はこれに限ることはなく任意である。なお、下記に示す記述の中で最後の左矢印は（←：コメント）解説を表している。
【００７３】
（解像度の場合の一例）
＊ＯｐｅｎＵＩ＊Ｒｅｓｏｌｕｔｉｏｎ／Ｒｅｓｏｌｕｔｉｏｎ：ＰｉｃｋＯｎｅ  ←印刷設定Ｒｅｓｏｌｕｔｉｏｎの定義始まり
＊ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎ  Ｒｅｓｏｌｕｔｉｏｎ／Ｒｅｓｏｌｕｔｉｏｎ：ｅｎｕｍ  ＣｍｄＬｉｎｅ  Ａ  ←印刷設定情報に指定するという記載
＊ＤｅｆａｕｌｔＲｅｓｏｌｕｔｉｏｎ：６００ｄｐｉ  ←デフォルト値
＊Ｒｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”＜＜％％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ：Ｒｅｓｏｌｕｔｉｏｎ＝６００ｄｐｉ”  ←選択肢６００ｄｐｉ
＊Ｅｎｄ
＊Ｒｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”＜＜％％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ：Ｒｅｓｏｌｕｔｉｏｎ＝１２００ｄｐｉ”  ←選択肢１２００ｄｐ
＊Ｅｎｄ
＊ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ  Ｒｅｓｏｌｕｔｉｏｎ＝６００ｄｐｉ：”−ｒ６００”  ←選択肢６００ｄｐｉが選ばれたら、印刷設定情報に”−ｒ６００”と指定する。
＊ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ  Ｒｅｓｏｌｕｔｉｏｎ＝１２００ｄｐｉ：”−ｒ１２００”  ←選択肢１２００ｄｐｉが選ばれたら、印刷設定情報に”−ｒ１２００”と指定する。
＊ＣｌｏｓｅＵＩ：  ＊Ｒｅｓｏｌｕｔｉｏｎ  ←設定定義終わり
【００７４】
補助設定定義１８５は、本実施形態での独自のデータである。ＰＰＤ１２１に無効（コメントアウト）状態で定義されており、プリントキュー１４０作成時に、無効化された印刷設定があれば、その印刷設定に対応する補助設定を有効化してプリントキュー１４０を作成する。補助設定は印刷設定と基本的に同じフォーマットで記載されており、印刷設定のデフォルト値を指定するときに、一緒に補助設定（のデフォルト値）を指定できる。この補助設定値が、スクリプト１２４による補完で使用される。補助設定定義１８５は、例えば、下記に示すフォーマットで定義する。なお、定義する方法はこれに限ることはなく任意である。なお、下記に示す記述の中で最後の左矢印は（←：コメント）解説を表している。
【００７５】
（解像度の補助設定の一例）
＊ＯｐｅｎＵＩ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ／ＳｕｂＲｅｓｏｌｕｔｉｏｎ：ＰｉｃｋＯｎｅ  ←補助設定ＳｕｂＲｅｓｏｌｕｔｉｏｎの定義始まり
＊ＤｅｆａｕｌｔＳｕｂＲｅｓｏｌｕｔｉｏｎ：１２００ｄｐｉ  ←デフォルト値
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”  ”  ←選択肢６００ｄｐｉ
＊Ｅｎｄ
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”  ”  ←選択肢１２００ｄｐ
＊Ｅｎｄ
＊ＣｌｏｓｅＵＩ：＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ←設定定義終わり
【００７６】
排他定義１８６には、印刷設定の排他を定義する。
【００７７】
用語１８７には、印刷設定などの表示用語を定義する。
【００７８】
なお、ＰＰＤ１２１またはプリントキュー１４０の無効化とは、コメントアウトすることを指す。コメントアウトは「％」で表される。逆に、有効化はコメントアウトされていた行のコメントアウト「％」を取り除くことを指す。下記に無効化（コメントアウト）のフォーマットの定義の一例を示す。なお、下記に示す記述の中で最後の左矢印は（←：コメント）解説を表している。
【００７９】
（解像度が無効化（コメントアウト）の場合の一例）
＊％ＯｐｅｎＵＩ＊Ｒｅｓｏｌｕｔｉｏｎ／Ｒｅｓｏｌｕｔｉｏｎ：ＰｉｃｋＯｎｅ  ←印刷設定Ｒｅｓｏｌｕｔｉｏｎの定義始まり
＊％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎ  Ｒｅｓｏｌｕｔｉｏｎ／Ｒｅｓｏｌｕｔｉｏｎ：ｅｎｕｍ  ＣｍｄＬｉｎｅ  Ａ  ←印刷設定情報に指定するという記載
＊％ＤｅｆａｕｌｔＲｅｓｏｌｕｔｉｏｎ：６００ｄｐｉ  ←デフォルト値
＊％Ｒｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”＜＜％％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ：Ｒｅｓｏｌｕｔｉｏｎ＝６００ｄｐｉ”  ←選択肢６００ｄｐｉ
＊％Ｅｎｄ
＊％Ｒｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”＜＜％％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ：Ｒｅｓｏｌｕｔｉｏｎ＝１２００ｄｐｉ”  ←選択肢１２００ｄｐ
＊％Ｅｎｄ
＊％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ  Ｒｅｓｏｌｕｔｉｏｎ＝６００ｄｐｉ：”−ｒ６００”  ←選択肢６００ｄｐｉが選ばれたら、印刷設定情報に”−ｒ６００”と指定する。
＊％ＦｏｏｍａｔｉｃＲＩＰＯｐｔｉｏｎＳｅｔｔｉｎｇ  Ｒｅｓｏｌｕｔｉｏｎ＝１２００ｄｐｉ：”−ｒ１２００”  ←選択肢１２００ｄｐｉが選ばれたら、印刷設定情報に”−ｒ１２００”と指定する。
＊％ＣｌｏｓｅＵＩ：＊Ｒｅｓｏｌｕｔｉｏｎ  ←設定定義終わり
【００８０】
図１２は、プリントキュー作成または設定変更時のツール外部の処理シーケンスの一例を示す図である。
【００８１】
処理の概略の流れとして、プリントキュー１４０は、ＣＵＰＳ１３０が作成または設定を変更する。ユーザ５０は、ＣＵＰＳ１３０のインタフェース（Ｗｅｂ  Ｉｎｔｅｒｆａｃｅ）などを利用して、ＣＵＰＳ１３０によりプリントキュー１４０を作成または設定を変更できる。ツール１２３は、プリントキュー１４０の作成または設定変更を監視しており、プリントキュー１４０が作成または設定変更されたことを検知すると、プリントキュー１４０の印刷設定を読み込み、印刷に必須である印刷設定が無効化されていないかを判別する。印刷に必須である印刷設定が無効化されている場合だけ、プリントキュー１４０のフィルター指定を、スクリプト１２４を介するように変更すると共に、補助設定を有効化する。
【００８２】
ユーザ５０は、ＣＵＰＳ１３０のインタフェース（Ｗｅｂ  Ｉｎｔｅｒｆａｃｅ）などを利用して、ＣＵＰＳ１３０によりプリントキュー１４０の作成または変更を指示する（ステップＳ１）。次に、ＣＵＰＳ１３０は、ユーザ５０からプリントキュー１４０の作成または変更の指示を受け付けて、プリンタドライバ１２０のＰＰＤ１２１からプリントキュー１４０を作成（生成）する。または既にあるプリントキュー１４０の設定を変更する（ステップＳ２）。この時点で、プリントキュー１４０のフィルター指定は、スクリプト１２４ではなく、プリンタドライバ１２０のフィルター１２２を指定している。ここで、ＣＵＰＳ１３０のバージョンによっては、ＣＵＰＳ１３０の仕様または障害により、印刷設定が無効化される。なお、上述したように、ＰＰＤ１２１とプリントキュー１４０は同じフォーマットである。
【００８３】
次に、ツール１２３は、プリントキュー１４０の作成または変更を常時監視しており（ステップＳ３）、新たに作成（生成）されたプリントキュー１４０を検知した場合、印刷設定無効化の対応処理を開始する。ツール１２３は、作成または変更されたプリントキュー１４０の印刷設定を確認し、必須である印刷設定が無効化されていないか判別する（ステップＳ４）。無効化の判別方法は任意であるが、例えば下記に示す判別方法が挙げられる。
【００８４】
１）ＣＵＰＳ  ＡＰＩ（ＣＵＰＳ１３０を利用するための関数）で、プリントキュー１４０から必須の印刷設定の定義名を検索する。検索で見つからなければ、その設定は無効化されていると判別できる。下記に記述の一例を示す。
【００８５】
ｐｐｄＦｉｎｄＯｐｔｉｏｎ（ｐｐｄ，”ＣｏｌｏｒＭｏｄｅｌ”）
【００８６】
２）プリントキューファイルの記述を、テキストとして読み込み、必須の印刷設定の定義名と一致した行が無効化（コメントアウト）されていないかを直接確認する。無効化（コメントアウト）されていれば、その設定は無効化されていることが判別できる。
【００８７】
ステップＳ４で、印刷設定の中に、無効化された必須の印刷設定がある場合、ツール１２３は、プリントキュー１４０のフィルター指定（手順情報）を、スクリプト１２４に変更する（ステップＳ５）。スクリプト１２４を指定することで、印刷時にＣＵＰＳ１３０→スクリプト１２４→フィルター１２２という流れの処理になるので、スクリプト１２４を介するように指定できる。次に、ツール１２３は、プリントキュー１４０の補助設定を有効化する（ステップＳ６）。上記ステップＳ２で作成した時点のプリントキュー１４０は無効化の状態となっている。
【００８８】
また、ユーザ５０は、ＣＵＰＳ１３０のインタフェースから、補助設定を変更することができる（ステップＳ７）。補助設定は、他の印刷設定のデフォルト値と同様で、プリントキュー１４０作成後に、プリントキュー１４０の基となるＰＰＤ１２１で定義されていたデフォルト値が設定される。プリントキュー１４０が作成完了し、ツール１２３が無効化の対応処理を完成させた後、ユーザ５０はその値を変更することができる。
【００８９】
例えば、ＰＰＤ１２１で解像度の補助設定のデフォルト値を６００ｄｐｉと定義しておく。補助設定はプリントキュー１４０作成時に有効化され、プリントキュー１４０追加後の状態では６００ｄｐｉが設定されている。ユーザ５０は、この補助設定を別の選択肢１２００ｄｐｉなど、に変更することができる。変更した値は、プリントキュー１４０に反映される。下記に補助設定変更のフォーマットの定義の一例を示す。なお、下記に示す記述の中で最後の左矢印は（←：コメント）解説を表している。
【００９０】
まず、ＰＰＤ１２１の記述は下記で示される。
【００９１】
ＰＰＤ：
＊％ＯｐｅｎＵＩ  ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ／ＳｕｂＲｅｓｏｌｕｔｉｏｎ：  ＰｉｃｋＯｎｅ
＊％ＤｅｆａｕｌｔＳｕｂＲｅｓｏｌｕｔｉｏｎ：６００ｄｐｉ  ←ここの値が補助設定に設定される
＊％ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”  ”
＊％Ｅｎｄ
＊％ＳｕｂＲｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”  ”
＊％Ｅｎｄ
＊％ＣｌｏｓｅＵＩ：  ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ
【００９２】
次に、プリントキュー１４０作成後の記述は下記で示される。
【００９３】
プリントキュー１４０（プリントキュー１４０作成後）：
＊ＯｐｅｎＵＩ  ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ／ＳｕｂＲｅｓｏｌｕｔｉｏｎ：  ＰｉｃｋＯｎｅ
＊ＤｅｆａｕｌｔＳｕｂＲｅｓｏｌｕｔｉｏｎ：６００ｄｐｉ  ←ここの値が補助設定に設定される
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”  ”
＊Ｅｎｄ
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”  ”
＊Ｅｎｄ
＊ＣｌｏｓｅＵＩ：＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ
【００９４】
次に、プリントキュー１４０変更後の記述は下記で示される。
【００９５】
プリントキュー１４０（ユーザ５０が１２００ｄｐｉに変更後）：
＊ＯｐｅｎＵＩ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ／ＳｕｂＲｅｓｏｌｕｔｉｏｎ：ＰｉｃｋＯｎｅ
＊ＤｅｆａｕｌｔＳｕｂＲｅｓｏｌｕｔｉｏｎ：１２００ｄｐｉ  ←ここに反映される
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”  ”
＊Ｅｎｄ
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”  ”
＊Ｅｎｄ
＊ＣｌｏｓｅＵＩ：  ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ
【００９６】
図１３は、プリントキュー作成または設定変更時のツール内部の処理シーケンスの一例を示す図である。上記の図１２を参照しながら、ＣＵＰＳ１３０が最初にプリントキュー１４０を作成した後の、ツール１２３が行う処理について説明する。
【００９７】
プリントキュー監視部１６１は、プリントキュー１４０の作成または変更を監視しており（ステップＳ１１）、プリントキュー１４０が作成または変更されたことを検知する。このステップＳ１１は、図１２のステップＳ３に対応する。次に、プリントキュー監視部１６１は、作成または変更を検知すると、印刷設定読み込み部１６２に印刷設定無効化の対応開始を要求する（ステップＳ１２）。このステップＳ１２からは図１２のステップＳ４〜ステップＳ６に対応する。次に、印刷設定読み込み部１６２は、プリントキュー１４０の印刷設定情報の読み込みをする（ステップＳ１３）。次に、印刷設定読み込み部１６２は、読み込んだ印刷設定情報を判別部１６３に受け渡し、判別部１６３に対して、印刷に必須である印刷設定が無効化されているか否かの判別を要求する（ステップＳ１４）。次に、判別部１６３は、渡されたプリントキュー１４０の印刷設定情報と、ツール１２３の必須印刷設定情報記憶部１６６で予め保持している必須印刷設定情報を比較する（ステップＳ１５）。次に、判別部１６３は、比較結果から、印刷設定情報の中で無効化された必須の印刷設定があるか否かを判別する（ステップＳ１６）。すなわち、判別部１６３は、印刷設定情報と、正常に印刷するために必須となる印刷設定を示す必須印刷設定情報とを比較して、該印刷設定情報の中で無効化された必須の印刷設定を特定する、と捉えることもできる。
【００９８】
ここで、印刷設定情報の中で無効化された必須の印刷設定があると判別した場合、判別部１６３は、フィルター指定変更部１６４に対して、フィルター指定変更要求を行い（ステップＳ１７）、フィルター指定変更部１６４は、プリントキュー１４０のフィルター指定を、フィルター１２２からスクリプト１２４に変更（書き換え）する（ステップＳ１８）。例えば、下記で示す記述のように書き換える。なお、フィルター指定をスクリプト指定にする方法は任意である。
【００９９】
書き換え前
＊ｃｕｐｓＦｉｌｔｅｒ：”（フィルターにわたるデータの形式）（優先度）（フィルター名）”
【０１００】
書き換え後
＊ｃｕｐｓＦｉｌｔｅｒ：”（フィルターにわたるデータの形式）（優先度）（スクリプト名）”
【０１０１】
判別部１６３は、ステップＳ１７の要求をすると共に、補助設定有効部１６５に対して、プリントキュー１４０の無効化状態の補助設定を有効化する要求を行い（ステップＳ１９）、補助設定有効部１６５は、プリントキュー１４０の無効化状態の補助設定を、有効化する（ステップＳ２０）。例えば、下記で示す記述のように書き換える。すなわち、有効化するために無効化（コメントアウト）されていた行の無効化（コメントアウト）「％」を取り除く。なお、有効化する方法、定義の記述形式はこれに限ることはなく任意である。
【０１０２】
書き換え前
＊％ＯｐｅｎＵＩ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ／ＳｕｂＲｅｓｏｌｕｔｉｏｎ：ＰｉｃｋＯｎｅ
＊％ＤｅｆａｕｌｔＳｕｂＲｅｓｏｌｕｔｉｏｎ：１２００ｄｐｉ
＊％ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”  ”
＊％Ｅｎｄ
＊％ＳｕｂＲｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”  ”
＊％Ｅｎｄ
＊％ＣｌｏｓｅＵＩ：＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ
【０１０３】
書き換え後
＊ＯｐｅｎＵＩ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ／ＳｕｂＲｅｓｏｌｕｔｉｏｎ：ＰｉｃｋＯｎｅ
＊ＤｅｆａｕｌｔＳｕｂＲｅｓｏｌｕｔｉｏｎ：１２００ｄｐｉ
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  ６００ｄｐｉ／６００ｄｐｉ：”  ”
＊Ｅｎｄ
＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ  １２００ｄｐｉ／１２００ｄｐｉ：”  ”
＊Ｅｎｄ
＊ＣｌｏｓｅＵＩ：  ＊ＳｕｂＲｅｓｏｌｕｔｉｏｎ
【０１０４】
以上説明したように、本実施形態では、プリントキュー１４０の作成または設定変更時、プリンタドライバ１２０のツール１２３が、作成後または変更後のプリントキュー１４０の印刷設定をチェックし、必須の印刷設定が無効化されている場合には、プリントキュー１４０のフィルター指定を、スクリプト１２４を介するよう書き換えるので、ユーザ５０が意識することなしに、プリンタドライバ１２０で必須の印刷設定が無効化されている場合でも、印刷を正常に行うことができるプリントキュー１４０を生成して使用することができる。また、プリントキュー１４０の設定変更を行うことができる。
【０１０５】
よって、本実施形態によれば、プリントキュー１４０の必須の印刷設定が無効化されている場合には、スクリプト１２４の処理を実行させ、プリントキュー１４０の必須の印刷設定が無効化されていない場合には、スクリプト１２４の処理を実行させないので、ユーザが意識して２つのプリントキュー１４０を使い分ける必要がなく、従来のように必ずスクリプト１２４の処理を実行させる場合に比較して、印刷ジョブの生成時間を短縮させることができる。
【０１０６】
図１４は、印刷時のスクリプト外部の処理シーケンスの一例を示す図である。プリントキュー１４０作成後、印刷設定の中に無効化された必須の印刷設定があると判別された場合の、フィルター１２２の前にスクリプト１２４を介する印刷シーケンスについて説明する。
【０１０７】
なお、スクリプト１２４を介さない場合（印刷設定の中に無効化された必須の印刷設定がない場合）は、シーケンスからスクリプト１２４がなくなり、ＣＵＰＳ１３０から直接、フィルター１２２に印刷データと印刷設定情報が渡される。このスクリプト１２４の処理がない部分だけが異なる。それ以外は、同じ処理シーケンスである。
【０１０８】
ユーザ５０は、アプリケーション１５０から印刷設定画面（ＵＩ画面）を開き、印刷設定を設定する（ステップＳ３１）。印刷設定画面のサポートする機能および選択肢は、プリントキュー１４０の印刷設定定義に従って表示される。無効化されている必須の印刷設定がある場合、その設定は表示されない。例えば、解像度が無効化されていた場合は、解像度の設定は印刷設定画面に表示されない。
【０１０９】
ユーザ５０は、アプリケーション１５０に印刷の実行を指示する（ステップＳ３２）。次に、アプリケーション１５０は、印刷したい文書を印刷用のデータ（印刷データ）に変換し（ステップＳ３３）、変換した印刷データおよび印刷設定情報を、ＣＵＰＳ１３０に渡す（ステップＳ３４）。無効化されている必須の印刷設定がある場合、その印刷設定の情報は渡される印刷設定情報に含まれていない。次に、ＣＵＰＳ１３０は、アプリケーション１５０から渡された印刷データを、プリントキュー１４０のフィルター指定で指定される、「フィルターにわたるデータの形式」に変換処理する（ステップＳ３５）。フィルターにわたるデータの形式は様々であり、例えばａｐｐｌｉｃａｔｉｏｎ／ｖｎｄ．ｃｕｐｓ−ｐｄｆやａｐｐｌｉｃａｔｉｏｎ／ｖｎｄ．ｃｕｐｓ−ｐｏｓｔｓｃｒｉｐｔなどが挙げられる。プリントキュー１４０の記述の一例を下記に示す。
【０１１０】
プリントキュー１４０のフィルター指定部分の記載フォーマット：
＊ｃｕｐｓＦｉｌｔｅｒ：”（フィルターにわたるデータの形式）（優先度）（スクリプト名）”
【０１１１】
次に、ＣＵＰＳ１３０は、プリントキュー１４０の指定するスクリプト１２４に、印刷データと印刷設定情報を渡す（ステップＳ３６）無効化されている必須の印刷設定がある場合、その印刷設定の情報は渡される印刷設定情報に含まれていない。
【０１１２】
次に、スクリプト１２４は、印刷設定情報を受け取り、その中に含まれていない無効化された印刷設定情報を補完する（ステップＳ３７）。補完とは、補助設定を、印刷設定情報に追加して補うことである。補助設定は、プリントキュー１４０に記録されている。
【０１１３】
次に、スクリプト１２４は、補完済の印刷設定情報と、印刷データをフィルター１２２に渡す（ステップＳ３８）。この印刷設定情報には、無効化されている印刷設定の補助設定情報が追加されている。すなわち、正常に印刷するために必須となる印刷設定が追加されて、正常な印刷設定情報になっている。
【０１１４】
次に、フィルター１２２は、渡された印刷設定情報と印刷データから、印刷ジョブを生成する（ステップＳ３９）。必須の印刷設定情報がスクリプト１２４により補完されているため、印刷ジョブは正常に生成される。
【０１１５】
次に、フィルター１２２は、プリンタ（ＭＦＰ２０）に印刷ジョブを送信する（ステップＳ４０）。
【０１１６】
図１５は、印刷時のスクリプト内部の処理シーケンスの一例を示す図である。上記の図１４を参照しながら説明する。
【０１１７】
印刷設定情報入出力部１７１は、ＣＵＰＳ１３０から印刷設定情報の入力を受け付ける（ステップＳ５１）。次に、データ入出力部１７２は、ＣＵＰＳ１３０から印刷データの入力を受け付ける（ステップＳ５２）。印刷データには処理などは何も行わない。データ入力のタイミングは、印刷設定情報の入力と同時タイミングである。
【０１１８】
ステップＳ５１の印刷設定情報入出力部１７１で印刷設定情報の入力を受け付けると、印刷設定情報補完部１７３に対して、印刷設定情報の受け渡しと補完要求を行う（ステップＳ５３）。次に、印刷設定情報補完部１７３は、印刷設定情報入出力部１７１から印刷設定情報を受け取り、印刷設定情報の補完の処理を開始する（ステップＳ５４）。印刷設定情報補完部１７３は、印刷設定情報チェック部１７４に対して、印刷設定情報の受け渡しと比較要求を行う（ステップＳ５５）。
【０１１９】
次に、印刷設定情報チェック部１７４は、受け取った印刷設定情報と、あらかじめスクリプト１２４が保持している必須印刷設定情報を比較し、印刷設定情報の中で、必須なのに情報が含まれていない（無効化されている）印刷設定を特定する（ステップＳ５６）。印刷設定情報チェック部１７４は、特定した印刷設定を、印刷設定情報補完部１７３に返す（ステップＳ５７）。
【０１２０】
次に、印刷設定情報補完部１７３は、印刷設定情報チェック部１７４で特定された、無効化された印刷設定に対応する補助設定の取得要求を、補助設定情報取得部１７５に対して行う（ステップＳ５８）。次に、補助設定情報取得部１７５は、印刷設定情報チェック部１７４で特定した無効化された印刷設定に対応する補助設定の設定値を、プリントキュー１４０から取得する（ステップＳ５９）。例えば解像度「Ｒｅｓｏｌｕｔｉｏｎ」が無効化されていれば、補助解像度設定「ＳｕｂＲｅｓｏｌｕｔｉｏｎ」の設定値「６００ｄｐｉ」を取得する。
【０１２１】
補助設定情報取得部１７５は、取得した補助設定の設定値を、印刷設定情報補完部１７３に返す（ステップＳ６０）。
【０１２２】
次に、印刷設定情報補完部１７３は、補助設定情報取得部１７５が取得した設定値を、印刷設定情報のフォーマットに変換し、印刷設定情報に追加して、印刷設定情報を補完する（ステップＳ６１）。どのフォーマットに変換すればよいかは、プリンタドライバ１２０のフィルター仕様で決まっている。そのため、スクリプト１２４は、そのフォーマットを知っていて、仕様に合わせて変換することができる。
【０１２３】
次に、印刷設定情報補完部１７３は、補完済み印刷設定情報を、印刷設定情報入出力部１７１に返す（ステップＳ６２）。
【０１２４】
次に、印刷設定情報入出力部１７１は、印刷設定情報補完部１７３で補完した補完済み印刷設定情報を、フィルターに出力する（ステップＳ６３）。
【０１２５】
また同じタイミングで、データ入出力部１７２は、フィルター１２２に印刷データを出力する（ステップＳ６４）。データ出力のタイミングは、印刷設定情報の出力と同じタイミングである。
【０１２６】
次に、上記で説明した本実施形態の処理および従来の処理によって作成した、プリントキュー１４０の印刷設定の画面について説明する。前提として、以下に示す機能をＰＰＤ１２１でサポート（定義）しているプリンタドライバ１２０について説明する。
【０１２７】
・用紙サイズ
・給紙方法
・両面印刷
・解像度
・印字モード
・印字領域
・左余白
・上余白
・用紙の種類
・ソート
【０１２８】
上記に示す機能を有するプリンタドライバ１２０について、プリントキュー１４０を作成する。プリントキュー１４０の作成手順は、一般的なＣＵＰＳ  Ｗｅｂ  Ｉｎｔｅｒｆａｃｅによるプリントキュー１４０作成の手順などでよい。
【０１２９】
図１６は、プリントキューの印刷設定のＵＩ画面の一例を示す図である。図１６の例は、本実施形態の処理シーケンスで、ＣＵＰＳ１３０にてプリントキュー１４０を作成した場合を示している。図１６に示すＵＩ画面は、無効化された印刷設定がない場合であり、プリントキュー１４０の印刷設定のデフォルト値を設定する画面である。図１６に示すように、プリンタドライバ１２０のＰＰＤ１２１でサポートしている全ての印刷設定機能が表示されている。すなわち、上記の前提の機能が全て表示されている。
【０１３０】
図１７は、プリントキューの印刷設定のＵＩ画面の一例を示す図である。図１７の例は、従来の処理シーケンスで、ＣＵＰＳ１３０にてプリントキュー１４０を作成した場合を示している。一部のＣＵＰＳ１３０バージョンでは、ＣＵＰＳ１３０の仕様または障害により、プリントキュー１４０を作成したとき、一部の印刷設定が無効化される。図１７の例は、解像度、用紙の種類が無効化された印刷設定の一例を示し、図１６と同様の手順でプリントキュー１４０を追加（作成）したものであるが、「解像度」、「用紙の種類」が無効化されたため、ＵＩ画面には表示されていない。また、正常にプリントキュー１４０を作成できた場合でも、従来の処理シーケンスでは、後からプロトコルなどの設定を変更した際にＣＵＰＳ１３０の仕様または障害により、「解像度」「用紙の種類」が無効化される場合もある。
【０１３１】
図１８は、プリントキューの補助設定のＵＩ画面の一例を示す図である。図１８の例は、図１７に示した、従来の無効化が発生するバージョンのＣＵＰＳ１３０について、本実施形態での処理シーケンスで、ＣＵＰＳ１３０にてプリントキュー１４０を作成した場合を示している。上記で説明したように、本実施形態では、ツール１２３がプリントキュー１４０作成時に、補助設定を有効化する。例えば、プリンタドライバ１２０の必須印刷設定が解像度（Ｒｅｓｏｌｕｔｉｏｎ）のみである場合、解像度の補助設定（ＳｕｂＲｅｓｏｌｕｔｉｏｎ６２）を有効化する。その結果、図１８に示すように、補助設定の設定画面が表示され、印刷設定のデフォルト値設定画面で、補助設定を設定する選択肢が設定できるようになる。すなわち、補助設定を示すＳｕｂＳｅｔｔｉｎｇ６１が選択できるようになり、ＳｕｂＳｅｔｔｉｎｇ６１を選択した後、解像度の補助設定（ＳｕｂＲｅｓｏｌｕｔｉｏｎ６２）で解像度を変更することができる。すなわち、補助設定有効部１６５で、補助設定情報を有効化させた場合に、該補助設定情報を有効化させたことを示す情報（補助設定を示すＳｕｂＳｅｔｔｉｎｇ６１）と、該補助設定情報の内容を示す情報（解像度の補助設定（ＳｕｂＲｅｓｏｌｕｔｉｏｎ６２）とをＵＩ画面に表示させる。このＳｕｂＳｅｔｔｉｎｇ６１と、ＳｕｂＲｅｓｏｌｕｔｉｏｎ６２とをＵＩ画面に表示させる制御を行う表示制御手段の機能は、ＣＰＵ１０１によってＲＡＭ１０２から読み出した命令を実行することにより実現される。
【０１３２】
図１９は、プリントキューの補助設定のＵＩ画面の一例を示す図である。図１９の例は、図１８に示した補助設定のＵＩ画面で、解像度をＳｕｂＲｅｓｏｌｕｔｉｏｎ６２のプルダウンメニューから１２００ｄｐｉ６３に変更することが可能である。変更した値はプリントキュー１４０に記憶される。図１７に示したような、解像度と用紙の種類が無効化されたプリントキュー１４０を使用して印刷設定を行い、印刷を実行した場合、ＣＵＰＳ１３０からスクリプト１２４に渡される印刷設定情報には、解像度、用紙の種類の情報が含まれていない。そこで、スクリプト１２４は補助設定ＳｕｂＲｅｓｏｌｕｔｉｏｎ６２の設定値１２００ｄｐｉ６３をプリントキュー１４０から取得し、フィルター１２２に渡すためのフォーマットに変換したのち、印刷設定情報に追加する。例えば、下記のようなイメージである。
【０１３３】
（補助設定を補完するー例）
ＣＵＰＳ１３０からスクリプト１２４に渡す印刷設定情報
・用紙サイズ＝Ａ４
・給紙方法＝Ｔｒａｙ１
・両面印刷＝Ｏｆｆ
・印字モード＝スムージングオフ
・印字領域＝拡張
・左余白＝０ｍｍ
・上余白＝０ｍｍ
・ソート＝する
【０１３４】
スクリプト１２４からフィルター１２２に渡す印刷設定情報（解像度：補完情報）
・用紙サイズ＝Ａ４
・給紙方法＝Ｔｒａｙ１
・両面印刷＝Ｏｆｆ
・解像度＝１２００ｄｐｉ
・印字モード＝スムージングオフ
・印字領域＝拡張
・左余白＝０ｍｍ
・上余白＝０ｍｍ
・ソート＝する
【０１３５】
解像度１２００ｄｐｉ６３を補完された印刷設定を受け取ったフィルター１２２は、正常な印刷ジョブを生成してプリンタ（ＭＦＰ）２０に送信する。このプリンタドライバ１２０の場合、用紙の種類は必須の印刷設定ではないため、補完していない。プリンタドライバ１２０のフィルター１２２の仕様として、指定がなくても正常な印刷が可能なためである。
【０１３６】
以上説明したように、本実施形態では、プリントキュー１４０の作成または設定変更時に、プリンタドライバ１２０のツール１２３が、作成後または変更後のプリントキュー１４０の印刷設定をチェックし、必須の印刷設定が無効化されている場合には、プリントキュー１４０のフィルター指定を、スクリプト１２４を介するよう書き換え、必須の印刷設定が無効化されていない場合には、プリントキュー１４０のフィルター指定を書き換えずスクリプト１２４を介さない通常の処理を行うので、ユーザ５０が意識せずに、印刷ジョブの生成時間が必要以上に長くなることを防ぐことができる。
【０１３７】
よって、本実施形態では、プリンタドライバ１２０で必須の印刷設定が無効化されている場合でも印刷を正常に行うことができるプリントキュー１４０を生成し、印刷ジョブ生成時間を短縮することができる。
【０１３８】
上記で説明した本実施形態のツール１２３、スクリプト１２４は、同じ機能ブロックを持つアプリケーションやプログラムで代用してもよい。フィルター１２２は、同じ能力（データを変換する機能）を持つ他の実行ファイルやアプリケーション、ソフトウェアでもよい。例えば、オープンソースソフトウェアのＧｈｏｓｔＳｃｒｉｐｔなどでもよい。本実施形態では、ＣＵＰＳ１３０を使うＯＳ、システムであれば、Ｌｉｎｕｘ（登録商標）以外でも使用可能である。例えば、ＭａｃＯＳＸ（登録商標）、Ｕｎｉｘ（登録商標）の一部ＯＳなどが挙げられる。
【０１３９】
（変形例）
本実施形態のツール１２３の処理は、プリントキュー１４０の作成または設定変更時に限ることはなく、ユーザ５０が任意のタイミングで実行できるようにする。この場合、例えば以下の２つの方法が例示できる。
【０１４０】
１）ＰＰＤ１２１にユーティリティツールとして定義し、プリンタ設定画面から呼び出せるようにする（例えばＭａｃＯＳＸ（登録商標）など）。ツール１２３をＰＰＤ１２１に下記で示すフォーマットで定義することで、追加したプリントキュー１４０のプロパティ画面に、ツール起動用のボタンが表示されるようにできる。これにより、ユーザ５０は、任意のタイミングでボタンを押下してツール１２３を起動し、無効化に対応する処理をプリントキュー１４０に対して行うことができる。上記ツール１２３の定義は、例えば、下記に示すフォーマットで定義する。なお、定義する方法はこれに限ることはなく任意である。
【０１４１】
＊ＡＰＰｒｉｎｔｅｒＵｔｉｌｉｔｙＰａｔｈ：”（ツールのファイルパス）”
【０１４２】
２）ツール１２３を独立した実行ファイル形式として、デスクトップ等に置く。ツール１２３を独立した実行ファイル形式として開発し、プリンタドライバ１２０インストール時にデスクトップにツール１２３またはツール１２３のショートカットを置く。これにより、ユーザ５０は、任意のタイミングでツール１２３またはショートカットをダブルクリックなどで起動し、無効化に対応する処理をプリントキュー１４０に対して行うことができる。
【０１４３】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１４４】
情報処理装置１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１４５】
また情報処理装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また情報処理装置１０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１４６】
また情報処理装置１０のプログラムを、ＲＯＭ１０３等に予め組み込んで提供するように構成してもよい。
【０１４７】
情報処理装置１０で実行されるプログラムは、上述した各機能ブロック（ツール１２３（プリントキュー監視部１６１、印刷設定読み込み部１６２、判別部１６３、フィルター指定変更部１６４、補助設定有効部１６５、必須印刷設定情報記憶部１６６、読み込み指示部１６７）及びスクリプト１２４（印刷設定情報入出力部１７１、データ入出力部１７２、印刷設定情報補完部１７３、印刷設定情報チェック部１７４、補助設定情報取得部１７５、必須印刷設定情報記憶部１７６））を含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、ＣＰＵ１０１がＨＤＤ１０４等の記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックがＲＡＭ１０２上にロードされる。すなわち上記各機能ブロックは、ＲＡＭ１０２上に生成される。
【０１４８】
なお上述した情報処理装置１０の各機能ブロックの一部を、ソフトウェアにより実現せずに、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０１４９】
なお、本実施形態の情報処理装置１０及び機器２０が接続されたシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【符号の説明】
【０１５０】
１  システム
１０  情報処理装置（ＰＣ）
２０、２０ａ、２０ｂ  機器（ＭＦＰ、プリンタ）
３０  ネットワーク
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  ＨＤＤ
１０５  機器Ｉ／Ｆ
１０６  表示部
１０７  操作部
１０８  ネットワークＩ／Ｆ
１０９  システムバス
１２０  プリンタドライバ
１２１  ＰＰＤ
１２２  フィルター
１２３  ツール
１２４  スクリプト
１３０  印刷システム（ＣＵＰＳ）
１４０  プリントキュー
１５０  アプリケーション
１６１  プリントキュー監視部
１６２  印刷設定読み込み部
１６３  判別部
１６４  フィルター指定変更部
１６５  補助設定有効部
１６６  必須印刷設定情報記憶部
１６７  読み込み指示部
１７１  印刷設定情報入出力部
１７２  データ入出力部
１７３  印刷設定情報補完部
１７４  印刷設定情報チェック部
１７５  補助設定情報取得部
１７６  必須印刷設定情報記憶部
１８１  プリンタドライバ基本情報
１８２  フィルター指定
１８３  ツール指定
１８４  印刷設定定義
１８５  補助設定定義
１８６  排他定義
１８７  用語
２１０  コントローラボード
２１１  ＣＰＵ
２１２  ＳＤＲＡＭ
２１３  フラッシュメモリ
２１４  ＨＤＤ
２１５  ＡＳＩＣ
２１６  管理システム用メモリ
２１７  ＮＩＣ
２１８  モデム
２２１  操作パネル
２２２  ＦＣＵ
２２３  ＵＳＢ
２２４  ＩＥＥＥ１３９４Ｉ／Ｆ
２２５  印刷／スキャナエンジン
２２６  周辺機
【先行技術文献】
【特許文献】
【０１５１】
【特許文献１】特開２０１４−０３２６４７号公報
【図１】
2017173930.tif 000003
【図２】
2017173930.tif 000004
【図３】
2017173930.tif 000005
【図４】
2017173930.tif 000006
【図５】
2017173930.tif 000007
【図６】
2017173930.tif 000008
【図７】
2017173930.tif 000009
【図８】
2017173930.tif 000010
【図９】
2017173930.tif 000011
【図１０】
2017173930.tif 000012
【図１１】
2017173930.tif 000013
【図１２】
2017173930.tif 000014
【図１３】
2017173930.tif 000015
【図１４】
2017173930.tif 000016
【図１５】
2017173930.tif 000017
【図１６】
2017173930.tif 000018
【図１７】
2017173930.tif 000019
【図１８】
2017173930.tif 000020
【図１９】
2017173930.tif 000021