(57)【要約】【課題】給紙段に設定された名称を指定して印刷する場合は、設定しなおされてしまうことから一致しないケースも多く、他の給紙段が選択されて印刷されることがあった。【解決手段】給紙段に設定された名称を印刷実行時に動的に取得して、印刷ジョブの給紙段の指定で用いることで、確実に給紙段を指定して印刷できるようにすると同時に、名称が設定されている場合には給紙段の選択が自動のときは印刷させない。【選択図】図４
2018018444.tif 000002
【特許請求の範囲】
【請求項１】
特定の給紙段が印刷設定で指定されているか否か判定する第１の判定手段と、
前記第１の判定手段により前記印刷設定で前記特定の給紙段が指定されていると判定された場合に、画像形成装置から取得した給紙段に関する情報に基づいて、前記印刷設定で指定されている前記特定の給紙段に対して前記画像形成装置において名称が設定されているか否か判定する第２の判定手段と、
前記第２の判定手段により前記特定の給紙段に対して前記画像形成装置において前記名称が設定されていると判定された場合に、前記印刷設定に前記画像形成装置において設定されている前記名称を設定する設定手段と、
前記印刷設定を含む印刷ジョブを前記画像形成装置に送信する手段と
を有することを特徴とする情報処理装置。
【請求項２】
印刷用シートを供給する給紙段に関する情報を画像形成装置から取得する取得手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像形成装置が、前記名称の設定をサポートしているか否かを、予め設定されている機種依存情報に基づいて判定する第３の判定手段を更に有し、
前記第３の判定手段により、前記画像形成装置が、前記名称の設定をサポートしていると判定された場合に、前記第１の判定手段による判定を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記給紙段の選択を含む前記印刷設定を入力するためのユーザーインターフェース手段を更に有し、
前記画像形成装置が前記名称の設定をサポートしており、かつ、前記取得手段により取得した前記給紙段に関する情報に、前記給紙段に対して前記画像形成装置において設定された名称が含まれている場合には、前記ユーザーインターフェース手段により前記給紙段の選択肢に自動設定を含めないことを特徴とする請求項２に記載の、または請求項２を引用する請求項３に記載の情報処理装置。
【請求項５】
前記取得手段により取得した前記給紙段に関する情報に含まれた、前記給紙段に対して前記画像形成装置において設定された名称を保存する保存手段を更に有し、
前記取得手段により取得した前記給紙段に関する情報に含まれた、前記給紙段に対して前記画像形成装置において設定された前記名称が、前記保存手段に保存された前記名称と異なる場合には、前記名称を新たに取得した旨のメッセージを出力することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の情報処理装置に接続される画像形成装置であって、
前記給紙段に設定された名称を保持する保持手段と、
前記保持手段により前記名称が保持されている場合には、前記情報処理装置から受け取った印刷ジョブの印刷設定において、使用する給紙段として前記給紙段の名称が指定されていないなら、前記印刷ジョブを実行しないことを特徴とする画像形成装置。
【請求項７】
請求項１乃至５のいずれか一項に記載の情報処理装置と、
請求項６に記載の画像形成装置と
を接続して成ることを特徴とする画像形成システム。
【請求項８】
特定の給紙段が印刷設定で指定されているか否か判定する第１の判定工程と、
前記第１の判定工程により前記印刷設定で前記特定の給紙段が指定されていると判定された場合に、画像形成装置から取得した給紙段に関する情報に基づいて、前記印刷設定で指定されている前記特定の給紙段に対して前記画像形成装置において名称が設定されているか否か判定する第２の判定工程と、
前記第２の判定工程により前記特定の給紙段に対して前記画像形成装置において前記名称が設定されていると判定された場合に、前記印刷設定に前記画像形成装置において設定されている前記名称を設定する設定工程と、
前記印刷設定を含む印刷ジョブを前記画像形成装置に送信する工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
特定の給紙段が印刷設定で指定されているか否か判定する第１の判定手段と、
前記第１の判定手段により前記印刷設定で前記特定の給紙段が指定されていると判定された場合に、画像形成装置から取得した給紙段に関する情報に基づいて、前記印刷設定で指定されている前記特定の給紙段に対して前記画像形成装置において名称が設定されているか否か判定する第２の判定手段と、
前記第２の判定手段により前記特定の給紙段に対して前記画像形成装置において前記名称が設定されていると判定された場合に、前記印刷設定に前記画像形成装置において設定されている前記名称を設定する設定手段と、
前記印刷設定を含む印刷ジョブを前記画像形成装置に送信する手段と
してコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および制御方法およびプログラムに関し、特にプリンターに印刷するためのプリンタードライバー等に関する。
【背景技術】
【０００２】
プリンターには、印刷するための用紙を給紙するカセット（給紙段）に対して、ユーザーが自由に名称を付けられるものが存在する。これは、帳票用紙など、特別な用紙が入った給紙段を誤って選択することがないように、カセット１、２といったＩＤ番号ではなく、用途別に給紙段を確実に指定できるようにするためのものである。
【０００３】
Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷＩＮＤＯＷＳ（登録商標）におけるプリンタードライバーの印刷設定では、給紙段は数値によって定義されたＩＤを使用して指定する。また、プリンタードライバーによっては、プリンターで設定された給紙段の名称を使用して指定することができるものもある。しかし、給紙段のＩＤや名称はプリンターの設定によって変わるので、指定されたＩＤや名称が設定されているＩＤや名称と一致せずに、指定したつもりの給紙段を使用できないことがある。このように無効なＩＤや名称が指定されたときには、印刷時にユーザーが給紙段を指定したり、給紙段に入っている用紙のサイズや向きにしたがって、給紙段を決定したりする方法が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６２７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、プリンターで給紙段の名称を設定する場合は、設定されている名称がプリンタードライバーから指定される給紙段の名称と完全に一致していないと、印刷をキャンセルさせたいことがある。これは、高価な用紙が給紙段に入っているときなどを想定しており、明示的に指定されていない用紙を安易に使わせないようにするためである。このような要請は、特許文献１に記載された技術と相いれない。すなわち、特許文献１の技術をそのまま用いれば、明示的に給紙段の名称を指定できなくともその給紙段を利用可能となることがある。一方、明示的な給紙段の名称の指定がされない限り印刷を行わせないとすれば、特許文献１記載の先行技術を用いたとしても、指定が無効なときに決定した給紙段の名称が設定された名称と完全に一致しないことには印刷できない。さらに、特許文献１記載の技術では、最適な給紙段を選択するといっても、ユーザーが指定した給紙段ではない別の給紙段が選択されてしまうことがある。また、給紙段の指定として、具体的なＩＤや名称ではなく、「自動」を選択することも多いが、このように明示的に給紙段が指定されていない場合には、高価な用紙を使わせたくはない。つまり、プリンターで給紙段の名称を指定している場合は、印刷設定として給紙段の「自動」が指定されたら印刷をキャンセルしたいが、先行技術では最適な給紙段を指定してしまう。
【０００６】
本発明は上記従来例に鑑みて成されたもので、給紙段の名称が設定されている場合には、給紙段の名称が明示的に指定されたなら該当する給紙段を用いて印刷でき、給紙段の名称が明示的に指定されていないなら印刷を行わせない情報処理装置およびその制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は以下の構成を有する。
【０００８】
本発明の第１の側面によれば、本発明は、特定の給紙段が印刷設定で指定されているか否か判定する第１の判定手段と、
前記第１の判定手段により前記印刷設定で前記特定の給紙段が指定されていると判定された場合に、画像形成装置から取得した給紙段に関する情報に基づいて、前記印刷設定で指定されている前記特定の給紙段に対して前記画像形成装置において名称が設定されているか否か判定する第２の判定手段と、
前記第２の判定手段により前記特定の給紙段に対して前記画像形成装置において前記名称が設定されていると判定された場合に、前記印刷設定に前記画像形成装置において設定されている前記名称を設定する設定手段と、
前記印刷設定を含む印刷ジョブを前記画像形成装置に送信する手段と
を有することを特徴とする情報処理装置にある。
【発明の効果】
【０００９】
本発明により、給紙段が明示的に指定されている場合には、給紙段の名称が明示的に指定されたなら該当する給紙段を用いて印刷することができ、給紙段の名称が明示的に指定されていないなら、印刷を行わせないことができる。これにより、特定の用途に使用する用紙を無駄にすることなく、確実に印刷させることを提供することができる。また、指定した給紙段以外の給紙段を勝手に選択することがない。
【図面の簡単な説明】
【００１０】
【図１】コンピューターシステムのハードウェアとソフトウェアのブロック構成図の一例を示す図である。
【図２】プリンターのハードウェア構成図の一例を示す図である。
【図３】Ｖ４プリンタードライバー印刷処理システムのブロック構成図の一例を示す図である。
【図４】Ｖ４プリンタードライバーの通信フィルターが、用紙名称を通信して取得しプリントチケットに設定するフローチャートである。
【図５】用紙名称が指定されているプリンターの印刷動作のフローチャートである。
【図６】Ｖ４プリンタードライバーのデバイスアプリが表示するユーザーインターフェースである。
【図７】Ｖ４プリンタードライバーのデバイスアプリの給紙段のユーザーインターフェースである。
【図８】Ｖ４プリンタードライバーのデバイスアプリが、用紙名称を持っているときの給紙段の表示動作のフローチャートである。
【図９】Ｖ４プリンタードライバーのデバイスアプリが、印刷時にあたらしく用紙名称を取得したときのメッセージである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
［実施形態１］
図１は本発明の実施形態を示す一般的な情報処理装置（コンピューター）を用いた画像形成システムのブロック構成図である。なお、特に断らない限り、本実施形態の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても、本実施形態に係る発明を適用できることは言うまでもない。
【００１３】
ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムを実行して情報処理装置全体を制御する。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はアプリケーション１０５１、プリンタードライバー１０５２、オペレーティングシステム（ＯＳ）１０５３等を記録する。キーボード１０３１やマウス・タッチパネルなどに代表されるポインティングデバイス１０３２などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１０４１やプリンター１０４２などの出力機器に対してデータを出力する。プリンター１０４２とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、１０７は共通データシステムバスで、Ｉ／Ｆやモジュール間でデータのやりとりを行う。なお、本実施形態に係る発明のプリンタードライバー１０５２のフローチャートの各ステップは、ＣＰＵ１０１が、フローチャートに関するプログラムを補助記憶装置１０５やＲＡＭ１０２２から読み出して実行することで実現される。また、プリンター１０４２は画像形成装置であり、印刷機能のみを持った印刷装置でも良いし、ＦＡＸ機能のみを持ったＦＡＸ装置でも良いし、スキャン機能および印刷機能など複数の機能を持った複合機でも良い。なお、プリンター１０４２を画像処理装置と呼ぶこともある。
【００１４】
●プリンターの構成
図２を用いて本発明の実施形態を示すプリンター１０４２の構成を印刷処理の流れと共に説明する。図２では、ＰＣ２０１とプリンター１０４２が、ネットワーク１０６１で接続されている。プリンター１０４２は、表示装置２０１２、入力装置２０２３、記憶装置２０２４、コントローラ２０２６、エンジン２０２７からなる。プリンターではなく複合機でもよく、複合機であればコピー、ＦＡＸなどの複数の機能を１台で実現するため、スキャナ２０２２などの機能を持つ。
【００１５】
まず、ＰＣ２０１はネットワーク１０６１を介してプリンター１０４２のネットワークＩ／Ｆ２０２５と接続されている。ＰＣ２０１のアプリケーション１０５１はドライバー１０５２を使用して、プリンター１０４２への印刷データを送信する。ＰＣ２０１は図１に示した情報処理装置の構成を有している。
【００１６】
プリンター１０４２は、ネットワークＩ／Ｆ２０２５から例えばＰＣ２０１により送信された印刷データを取得すると、コントローラ２０２６に印刷データを渡す。コントローラ２０２６と接続されたエンジン２０２７は、トナーを用いて紙の上に画像を形成する装置である。エンジン２０２７は紙の給紙を行う給紙部２０２７１と、画像データを形成した紙を排出する排紙部２０２７２を持つ。エンジン２０２７は入力された印刷データを元に、トナーを用いて紙の上に印刷を行い、紙を出力する。印刷データは、ジョブ情報と併せて印刷ジョブとしてＰＣ２０１からプリンター１０４２へと送信される。ジョブ情報にはたとえば給紙段の指定の有無および指定された給紙段の名称或いは給紙部の指定が含まれる。
【００１７】
表示装置２０２１はユーザーへの情報表示やプリンター１０４２の状態を示すユーザーインターフェースを表示する。スキャナ２０２２はオートドキュメントフィーダーを含み、束状のあるいは一枚の原稿画像を光源で照射し、原稿反射像をレンズでＣＣＤセンサなどの固体撮像素子上に結像し、固体撮像素子からの画像読み取り信号を画像データとして得る。入力装置２０２３はユーザーからの入力を受け付けるハードウェアキー、もしくはタッチパネルなどのインターフェースである。タッチパネルの場合には表示装置２０２１と一体化したものであってもよい。記憶装置２０２４はコントローラと連携して、一時的な情報を保存したり、ラスター画像や中間言語データを保存したりする。
【００１８】
本発明のプリンター１０４２のフローチャートの各ステップは、ＣＰＵ２０２６１が、フローチャートに関するプログラムを記憶装置２０２４から読み出して実行することで実現される。
【００１９】
●印刷システムのソフトウェア
図３はＶ４プリンタードライバー印刷システムのブロック構成図である。Ｖ４プリンタードライバー印刷システムはＸＭＬ Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、ＸＰＳと略す）と呼ばれるファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。図３におけるソフトウェアコンポーネントであるアプリケーション１０５１とプリンタードライバー１０５２は、補助記憶装置１０５に記憶されており、実行時にＲＡＭ１０２２にロードされ、ＣＰＵ１０１によって実行される。
【００２０】
Ｖ４プリンタードライバー印刷システムは、オペレーティングシステム１０５３（図１参照）上で動作している。プリントマネージャ３１８およびＧＤＩｔｏＸＰＳ変換モジュール３０７およびフィルターパイプラインマネージャ３１２はオペレーティングシステム１０５３に含まれるモジュールである。ＧＤＩｔｏＸＰＳ変換モジュール３０７およびフィルターパイプラインマネージャ３１２は、プリンタードライバー１０５２に含まれているが、オペレーティングシステム１０５３から提供されているプリンタードライバー１０５２専用のモジュールである。プリンタードライバー１０５２とフィルターパイプラインマネージャ３１２の各フィルターであるフィルター、本例では通信フィルター３１３、レイアウトフィルター３１４、レンダラーフィルター３１５と、デバイスアプリ３１０は、図１の補助記憶装置１０５にプリンタードライバー１０５２として格納されている。なお、デバイスアプリ３１０は、プリンタードライバーのインストールに連動して、ネットワークを介して自動的にインストールされる。
【００２１】
ＧＤＩ印刷アプリケーション３０１（以下、ＧＤＩアプリと略す）とＸＰＳ印刷アプリケーション３０２（以下、ＸＰＳアプリと略す）は、図１の補助記憶装置１０５にアプリケーション１０５１として格納されている。ＧＤＩアプリ３０１は、オペレーティングシステム１０５３が用意するＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）を使用して印刷を行うアプリである。ＸＰＳアプリ３０２は、ＸＰＳスプールファイル３０６を直接使用して印刷を行うアプリである。ユーザーはキーボード１０３１やタッチパネル／マウス１０３２などといった入力装置を使用して、出力装置のモニタ１０４１に映し出されたＧＤＩアプリ３０１、もしくはＸＰＳアプリ３０２から印刷処理を指示する。なお、印刷処理は「プリンターの選択」、「印刷設定データの作成」、「描画データの変換」と３つの処理を順番に行うことで実現される。以下、印刷処理の流れを、図３を参照して説明する。
【００２２】
●印刷処理の流れ
まず、ユーザーは、印刷したいプリンター１０４２を選択する。ユーザーから見るとプリンター１０４２の選択は、印刷を実行するプリンター１０４２に対応したプリンタードライバー１０５２を選択することと同じである。
【００２３】
次に印刷設定データが作成される。印刷設定データが作成される場合、アプリケーション１０５１が印刷設定データ用のメモリ領域をＲＡＭ１０２２に確保する。そして、アプリケーション１０５１は、プリンタードライバー１０５２のコンフィグモジュール３０８を呼び出して、印刷設定データを作成して格納する。ＧＤＩアプリ３０１では印刷設定データとしてバイナリのＤＥＶＭＯＤＥ構造体３０３を用い、ＸＰＳアプリ３０２ではマークアップ言語のＸＭＬ（ｅＸｔｅｎｓｉｖｅ  Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）で記載されたプリントチケット３０４を用いる。ＤＥＶＭＯＤＥ構造体３０３は、オペレーティングシステムが定義する標準領域とプリンタードライバーが独自で定義する拡張領域を持つ。プリントチケット３０４は、ＸＭＬ形式で記述された印刷設定データで、標準領域と拡張領域は名前空間によって記載が分かれている。印刷設定データには機種固有の情報も含まれているので、コンフィグモジュール３０８は、機種依存ファイル３０９を利用して、印刷設定データを作成する。アプリケーション１０５１は、ＤＥＶＭＯＤＥ構造体３０３もしくはプリントチケット３０４の内容を書き換えることで印刷設定を変更する。印刷設定データには、出力する用紙サイズの情報（例えば「Ａ４」）、両面印刷の指定、カラーと白黒、給紙段の指定など、印刷に必要な設定値が含まれる。印刷設定データの標準領域は仕様が外部に公開されているので、アプリケーションが直接変更できる。プリンター１０４２に依存した拡張領域は、プリンタードライバー１０５２だけが詳細な仕様を把握しているので（すなわち仕様に合わせてプログラムされているので）、通常はデバイスアプリ３１０が持つユーザーインターフェースを使ってユーザーが設定する。ＤＥＶＭＯＤＥ構造体３０３と異なり、プリントチケット３０４は設定値がＸＭＬ形式で記述されているので、ＸＰＳアプリ３０２がすべての設定値を直接変更して書き換えることは可能ではある。しかし拡張領域は、プリンタードライバーごとの独自定義であるため詳細な仕様まではわからず、プリンター１０４２によって仕様が異なることから、デバイスアプリ３１０のユーザーインターフェースを使って設定値を変更するほうが容易である。印刷設定に含まれた給紙段の指定は、予め定められた給紙段の識別情報に加えて、ユーザー等によりプリンターで設定された給紙段の名称により行える。ただし、明示的な指定を行うことなく、指定された用紙サイズ等から適切な給紙段を選択する「自動」（自動設定）を指定することもできる。なお用紙とは便宜的な表現であって、給紙段に置かれた給紙カセットに載置され、画像形成される印刷用シートを含む。
【００２４】
デバイスアプリ３１０は、プリンタードライバー１０５２の一種ではあるが、プリンタードライバーとは別のプログラムとしてインストールされる。デバイスアプリ３１０は、プリンタードライバーと、プリントチケット３０４を使用して印刷設定データをやりとりする。デバイスアプリ３１０は、印刷設定データの無効な組み合わせを解決して、正しい印刷設定データを作成するための、コンフリクトエンジン３１０１を保持する。印刷設定データの無効な組み合わせは、機種依存ファイル３０９に記載されているので、デバイスアプリ３１０のユーザーインターフェースが表示される前に、コンフリクトエンジン３１０１は、機種依存ファイル３０９を読み込む。プリンタードライバー１０５２は、ユーザーインターフェースの設定に従い、ＤＥＶＭＯＤＥ構造体３０３もしくはプリントチケット３０４のプリンター１０４２に依存した設定を変更する。印刷設定データは文書を印刷するたびに必要となるので、印刷を実行するたびに作成される。プリンター１０４２のオプション機器や、ユーザーごとの環境設定などは、プリンタードライバーがオペレーティングシステムのレジストリデータベース３０５、もしくはプロパティバッグ３１７に保存する。印刷設定データのデフォルト値はオペレーティングシステムのプリントマネージャ３１８が、レジストリデータベース３０５に保存する。ここでレジストリデータベース３０５や、プロパティバッグ３１７は、補助記憶装置１０５に保存されている。
【００２５】
最後に描画データの変換を行う。印刷設定データが確定したら、ユーザーはアプリケーションから印刷処理を指示する。ＧＤＩアプリ３０１から印刷する場合は、ＧＤＩｔｏＸＰＳ変換モジュール３０７に描画データが送られ、ＸＰＳスプールファイル３０６が作成される。このときＧＤＩｔｏＸＰＳ変換モジュール３０７はコンフィグモジュール３０８を呼び出し、印刷設定データをＤＥＶＭＯＤＥ構造体３０３からプリントチケット３０４に変換する。変換する際には、ＤＥＶＭＯＤＥ−プリントチケット変換モジュール３０８１が使用される。ＤＥＶＭＯＤＥ−プリントチケット変換モジュール３０８１は、プロパティバッグ３１７の情報を読み書きできるので、デバイスアプリ３１０が保存したデータを参照して変換することもできる。
【００２６】
ＸＰＳアプリ３０２から印刷する場合は、ＸＰＳスプールファイル３０６をＸＰＳアプリ自身が生成するのと、オペレーティングシステム１０５３がＸＰＳアプリからの描画命令に応じてＸＰＳスプールファイル３０６を生成するのと２通りの方法がある。どちらの方法であっても、印刷の途中でＸＰＳスプールファイル３０６が生成される。このようにＶ４プリンタードライバー印刷システムは、印刷時に必ず描画データに基づくＸＰＳスプールファイル３０６を生成する点が特徴である。ＸＰＳスプールファイル３０６が生成されたら、プリントフィルタパイプライン３１１に処理が渡される。給紙段の設定についてはＸＰＳ印刷アプリケーション３０２もＧＤＩ印刷アプリケーション３０１と同様に設定できる。
【００２７】
プリントフィルタパイプライン３１１は複数のフィルターを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル３１６がフィルターの数や順番を制御する。プリントフィルタパイプライン３１１で動作するフィルターパイプラインマネージャ３１２はフィルタコンフィギュレーションファイル３１６に従って、この実施例では通信フィルター３１３、レイアウトフィルター３１４、レンダラーフィルター３１５の順に処理を行う。フィルターはプリンタードライバー１０５２の構成によって、数や種類が異なる。例えば、図３の３つのフィルターに加えて、更に、印刷ジョブを暗号化するための暗号化フィルターが含まれていても良い。
【００２８】
印刷処理はＸＰＳスプールファイル３０６をフィルターに受け渡すことで行われ、フィルターがそれぞれＸＰＳスプールファイル３０６を加工し次のフィルターに渡していくことで処理が進む。最終的にはＸＰＳスプールファイル３０６が印刷ジョブに変換されて、プリンター１０４２に送信される。なお、プリンターは、印刷ジョブを解釈可能であり、送信された印刷ジョブを解釈することで印刷ジョブに基づく印刷処理を実行する。それぞれのフィルターは独自のデータをプロパティバッグ３１７に保存することができる。また、それぞれのフィルターは、プロパティバッグ３１７から、オペレーティングシステム１０５３の情報や、他のフィルターのデータを取得することもできる。
【００２９】
通信フィルター３１３では、印刷時に必要な情報をプリンターから取得し、プリントチケット３０４を書きかえたり、プロパティバッグ３１７にプリンターから取得したデータを保存したりする。レイアウトフィルター３１４では倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。レイアウトフィルター３１４では、ＸＰＳスプールファイル３０６に含まれるプリントチケット３０４に従って動作する。そのため、たとえば面付けの設定がプリントチケット３０４に存在しないときは、レイアウトフィルター３１４は何も動作せずスルーして、次のフィルターにＸＰＳスプールファイル３０６をそのまま渡す。レンダラーフィルター３１５は、入力されたＸＰＳスプールファイル３０６をレンダリングしてページ記述言語（以下、ＰＤＬ（Ｐａｇｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）と略す）に変換する。また、レンダラーフィルター３１５は、プリントチケット３０４の印刷設定データのうち標準領域の設定を、プリンタジョブ言語（以下、ＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ Ｌａｎｇｕａｇｅ）と略する）に変換する。レンダラーフィルター３１５は、ＰＤＬとＰＪＬをまとめて印刷ジョブとして、次のフィルターにストリームデータとしてフィルターパイプラインマネージャ３１２に渡す。
【００３０】
印刷ジョブは、印刷処理のスケジュール管理を行うプリントマネージャ３１８に送られ、キュー（待ち行列）に印刷ジョブが次々と登録される。プリントマネージャ３１８は、プリンター１０４２と通信してプリンター１０４２が印刷できる状態になり次第、キューに登録した順にポートモニター３１９を通して印刷ジョブをプリンター１０４２に送信する。
【００３１】
このようにして、描画データをおよび印刷設定データを印刷ジョブに変換することがプリンタードライバーの主な役目であり、情報処理装置での印刷が実施される。なお、本実施例では、印刷処理を用いて説明しているためプリンタードライバーと記載しているが、ＦＡＸ送信処理の際にも本実施形態にかかる発明を適用できる。この場合は、レンダラーフィルター３１５の代わりにＦＡＸデータを作成するＦＡＸフィルターを搭載して、ＦＡＸ機器に送信するＦＡＸドライバーとなる。
【００３２】
●通信フィルターによる用紙名称の処理
次に、通信フィルター３１３が、プリンター１０４２から取得する用紙名称を使用して、給紙段の指定ミスによるエラーを回避する方法を、図４のフローチャートで説明する。通信フィルター３１３はプリンタードライバー１０５２の一部を構成しており、図４に示す手順はＣＰＵ１０１により実行される。
【００３３】
図３のシステム構成図にあるとおり、ユーザーは給紙段の指定を含む印刷設定を作成し、アプリケーションから印刷を行う。給紙段の指定は、ＤＥＶＭＯＤＥ３０３ではカセットごとに割り当てられた数値のＩＤで行い、プリントチケット３０４では「カセット１」「カセット２」といったオペレーティングシステム１０５３かプリンタードライバー１０５２で定められた文字列で行う。
【００３４】
ユーザーによって印刷が指示されると、通信フィルター３１３はＸＰＳスプールファイル３０６を、フィルターパイプラインマネージャ３１２を介して受け取る（Ｓ４０１）。通信フィルター３１３は、プロパティバッグ３１７から、プリンター１０４２の機種ごとに記載された機種依存情報を取得する（Ｓ４０２）。通信フィルター３１３は、取得した機種依存情報を利用してこのプリンター１０４２が「用紙名称」機能をサポートしているかどうかを判定する（Ｓ４０３）。なお機種依存情報は、例えばプリンタードライバーのインストールの際にプリンタードライバーと共に読み込まれて保存される。「用紙名称」機能とは、プリンター１０４２において、ユーザーが給紙段に自由な名称を付けることができる機能である。通信フィルター３１３は、用紙名称機能をサポートする機種であれば、ＸＰＳスプールファイル３０６に含まれる印刷設定であるプリントチケット３０４を取得する。プリントチケット３０４には給紙段の指定が含まれる。給紙段は、給紙段を特定する識別情報を含み、用紙名称がサポートされるプリンターに対する印刷設定には給紙段に関連付けられた用紙名称を含むことができる。また用紙サイズ等に合わせて適切な給紙段が選択される設定である「自動」が給紙段の指定として設定されていることもあり得る。
【００３５】
通信フィルター３１３は、プリントチケット３０４の給紙段の指定を見て、「自動」かどうかを判定する（Ｓ４０４）。通信フィルター３１３は、給紙段の指定が「自動」だと判定した場合は、そのまま何もしないが、「自動」以外であると判定した場合は、次にプリンター１０４２と通信して給紙段の情報を取得する（Ｓ４０５）。プリンター１０４２から取得されるこの情報は例えばデバイス情報などと呼ばれる。デバイス情報には、給紙段の情報としてたとえば、給紙段を示す識別情報と、給紙段に関連付けられて登録された用紙名称とが含まれる。そして、通信フィルター３１３は、プリンター１０４２と通信して取得した給紙段の情報を、プロパティバッグ３１７に格納する。次に通信フィルター３１３は、プリンター１０４２から取得した給紙段の情報に基づいて、プリントチケット３０４で指定された給紙段に用紙名称が設定されているかどうかを判定する（Ｓ４０６）。このステップＳ４０６における判定はたとえば、プリントチケット３０４で指定された給紙段に関連づけて設定されている用紙名称をプリンター１０４２から取得できた場合、指定された給紙段に対応する最新の用紙名称を給紙段の設定情報としてプリントチケット３０４に書き込む（Ｓ４０７）。通信フィルター３１３は、すべて終わったら後段のフィルターにＸＰＳスプールファイル３０６を渡す（Ｓ４０８）。このようにして、通信フィルター３１３は、最新の用紙名称をプリンター１０４２から取得して、ユーザーが指定した給紙段の用紙名称と不整合が起きないようにしている。
【００３６】
●用紙名称が指定されたときのプリンターの動作
次に図５のフローチャートで、用紙名称が指定されたときのプリンター１０４２の動作を説明する。プリンター１０４２は、プリンタードライバー１０５２が作成した印刷ジョブを受け取る（Ｓ５０１）。この印刷ジョブには用紙名称が印刷設定として指定されていることもあれば、指定されていないこともある。
【００３７】
プリンター１０４２は、「用紙名称」のデータを記憶装置２０２４に保持しているかどうかを判定する（Ｓ５０２）。なお、プリンター１０４２は、ユーザーが入力装置２０２３を使用して設定した給紙段の「用紙名称」のデータを、記憶装置２０２４の中に保持している。用紙名称は給紙段ごとに設定されている。プリンター１０４２が保持している「用紙名称」のデータは、表示装置２０２１のデバイスパネルを使って、ユーザーは確認したり設定したりすることができる。
【００３８】
プリンター１０４２は、「用紙名称」のデータを保持していなければ、印刷ジョブで指定された給紙段の識別情報（ＩＤ）を使って給紙段を選択して印刷する（Ｓ５０５）。プリンター１０４２は、「用紙名称」のデータが保持されているときは、受け取った印刷ジョブの印刷設定として用紙名称が含まれているかどうかを判定する（Ｓ５０３）。プリンター１０４２は、受け取った印刷ジョブの印刷設定として用紙名称が含まれていないと判定すれば、印刷ジョブをキャンセル或いは中止する（Ｓ５０６）。キャンセルするのは、プリンター１０４２は、本体で用紙名称が設定されているときに、給紙段に入っている用紙を重要視して、正しく印刷ジョブで指定されているときだけ給紙段の用紙を使わせるためである。印刷ジョブをキャンセルした場合には、その印刷ジョブをキャンセルした旨を示すメッセージをプリンタードライバー１０５２に返す。一方、プリンター１０４２は、受け取った印刷ジョブの印刷設定として用紙名称が含まれていると判定したら、指定された用紙名称に合致した給紙段を選択する（Ｓ５０４）。図４のフローチャートで、ユーザーにより給紙段が用紙名称によって指定されている場合には、通信フィルター３１３によって当該給紙段に付与された最新の用紙名称が取得され、印刷ジョブに設定される。そのため、用紙名称が指定されていると基本的には必ず指定された用紙名称が設定された給紙段が存在する。このようにして、プリンター１０４２は、本体で用紙名称が設定されているときは、正しく指定されたときだけ印刷するように動作する。
【００３９】
●給紙段の指定のユーザーインターフェース及び処理手順
さて、プリンタードライバー１０５２の印刷設定は、デバイスアプリ３１０で作成されるが、プリンター１０４２で用紙名称が設定されているときは、給紙段の「自動」は印刷できなくなってしまうので、選択肢から選ばせないほうがよい。そこで、図６と図７の画面と図８のフローチャートを使用して、「自動」を選択させないようにする仕組みを説明する。
【００４０】
図６は、アプリケーション１０５１の画面６０１から印刷指示が選択されて、印刷を開始する際に出てくるオペレーティングシステム１０５３の印刷ダイアログ６０２を示している。印刷ダイアログ６０２では、さらに詳細な設定をするために、「その他の設定」のリンクを選択することで、デバイスアプリ６０３を起動することができる。デバイスアプリ６０３では、オペレーティングシステム１０５３の印刷ダイアログ６０２に比べ、より詳細なプリンタードライバー１０５２の機能を選択・設定することができる。図６に示した本実施例では、デバイスアプリ６０３で給紙段が選択・設定できるものとする。
【００４１】
以下、図８のフローチャートで、デバイスアプリ６０３の給紙段の選択肢の表示方法を説明する。デバイスアプリ６０３は、印刷設定を編集するためのプリントチケット３０４をオペレーティングシステム１０５３から取得する（Ｓ８０１）。デバイスアプリ６０３は、プロパティバッグ３１７から、プリンターごとの機種依存情報を取得する（Ｓ８０２）。プリンター１０４２の機種依存情報には、当該機種のプリンターが「用紙名称」をサポートしているか否かを示す用紙名称対応情報を含む。デバイスアプリ６０３は、取得した機種依存情報を利用して、給紙段に指定できる「用紙名称」をサポートしている機種かどうかを判定する（Ｓ８０３）。デバイスアプリ６０３は、「用紙名称」をサポートしている機種であれば、プリンター１０４２と通信して、用紙名称が設定されているかどうか判定する（Ｓ８０４）。なお、デバイスアプリ６０３は、Ｓ８０４でプリンター１０４２と通信せずに、Ｓ４０５で通信フィルター３１３が取得して保存したプロパティバッグ３１７の給紙段の情報に基づいて用紙名称が設定されているかどうか判定しても構わない。デバイスアプリ６０３は、用紙名称が設定されていると判定した場合、取得した用紙名称を、給紙段を示す予め定められた文字列の横にあわせて表示する（Ｓ８０５）。表示する文字列は例えば給紙段の識別情報（ＩＤ）に関連づけてデバイスアプリ６０３により、あるいはプロパティバッグ３１７などの共有情報として保持されていてよい。そして、デバイスアプリ６０３は給紙段の「自動」を選択肢から削除する（Ｓ８０６）。
【００４２】
デバイスアプリ６０３は、Ｓ８０５とＳ８０６が行われた結果、給紙段の表示を図７のように、「自動」を含むメニュー７０１から「自動」を含まないメニュー７０２に変更する。このようにして、用紙名称が設定されているプリンター１０４２であれば、給紙段の「自動」の選択肢を削除することで、必ず用紙名称を指定して印刷させるようにすることができる。
【００４３】
以上のように、印刷時に指定された給紙段に対応する用紙名称を必ず取得して設定することで、指定された給紙段で確実に印刷が行われるようにするとともに、「自動」の場合は印刷できないようにしている。また、ユーザーインターフェースから給紙段で「自動」が選択されないようにすることで、印刷できない状況を回避することができる。
【００４４】
［実施形態２］
実施形態１で説明したように、通信フィルター３１３は、印刷処理の途中でプリンターから用紙名称を取得してプリントチケットを変更してしまう。しかし、Ｖ４プリンタードライバーでは、印刷の途中で、ユーザーに対してメッセージや警告を表示するユーザーインターフェースを表示することができない。よって、通信フィルター３１３はユーザーにより指定された給紙段をプリンター１０４２で設定されている用紙名称に変更してもユーザーに通知することができない。
【００４５】
そこで、図８のフローチャートにおけるＳ８０４において、デバイスアプリ６０３は用紙名称が設定されているかどうかを判定する。そして、デバイスアプリ６０３が、用紙名称が設定されていると判定した場合、前回通信フィルター３１３によってプロパティバッグ３１７に格納された用紙名称と、新たに取得した用紙名称とが異なるかどうか判定する。この比較はたとえば給紙段ごとに行われる。ひとつの給紙段について新たに取得した用紙名称が過去に保持していた「用紙名称」と異なる場合、デバイスアプリ６０３は図９のメッセージダイアログを表示する。メッセージダイアログには、「前回の印刷中に用紙名称を取得した」ことが明記されていることで、ユーザーが印刷の途中で最新の用紙名称を取得したことがわかるようになる。
【００４６】
［その他の実施例］
なお上記実施形態では、給紙段ごとにその名称を付しているが、給紙カセットごとに名称を付し、その名称を印刷ジョブで指定させてもよい。その場合にはたとえば給紙カセットにＩＣタグなどを付し、そこに対して名称の書き込みあるいは読み出しをする。また給紙カセットごとにたとえば位置の異なる切欠き等により識別情報を付し、それをセンサによって読み取り可能に構成してもよい。その場合には識別情報に関連づけて名称が設定され、プリンターにより記録される。
【００４７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４８】
１０４２  プリンター、１０５２  プリンタードライバー、３０４  プリントチケット、３１０  デバイスアプリ、３１３  通信フィルター、３１７  プロパティバッグ
【図１】
2018018444.tif 000003
【図２】
2018018444.tif 000004
【図３】
2018018444.tif 000005
【図４】
2018018444.tif 000006
【図５】
2018018444.tif 000007
【図６】
2018018444.tif 000008
【図７】
2018018444.tif 000009
【図８】
2018018444.tif 000010
【図９】
2018018444.tif 000011