(57)【要約】【課題】本発明は、ドライバ自身の処理能力の向上とユーザ自身が判断すべき項目、設定すべき項目を全て自動化して印刷データの書式にあうネットワーク、ローカル接続されたプリンタから最適なプリンタを抽出し、印刷するまでにかかる時間を著しく解消することを目的としている。【解決手段】ドライバから受信する印刷データとそのデータの書式情報に基づいてネットワーク、ローカル接続されたプリンタの中から最適なプリンタを抽出し、更に即印刷を受け取ることを可能にするため各プリンタの状態を検知してから印刷させる印刷制御装置に関するものである。また、どのプリンタから印刷されたかを通知することを特徴とする印刷制御装置に関するものである。【選択図】　　　　図１
2004038241.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク、ローカル接続されたプリンタにおいて、現在装着されている用紙種、用紙サイズ、カートリッジ種、余白情報等、各プリンタがもつデバイス情報を取得する情報取得手段とその情報取得をプリンタドライバが直接行わず、プリンタとドライバ間で制御することを特徴とする印刷制御装置。
【請求項２】
前記記載の印刷制御装置において、ユーザが印刷を実行するために必要な設定や選択にかかる時間を短縮化するため現在接続されているプリンタの状態を監視する監視手段とその監視手段によって現在プリンタがビジー状態であるかないかを判断し印刷データフォーマットと一致するかどうか自動で識別する識別手段を特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記記載の印刷制御装置において、ドライバから受け取る印刷データ、そのデータの書式情報と、プリンタ側から取得した情報とを比較し印刷データフォーマットに基づいた最適なプリンタを検知することを特徴とする請求項１記載の印刷制御装置。
【請求項４】
前記記載の印刷制御装置において、ドライバから受信する印刷データフォーマットに基づいた最適なプリンタを検出した結果（印刷データがどのプリンタから出力されるか）を通知することを特徴とする請求項１記載の印刷制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク、ローカル接続されたプリンタにおいて、ドライバがプリンタへ印刷要求する印刷データとプリンタから取得したデバイス情報とを比較し、印刷データフォーマットに基づいた最適なプリンタを検出し印刷する検出手段と、ユーザが印刷を実行するために必要な設定や選択にかかる時間を短縮化するため、現在接続されているプリンタの状態を監視する監視手段とその監視手段によって現在プリンタがビジー状態であるかどうかを判断し、ビジー状態でない最適なプリンタを自動的に検出する検出手段とその結果により印刷を実行させる制御手段と、目的にあった印刷結果がどのプリンタから出力されたかをユーザに伝えるプリンタ通知手段を備えた印刷制御装置に関する。
【０００２】
【従来の技術】
従来の印刷制御装置においては、ドライバがプリンタのデバイス情報を取得し、その結果をユーザに通知することでユーザ自身が最適なプリンタを判断或いは、選択して印刷する方式であった。また、従来は、ユーザが選択したプリンタのみ感知するだけで最適なプリンタを自動的に検出し印刷する手段がなかった。また、従来は、ユーザが各プリンタの状態、プリンタがもつ印刷能力（スピード、カートリッジ種、上下左右のマージン情報など）を判断し、印刷するプリンタを選択してユーザ自身で選択する方式であった。
【０００３】
【発明が解決しようとする課題】
然しながら、上述の従来例では、プリンタが追加される度にドライバの更新が必要になるばかりでなくドライバ自身の処理能力の低下につながるという課題がある。また、ユーザ自身が判断すべき項目、設定すべき項目が多いため、印刷するまでにかかる時間に無駄が生じるという課題がある。
【０００４】
例えば、従来は、ドライバが各プリンタのマージン情報をデータベース化して持っており、機種が追加されるたびにデータベースの更新が必要になるという課題がある。また、ユーザ自身が最適なプリンタを選択する時間に無駄が生じるという課題がある。
【０００５】
本発明は、上述の点に着目して成されたもので、ユーザ、ドライバに処理の負担を軽減させることを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、下記構成を備えることにより上記課題を解決できるものである。
【０００７】
（１）ネットワーク、ローカル接続されたプリンタにおいて、現在装着されている用紙種、用紙サイズ、カートリッジ種、余白情報等、各プリンタがもつデバイス情報を取得する情報取得手段とその情報取得をプリンタドライバが直接行わず、プリンタとドライバ間で制御することを特徴とする印刷制御装置。
【０００８】
（２）前記記載の印刷制御装置において、ユーザが印刷を実行するために必要な設定や選択にかかる時間を短縮化するため現在接続されているプリンタの状態を監視する監視手段とその監視手段によって現在プリンタがビジー状態であるかないかを判断し印刷データフォーマットと一致するかどうか自動で識別する識別手段を特徴とする前記（１）記載の印刷制御装置。
【０００９】
（３）前記記載の印刷制御装置において、ドライバから受け取る印刷データ、そのデータの書式情報と、プリンタ側から取得した情報とを比較し印刷データフォーマットに基づいた最適なプリンタを検知することを特徴とする前記（１）記載の印刷制御装置。
【００１０】
（４）前記記載の印刷制御装置において、ドライバから受信する印刷データフォーマットに基づいた最適なプリンタを検出した結果（印刷データがどのプリンタから出力されるか）を通知することを特徴とする前記（１）記載の印刷制御装置。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【００１２】
図１は、本発明の印刷制御装置の一実施形態を示すブロック図である。
【００１３】
図１における符号１は、装置全体の制御を行う制御部で、マイクロプロセッサなどの中央演算処理装置（以下、ＣＰＵという）や各種Ｉ／Ｏポートを備え、各部に制御信号やデータ信号などを出力したり、後述の各部からの制御信号やデータ信号を入力して制御を行っている。符号２は、図２に示す手順のプログラム、システムプログラムやマネージャプログラムおよびその他のアプリケーションプログラム等や文字フォント及び辞書などを記憶する読み出し専用メモリ（ＲＯＭ）である。符号３は、外部に増設された読み出し専用メモリ（外部ＲＯＭ）４からロードされたアプリケーションプログラムや文書情報などを記憶する読み書き可能なメモリ（ＲＡＭ）である。符号５は、文書情報や各種コマンドなどを入力するキーボード６を制御するキーボード制御装置（以下、ＫＢＣという）である。符号７は、例えば、液晶などを利用した平面または略平面の表示領域を有するフラットパネルなどの表示装置（表示手段；以下、ＣＲＴという）８を制御する表示制御装置（以下、ＣＲＴＣという）である。符号９は、外部記憶装置としてのフロッピー（Ｒ）ディスク駆動装置（以下、ＦＤＤという）１０やハードディスク駆動装置（以下、ＨＤＤという）１１を制御する周辺装置制御装置（以下、ＰＫＣという）である。なお、上記ＦＤＤ１０または、ＨＤＤ１１に図２に示す手順のプログラムを記憶させてもよい。符号１２は、ヘッドを用いて画像形成を行うプリント装置（以下、ＰＲＴという）である。このＰＲＴ１２は、本発明の印刷制御装置の一部を構成する要素である。符号１３は、マウス等のポインティングデバイス（以下、ＰＤという）であり、上記ＣＲＴ８上の表示を選択的に指示するのに用いることができる。かかる特定手段と上述の表示手段とは、スピード印刷を選定する選定手段を構成する。
【００１４】
図１に示した印刷制御装置においては、ＲＯＭ２、ＰＲＴ１２、ＨＤＤ１１あるいは、ＲＡＭ３上にプログラムが存在しており、制御部１がシステムバス１４を通じて逐次プログラムを読み出しながら目的の処理を行うように設定されている。
【００１５】
次に図２は、ネットワーク接続（プリントサーバ経由も含む）、ローカル接続されたプリンタからデバイスの構成情報（例えば、余白情報（非印字可能領域の上下左右マージン情報）、装着されているカートリッジ種の情報、セットされている用紙サイズ情報等）の取得、印刷を実行するため等に必要な動作環境を示すブロック図である。
【００１６】
次に図３〜図７の処理工程を示すフローチャートに基づいて、目的の印刷処理手順、作用などを説明する。
【００１７】
まず、図３のステップ３１１において、図２のネットワーク接続（プリントサーバ経由も含む）、ローカル接続されたプリンタデバイスの探索処理を行う。次にステップ３１２で、ＰｒｔＴａｂＮｕｍ（ネットワーク接続、ローカル接続されたプリンタの数を示す）を初期化する。次にステップ３１３で、各プリンタの構成情報（例えば、余白情報（非印字可能領域の上下マージン）、装着されているカートリッジ種の情報、セットされている用紙サイズ情報等）の取得が完了したかどうかチェックを行う。仮にステップ３１１で探索した全てのプリンタの構成情報を取得していない場合は、一つ一つローカル接続されたプリンタとネットワーク接続されたプリンタの構成情報の取得処理を行う。ステップ３１４は、現在構成情報を取得しようとしているプリンタがローカル接続されたプリンタかどうかを判別処理を行うものである。仮に現在参照すべきプリンタがローカル接続されたプリンタである場合は、ステップ３１５に進み、そのデバイスの構成情報を取得し、ステップ３１６でそのプリンタの構成情報をテーブルに格納し、ステップ３１７でＰｒｔＴａｂＮｕｍ（ネットワーク接続、ローカル接続されたプリンタの数を示す）をインクリメントする。現在参照すべきプリンタがローカル接続されていない場合は、ステップ３１４からステップ３１８に処理をうつし、ネットワーク接続されたプリンタかどうか判別処理を行う。仮にネットワーク接続されたプリンタである場合は、ステップ３１９に処理をうつしそのデバイスの構成情報を取得し、ステップ３２０でそのプリンタの構成情報をテーブルに格納し、ステップ３２１でＰｒｔＴａｂＮｕｍ（ネットワーク接続、ローカル接続されたプリンタの数を示す）をインクリメントする。現在参照すべきプリンタがネットワーク接続されたプリンタでない場合は、ステップ３１８からステップ３１３に処理をうつし、次のプリンタデバイスに対して処理を繰り返す。仮にステップ３１１で探索した全てのプリンタの構成情報を取得処理完了していた場合には、ステップ３２２に進みドライバから印刷データの受信待ち処理を行う。
【００１８】
図４は、ネットワーク接続、ローカル接続された全てのプリンタがビジー状態であるかどうかをチェックすることを示すフローチャートである。ステップ４１１は、図３のステップ３２２で印刷データを受信後、ドライバから印刷データを取得することを示している。この印刷データ取得時にドライバは、例えば、上下余白幅、用紙サイズ等の情報を印刷データと共に付加する必要がある。ステップ４１２は、ＮｏＢｕｓｙＰｒｔＮｕｍ（ネットワーク、ローカル接続されたプリンタがビジー状態（印刷中、クリーニング中、ウォーミングアップ中等プリンタが即印刷できない状態を示す）でない全てのプリンタの数を示す）の初期化処理を行う。ステップ４１３は、図３で探索したネットワーク、ローカル接続された全てのプリンタを一つずつビジー状態であるかどうかをチェックするためのループ処理を示す。仮にステップ４１３でネットワーク、ローカル接続された全てのプリンタのチェックが完了していない場合は、ステップ４１４に処理がうつりデバイスの状態検知処理を行う。ステップ４１５は、ステップ４１４でデバイスの状態を検知した結果ビジー状態かどうかを判別することを示している。仮にビジー状態で無い場合は、ステップ４１６で、そのプリンタ名等（非ビジー状態であるプリンタと判断できる情報）をテーブルに格納し、ステップ４１７で非ビジー状態プリンタカウンターＮｏＢｕｓｙＰｒｔＮｕｍをインクリメント処理を行い、ステップ４１８でＰｒｔＴａｂＮｕｍ（ネットワーク接続、ローカル接続されたプリンタの数を示す）をデクリメント処理を行い、ステップ４１３に戻り全てのプリンタのチェックが終了するまで処理を繰り返す。仮にステップ４１５で現在参照しているプリンタがビジー状態である場合には、直接ステップ４１８に処理をうつし、ステップ４１３で全てのプリンタのチェックが終了するまで処理を繰り返す。仮にステップ４１３で全てのプリンタのビジー状態チェックが終了した場合は、図５の処理に移行する。
【００１９】
次に図５は、図４で検出した非ビジー状態（ビジー状態でない即印刷可能な状態を示す）のプリンタがもつ構成情報とドライバから受信した情報が一致するかどうか比較して印刷することを示すフローチャートである。ステップ５１１は、図４で検出した非ビジー状態プリンタカウンターＮｏＢｕｓｙＰｒｔＮｕｍを用いて非ビジー状態の全てのプリンタを一つずつ比較するために使用するループ処理を示す。仮に非ビジー状態の全てのプリンタのチェックが完了していない場合は、ステップ５１２で非ビジー状態のプリンタがもつ構成情報とドライバから受信した情報が一致するかどうか比較し、もし一致する場合は、ステップ５１３でプリンタ名の表示処理を行い、図７のダイアログ表示を行い印刷処理の開始命令を出す。例えば、各プリンタごとに、印字上下左右余白幅が異なる。そこで、各プリンタがもつ各用紙サイズに対しての上下左右余白幅の情報を各プリンタから取得し、印刷データの書式の余白幅と比較して一致、又は、印字可能である場合（印字がはみ出さない場合など）は、印刷制御を行う。仮にステップ５１２で一致しなかった場合には、ステップ５１４に処理を移し、非ビジー状態プリンタカウンターをデクリメントし、ステップ５１１に処理を戻し非ビジー状態のプリンタが全てチェック完了するまで処理を繰り返す。仮にステップ５１１で全てのプリンタのチェックが完了した場合は、一致するプリンタがないことを示し、図６の処理に移行する。
【００２０】
図６は、非ビジー状態のプリンタ内で印刷データが一致しなかった場合にビジー状態のプリンタに処理を行わせることを目的としたフローチャートである。ステップ６１１は、図３で検出したネットワーク接続、ローカル接続された全てのプリンタカウンターＰｒｔＴａｂＮｕｍを用いて全てのプリンタを一つずつ比較するために使用するループ処理を示す。仮にネットワーク接続、ローカル接続されたプリンタのチェックが完了していない場合は、ステップ６１２に処理を移し、そのプリンタがもつ構成情報とドライバから受信した情報が一致するかどうか比較し、もし一致する場合は、ステップ６１４でプリンタ名の表示処理を行い、図７のダイアログ表示を行い印刷処理の開始命令を出す。仮にステップ６１２で一致しなかった場合は、ステップ６１３に処理を移し、ネットワーク接続、ローカル接続された全てのプリンタカウンターＰｒｔＴａｂＮｕｍをデクリメントし、ステップ６１１に処理を戻し全てのプリンタのチェックが完了するまで処理を繰り返す。仮にステップ６１１で全てのプリンタのチェックが完了した場合は、ステップ６１４に処理が移り、ドライバに印刷データの書式にあうプリンタが存在しないことを通知すると共にネットワーク、ローカル接続されたプリンタの構成情報もドライバに通知する。ドライバは、この情報を基に拡大／縮小レイアウトを行い再びダイアログ上で印刷実行を行い図３の処理に移行する。
【００２１】
【発明の効果】
以上説明したように本発明によれば、プリンタが追加される度にドライバの更新が不要になりドライバの共通化をはかれ、ユーザのインストールにかかる時間や無駄を削減することができる。また、本発明によれば、印刷データに基づいた最適なプリンタを自動的に検出するため、ユーザ自身が判断すべき項目、設定すべき項目が大幅に減少されその結果、印刷が完了するまでにかかる時間を大幅に短縮できるという効果がある。
【図面の簡単な説明】
【図１】本発明の印刷制御装置の一実施形態を示すブロック図である。
【図２】ネットワーク接続（プリントサーバ経由も含む）、ローカル接続されたプリンタの示すブロック図である。
【図３】ネットワーク、ローカル接続されたプリンタの構成情報を取得するための動作を示すフローチャートである。
【図４】プリンタの状態検知、非ビジー状態プリンタのテーブル格納処理動作を示すフローチャートである。
【図５】プリンタのデバイス情報と印刷データの書式を比較する動作を示すフローチャートである。
【図６】印刷中でないプリンタを図４で格納したテーブルから抜き出し、印刷データの書式と比較して印刷するまでの動作を示すフローチャートである。
【図７】出力されたプリンタを示す模式図である。
【符号の説明】
１　制御部（ヘッド制御手段）
２　ＲＯＭ
３　ＲＡＭ
４　外部ＲＯＭ
５　キーボード制御装置
６　キーボード（特定手段）
７　表示制御装置
８　表示装置（表示手段）
９　周辺装置制御装置
１０　フロッピー（Ｒ）ディスク
１１　ハードディスク
１２　プリント装置
１３　ポインティングデバイス
【図１】
2004038241.tif 000003
【図２】
2004038241.tif 000004
【図３】
2004038241.tif 000005
【図４】
2004038241.tif 000006
【図５】
2004038241.tif 000007
【図６】
2004038241.tif 000008
【図７】
2004038241.tif 000009