(57)【特許請求の範囲】
【請求項１】
印刷データと、前記印刷データを解析して得られた各ページの第１の印字率とを、画像処理装置から受信する受信部と、
受信部により受信された前記印刷データを、印刷されるべきドットイメージを示すドットイメージデータに展開するイメージ作成部と、
イメージ作成部により展開された前記ドットイメージデータについて各ページの第２の印字率を計算する印字率計算部と、
前記第１と第２の印字率を比較し異常の有無を判断する異常判断部とを備える印刷装置。
【請求項２】
画像処理装置と印刷装置とからなるシステムにおける印刷方法であって、
前記画像処理装置において、
アプリケーションから受け取ったデータを印刷装置が理解できる印刷データに変換し、
前記印刷データを解析して各ページの第１の印字率を計算し、
前記印刷データと前記第１の印字率を前記印刷装置に送信し、
前記印刷装置において、
前記印刷データと前記第１の印字率とを前記画像処理装置から受信し、
受信した前記印刷データを、印刷されるべきドットイメージを示すドットイメージデータに展開し、
前記展開されたドットイメージデータについて各ページの第２の印字率を計算し、
前記第１と第２の印字率を比較して異常の有無を判断する、
ことを特徴とする印刷方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストと印刷装置からなる印刷システムに関する。
【０００２】
【従来の技術】
ホストと印刷装置からなる印刷システムにおいて、ホストにおいてアプリケーションからプリンタドライバに印刷要求が行われると、プリンタドライバでは、印刷データを作成して印刷装置に送る。印刷装置では、受信した印刷データをビットデータに展開して用紙に印刷する。
【０００３】
【発明が解決しようとする課題】
印刷を行ったときに、印刷装置に適合しないプリンタドライバを用いて印刷を実行した場合に異常が生じることがある。また、プリンタドライバ又は印刷装置自体の異常又は両者の不適切な組合せによる異常が生じることがある。そのような場合、期待した印刷結果が得られないだけでなく、無意味な印刷が延々と続くことがある。したがって、異常な印刷を防止することが必要である。
印刷の異常を防止する１つの対策が特開平８−１８５２９２号公報に記載されている。ユーザがプリンタドライバを用いて設定した内容（用紙サイズなどの印刷環境データ）を、印刷データより先に印刷装置に別送信し、プリンタ側が印刷データを解析しながら、印刷データが環境データと差異がないかを判断する。プリンタは、異常があればホストに報告する。このように、プリンタドライバによる設定を基に異常の有無をチェックしている。
【０００４】
この発明の目的は、無駄な印刷を未然に防ぐことである。
【０００５】
【課題を解決するための手段】
ホストのプリンタドライバ又は印刷装置自体の異常又は両者の不適切な組合せによる印刷の異常を高い精度で検知し、無駄な印刷を未然に防ぐため、用紙の印字率を基準として異常検知を行う。ここで、印字率は、実際のプリンタ言語に変換した状態により判断する。これにより、ユーザの設定に依存せずに、プリンタドライバと印刷装置それぞれの処理結果を印字率という統一した尺度で数値化することが可能になり、両者の比較を行うことで精度の高い異常検知を実現する。
【０００６】
具体的には、本発明に係る印刷装置は、印刷データと、前記印刷データを解析して得られた各ページの第１の印字率とを、画像処理装置から受信する受信部と、受信部により受信された印刷データを、印刷されるべきドットイメージを示すドットイメージデータに展開するイメージ作成部と、イメージ作成部により展開された前記ドットイメージデータについて各ページの第２の印字率を計算する印字率計算部と、前記第１と第２の印字率を比較し異常の有無を判断する異常判断部とを備える。
【０００９】
本発明に係る印刷方法は、画像処理装置と印刷装置とからなるシステムにおける印刷方法であって、前記画像処理装置において、アプリケーションから受け取ったデータを印刷装置が理解できる印刷データに変換し、前記印刷データを解析して各ページの第１の印字率を計算し、前記印刷データと前記第１の印字率を前記印刷装置に送信する。また、前記印刷装置において、前記印刷データと前記第１の印字率とを前記画像処理装置から受信し、受信した前記印刷データを、印刷されるべきドットイメージを示すドットイメージデータに展開し、前記展開されたドットイメージデータについて各ページの第２の印字率を計算し、前記第１と第２の印字率を比較して異常の有無を判断する。
【００１４】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施の形態を説明する。
図１は、本発明の第１の実施形態の印刷システムの構成を示す。この印刷システムは、ホストコンピュータ１００と印刷装置２００からなる。ホストコンピュータ１００では、通常のコンピュータと同様に、全体を制御するＣＰＵ１０２は、プログラムなどを記憶するＲＯＭ１０４、ワークエリアとして使用されるＲＡＭ１０６、記憶装置であるハードディスク装置１０８、入力手段としてのキーボード１１０とマウス１１２、ディスプレイ装置１１４及び通信装置１１６に接続される。このコンピュータで実行されるプログラムは、ＲＯＭ１０４、ハードディスク装置１０８内のハードディスク（図示せず）等の記録媒体に記録されている。
【００１５】
ホストコンピュータ１００には、印刷を行うアプリケーション１２０があり、ユーザの印刷命令により、アプリケーション１２０からプリンタドライバ１３０に印刷要求が行われ、データが送られる。プリンタドライバ１３０は、アプリケーションから受け取った印刷データを印刷装置２００が理解できるページ記述言語(ＰＤＬ)（ポストスクリプトなど）に変換するＰＤＬ変換部１３２と、ＰＤＬへの変換と同時に印字率を計算する印字率計算部１３４を有する。印字率の計算に含まれる印刷オブジェクトは、文字列、四角形や円、直線や曲線などの図形や写真のビットマップデータ等、印刷される全てのオブジェクトが含まれる。ここで、ページの印字率とは、用紙に占めるトナー等の記録材によって印字・描画される部分の割合である。すなわち、印字率＝［印字部分の積算面積］／［印字されている用紙全体の面積］。プリンタドライバ１３０は、ＰＤＬへの変換を終えると、変換したデータを印刷装置２００に送信する。
【００１６】
印刷装置２００は、受信した印刷データを処理するプリンタコントローラ２０２、印刷を行うプリンタエンジン２４０及び各種データの入力や表示を行う操作パネル２５０を備える。プリンタコントローラ２０２は、全体を制御するＣＰＵ２０４、プログラムなどを記憶するＲＯＭ２０６、ワークエリアとして使用されるＲＡＭ２０８および通信装置２１０を備える。この印刷装置で実行されるプログラムは、ＲＯＭ２０６に記録されている。プリンタコントローラ２０２において、ＰＤＬ解析部２２０は、受信した印刷データ(ＰＤＬ)をイメージに展開するために解析を行い、イメージ作成部２２２は、プリンタエンジンに送信するドットイメージを作成する。また、印字率計算部２２４は、印字率を計算し、異常判断部２２６は、プリンタドライバ１３０から受け取った印字率と印刷装置の印字率計算部２２４で計算された印字率とを比較して異常の有無を判断する。異常がない場合、ドットイメージに展開された印刷データはプリンタエンジン２４０に送られ、ここで印刷が行われる。なお、印刷装置２００によっては複数のＰＤＬに対応しており、ＰＤＬ解析部２２０をそのＰＤＬ毎に用意している。イメージ作成部２２２は各ＰＤＬに共通である。
【００１７】
図２は、プリンタドライバ１３０の印字率計算部１１２の印字率計算動作を示したフローチャートである。プリンタドライバ１０４は、アプリケーション１０２から受け取った印刷データを解析し、順番にページ記述言語(ＰＤＬ)に変換していく。ページ記述言語は、各言語によって様式は異なるが、文字や図形を描画するためのオペレータによって記述される。このフローにおいて、ステップＳ１０では、印刷データを１つ１つオペレータに変換を行っている。このオペレータヘの変換作業に引き続いて、ステップＳ１２では、そのオペレータが、引数として与えられたパラメータのときどれだけの印字率で用紙上に印刷されるかを計算する。ここで、文字コードやベクターコードの場合は、印字率変換用のテーブルを用意しておく。文字コード、ベクターコードおよびビットマップコードのなかでは、特にフォントの変換における誤差が生じる。ステップＳ１４では、変換したオペレータがページの最後を示すものか否かを判断し、最後でなければステップＳ１０およびＳ１２を繰り返す。印字率は各オペレータごとに加算される。もし１ページ分の変換が終了すればその時点で該当ページの印字率を一旦メモリに保存する。ステップＳ１６では、１ページ分の変換が終了する度に、そのページが印刷データ全体の最終ページであるか否かを判断する。最終ページでなければ再びステップＳ１０〜Ｓ１４を繰り返す。最終ページであればこのループを抜け出す。
【００１８】
ステップＳ１８では、ＰＤＬへの変換を終えた印刷データのヘッダー部に、メモリに保存しておいた各ページの印字率を付加する。以上の処理がプリンタドライバ１３０内で行われ、印字率を含む印刷データは印刷装置２００に送られる。
【００１９】
図３は、印刷装置２００内のプリンタコントローラ２０２の印字率計算部２２４の印字率計算処理のフローチャートである。プリンタコントローラ２０２では、受信した印刷データをそのＰＤＬに適合したＰＤＬ解析部２２０によって解析し、それをイメージ作成部でドットイメージに展開する。ステップＳ２０では、ＰＤＬ解析部２２０で解析を終えた印刷データを、ドットイメージに展開する。ステップＳ２２では、展開されたドットイメージの各ドットの0n/0ffを判定して、印字率を計算する。このフローでは、ステップＳ２０で１ページ全てのドットイメージを作成してから印字率を求める手順となっているが、これは１ページをいくつかの領域(バンド)に分けてその領域毎に印字率を求めて１ページ分を合算するという手順でもよい。ステップＳ２４では、印刷データに付属してきた、プリンタドライバが計算した印字率と、ステップＳ２２で計算した印字率を比較する。プリンタドライバと印刷装置がお互いに正しく機能していれば、プリンタドライバがＰＤＬに変換した際の印字率と、印刷装置がそのＰＤＬを元にドットイメージに展開した印字率は一致するはずである。
【００２０】
印字率が同じであればステップＳ２６に進み、異なっていれば、ステップＳ３０に進む。印字率が同じであれば、まずステップＳ２６で、ドットイメージをプリンタエンジン２４０に送信する。これによって、印刷装置はプリンタエンジンで印刷を実行することになる。次に、ステップＳ２８では、ステップＳ２６まで行った処理が最終ページのものであるか否かを判定し、最終ページでなければステップＳ２０に戻り、次のぺージの処理を継続して実行する。最終ページであれば、処理を終了する。
【００２１】
一方、ステップＳ２４で印字率が異なる場合は、ステップＳ３０でエラー処理を実行してから、印刷処理を終了する。エラー処理は、表示装置にエラーを通知（表示）する処理を含む。なお、エラー対策としては、たとえばラスターモードに変換することや、印刷装置に適合した別のドライバを使用することなどが考えられる。
【００２２】
このフローでは、異常が発生したページで印刷処理全体を中断することを示している。しかし、そのページの印刷だけを中止し、次ページ以降についてはステップＳ２０以降を実行して処理を継続させてもよい。
また、ステップＳ２４での印字率の比較において、どの程度一致しているか、その割合(しきい値)を設定できるようにしてもよい。また、その値の設定は、プリンタドライバ側と印刷装置側のどちらでもできるようにしてもよい。
【００２３】
次に、第２の実施形態について説明する。第１の実施形態は、ホスト側と印刷装置側のそれぞれに印字率を計算する機能を付加した印刷システムである。これに対して、本実施形態は、イメージデータの展開をホストコンピュータ側で行う印刷システムであり、２つの印字率の計算機能をプリンタドライバ側だけに持たして、同様の効果をもたらす。本実施形態の第１の実施形態と異常検知の違いは、プリンタドライバが、解析した結果と実際に印刷される結果(ドットイメージ)とに差異がないかを判断することにある。
【００２４】
図４は、プリンタドライバ側だけに印字率計算機能を付加した本実施形態の印刷システムを示している。この印刷システムは、ホストコンピュータ３００と印刷装置４００からなる。ホストコンピュータ３００では、通常のコンピュータと同様に、全体を制御するＣＰＵ３０２は、プログラムなどを記憶するＲＯＭ３０４、ワークエリアとして使用されるＲＡＭ３０６、記憶装置であるハードディスク装置３０８、入力手段としてのキーボード３１０とマウス３１２、ディスプレイ装置３１４及び通信装置３１６に接続される。このコンピュータで実行されるプログラムは、ＲＯＭ３０４、ハードディスク装置３０８内のハードディスク（図示せず）等の記録媒体に記録されている。
【００２５】
ホストコンピュータ３００には、印刷を行うアプリケーション３２０があり、ユーザの印刷命令により、アプリケーションからプリンタドライバ３３０に印刷要求が行われ、データが送られる。プリンタドライバ３３０は、アプリケーション３２０から受け取った印刷データをＰＤＬ解析部３３２で解析し、その際に各印刷オブジェクト(文字列、図形等)ごとの印字率を、第１印字率計算部３３４で計算する。イメージ作成部３３６では、解析したデータをドットイメージに展開する。その際に、第２印字率計算部３３８は、各ドットの0n/0ffから印字率を計算する。異常判断部３３９は、第１印字率計算部３３４と第２印字率計算部３３８の印字率の計算結果を比較する。同じであれば、プリンタドライバ３３０は、印刷装置４００にデータを送信し、プリンタコントローラ４０２を経てプリンタエンジン４４０によって印刷が行われる。
【００２６】
印刷装置４００は、受信した印刷データを処理するプリンタコントローラ４０２、印刷を行うプリンタエンジン４４０及び各種データの入力や表示を行う操作パネル４５０を備える。プリンタコントローラ４０２は、全体を制御するＣＰＵ４０４、プログラムなどを記憶するＲＯＭ４０６、ワークエリアとして使用されるＲＡＭ４０８および通信装置４１０を備える。この印刷装置で実行されるプログラムは、ＲＯＭ４０６に記録されている。プリンタコントローラ４０２において、ＰＤＬ解析部４２０は、受信した印刷データ(ＰＤＬ)をイメージに展開するために解析を行い、イメージ作成部４２２は、プリンタエンジンに送信するドットイメージを作成する。
【００２７】
次に、本発明の第３の実施形態について説明する。第１の実施形態は、ホスト側と印刷装置側のそれぞれに印字率を計算する機能を付加した印刷システムであるが、本実施形態では、２つの印字率の計算機能を印刷装置側だけに持たせて、印刷異常を検知する。
【００２８】
図５は、印刷装置側だけに印字率計算機能を付加した本実施形態のシステムを示している。この印刷システムは、ホストコンピュータ５００と印刷装置６００からなる。ホストコンピュータ５００では、通常のコンピュータと同様に、全体を制御するＣＰＵ５０２は、プログラムなどを記憶するＲＯＭ５０４、ワークエリアとして使用されるＲＡＭ５０６、記憶装置であるハードディスク装置５０８、入力手段としてのキーボード５１０とマウス５１２、ディスプレイ装置５１４及び通信装置５１６に接続される。このコンピュータで実行されるプログラムは、ＲＯＭ５０４、ハードディスク装置５０８内のハードディスク（図示せず）等の記録媒体に記録されている。
【００２９】
ホストコンピュータ５００には、印刷を行うアプリケーション５２０があり、ユーザの印刷命令により、アプリケーションからプリンタドライバ５３０に印刷要求が行われ、データが送られる。プリンタドライバ５３０は、アプリケーション５２０から受け取った印刷データをＰＤＬ変換部５３２でＰＤＬに変換を行い、変換したデータを印刷装置６００に送信する。
【００３０】
印刷装置６００は、受信した印刷データを処理するプリンタコントローラ６０２、印刷を行うプリンタエンジン６４０及び各種データの入力や表示を行う操作パネル６５０を備える。プリンタコントローラ６０２は、全体を制御するＣＰＵ６０４、プログラムなどを記憶するＲＯＭ６０６、ワークエリアとして使用されるＲＡＭ６０８および通信装置６１０を備える。この印刷装置で実行されるプログラムは、ＲＯＭ６０６に記録されている。
【００３１】
印刷装置６００は、ＰＤＬ解析部６２０は、受信した印刷データ(ＰＤＬ)をイメージに展開するために解析を行い、イメージ作成部２２２は、プリンタエンジンに送信するドットイメージを作成する。解析の際に第１印字率計算部６２２が各オペレータ毎の第１印字率を計算する。イメージ作成部６２２は、ＰＤＬ解析部６２０で解析したデータをドットイメージに展開する。その際に、第２印字率計算部６２６は、各ドットの0n/0ffから第２印字率を計算する。異常判断部６２８は、第１印字率計算部６２４と第２印字率計算部４２６の２つの印字率の計算結果を比較して異常の有無を判断する。同じであれば、プリンタコントローラ６０２はイメージデータをプリンタエンジン６４０に送信して、印刷を行う。
【００３２】
【発明の効果】
画像処理装置及び／または印刷装置に印字率を計算する機能を付加することによって、印字率を出力データに基いて判断して高い精度で異常を検知できる。それによって、印刷装置に適合しないプリンタドライバを用いて印刷を実行した場合やプリンタドライバ又は印刷装置が何らかの異常で正しく処理できなかった場合などに、むだな印刷を防止することができる。また、印刷装置の機構はページ記述言語に依存しないため、将来的に対応するページ記述言語が増加した場合でも変更が不要である。
【図面の簡単な説明】
【図１】  第１の実施の形態の印刷システムの構成を示す図
【図２】  プリンタドライバの印字率計算のフローチャート
【図３】  プリンタコントローラの印字率計算のフローチャート
【図４】  プリンタドライバ側だけに印字率計算機能を付加した第２の実施の形態の印刷システムの構成図
【図５】  印刷装置側だけに印字率計算機能を付加した第３の実施の形態の印刷システムの構成図
【符号の説明】
１００  ホストコンピュータ、    １０２  ＣＰＵ、    １３０  プリンタドライバ、    ２００  印刷装置、    ２０２  プリンタコントローラ、    ３００  ホストコンピュータ、    ３０２  ＣＰＵ、    ３３０  プリンタドライバ、    ４００  印刷装置、    ４０２  プリンタコントローラ、    ５００  ホストコンピュータ、    ５０２  ＣＰＵ、    ５３０  プリンタドライバ、    ６００  印刷装置、    ６０２  プリンタコントローラ。
【図１】
0004732624.tif 000002
【図２】
0004732624.tif 000003
【図３】
0004732624.tif 000004
【図４】
0004732624.tif 000005
【図５】
0004732624.tif 000006