【解決手段】印刷制御手段11aは、エラー検出手段11bによってエラーが検出された場合、印刷手段(印刷実行部16)に印刷を中断させると共に、その印刷中断中に新たな印刷ジョブが受信されるか否かを判定し、印刷中断中に新たな受信ジョブが受信された場合は、さらに印刷が中断された印刷ジョブと新たに受信された印刷ジョブとを比較して同じ印刷ジョブであるか否かを判定する。同じ印刷ジョブである場合、新たに受信された印刷ジョブに基づいて出力完了の次のページから印刷を再開させる一方、同じ印刷ジョブでない場合、印刷が中断された印刷ジョブの印刷処理を終了すると共に、新たに受信された印刷ジョブに基づいて先頭のページから印刷させる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の特許文献1に記載された印刷ジョブ管理装置では、印刷中にエラーが発生した場合、ネットワークを介して印刷装置でのエラーを検出し、出力完了ページ数分をスキップした次ページから印刷を再開させる制御コマンドを印刷ジョブに付加してネットワークを介して印刷装置へ再送する等、特殊なシーケンスを用いてネットワーク上で何度も印刷装置とデータを送受信する必要がある。
【0006】
そのため、ネットワーク上で通信エラーが発生している場合には、印刷装置におけるエラー発生を検出できないと共に、次ページから印刷を再開させる制御コマンドを付加した印刷ジョブを印刷装置に対し再送できない場合があった。
【0007】
また、最近の印刷装置は、プリントサーバやネットワーク等を介して複数のコンピュータ装置や携帯情報端末などの印刷ジョブ送信装置と接続されており、複数の印刷ジョブ送信装置から印刷ジョブを受信して印刷する場合が多い。
【0008】
そのため、ある印刷ジョブ管理装置が送信した印刷ジョブの印刷枚数が膨大な場合にその印刷中にエラーが発生して、そのエラーの復旧や印刷再開後の印刷完了までに時間を要した場合、その間に他の印刷ジョブ管理装置から印刷ジョブを受信しても、新たに受信した印刷ジョブの印刷を長時間待機させるという問題もある。
【0009】
本発明はこのような問題に鑑みてなされたもので、印刷中にエラーが発生した後の印刷ジョブの再開、または実行を適切に制御することができる印刷装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明に係る印刷装置の特徴は、外部端末から送信される印刷ジョブに基づいて印刷手段に印刷を実行させる印刷制御手段と、前記印刷ジョブの印刷中に、この印刷ジョブの受信エラーを検出するエラー検出手段とを備え、前記印刷制御手段は、前記エラー検出手段によって前記受信エラーが検出された場合、前記印刷手段に前記印刷ジョブの印刷を中断させ、その印刷中断中に新たな印刷ジョブが受信されると、印刷が中断された前記印刷ジョブと前記新たな印刷ジョブとが同じ印刷ジョブであるか否かを判定し、同じ印刷ジョブであると判定した場合、新たに受信された前記印刷ジョブに基づいて出力完了の次のページから印刷を再開させる一方、同じ印刷ジョブでないと判定した場合、印刷が中断された前記印刷ジョブの印刷処理を終了すると共に、新たに受信された前記印刷ジョブに基づいて前記印刷手段に先頭のページから印刷させることにある。
【発明の効果】
【0011】
本発明に係る印刷装置の第1の特徴によれば、印刷ジョブの印刷中にこの印刷ジョブの受信エラーが検出された場合、その印刷ジョブの印刷を中断させ、その印刷中断中に新たな印刷ジョブが受信されると、印刷が中断された印刷ジョブとその新たな印刷ジョブとが同じ印刷ジョブであるか否かを判定し、同じ印刷ジョブである場合、新たに受信された印刷ジョブに基づいて出力完了の次のページから印刷を再開させる一方、同じ印刷ジョブでない場合、印刷が中断された印刷ジョブの印刷処理を終了すると共に、新たに受信された印刷ジョブに基づいて先頭のページから印刷させる。そのため、印刷中にエラーが発生した場合にはネットワークを介した特別なシーケンスを必要とせず、かつ、用紙を無駄にせず効率良く印刷ジョブの実行を制御することができる。
【発明を実施するための形態】
【0013】
以下、本発明に係る印刷装置の実施例について図面を参照して説明する。なお、以下に説明する実施例の印刷装置は、あくまで本発明に係る印刷装置の一例であり、本発明の技術的思想の範囲内において適宜変更可能である。
【0014】
図1は、本発明に係る印刷装置の機能を備えた実施例の印刷装置1を含むシステム全体の構成を示す構成図である。
【0015】
図1に示すように、本発明に係る印刷装置の機能を備えた実施例の印刷装置1は、有線または無線のイントラネットワークやインターネット等のネットワーク3を介してジョブを送信する複数(ここでは、説明の便宜上、例えば、4台とするが、4台以外でも勿論良い。)の印刷ジョブ送信装置2A〜2Dと接続されている。
【0016】
印刷装置1は、CPU11と、メモリ12と、プログラム記憶部13と、印刷実行部14と、ネットワーク3と接続されたネットワークI/F部15aを有するプリントサーバ15等を備える。なお、印刷装置1は、これらの構成以外に、図示はしないが、モニタや各種スイッチ、テンキー等を有する操作パネル部やスキャナ等の画像読取り部等を備えていても良い。また、プリントサーバ15は、印刷装置1に内蔵されてなく、別装置でも良い。
【0017】
CPU11は、プログラム記憶部13に記憶された制御プログラム13aを実行することにより、印刷装置1全体の制御を実行すると共に、本発明に係る印刷装置の機能を具現化する印刷制御手段11aおよびエラー検出手段11bとして機能する。
【0018】
メモリ12は、各印刷ジョブ送信装置2A〜2Dからネットワーク3を介してプリントサーバ15が受信した印刷ジョブが記憶される印刷ジョブ記憶領域12aと、印刷の途中でエラーが発生した印刷ジョブを記憶するエラージョブ記憶領域12bとを備える。なお、本発明のように印刷ジョブ記憶領域12aとエラージョブ記憶領域12bとに分けることは必須ではない。例えば、エラーが発生した印刷ジョブを破棄するまで印刷ジョブ記憶領域12aに格納しておく構成であれば、エラージョブ記憶領域12bは省略できる。
【0019】
プログラム記憶部13は、CPU11が印刷装置1全体の動作を制御すると共に、本発明の印刷制御手段11aおよびエラー検出手段11bとして機能するための制御プログラム13aが格納されている。
【0020】
印刷実行部14は、各色のインクヘッドからインクを吐出して印刷を行うインクジェット方式や、孔版印刷方式や、レーザー印刷方式等の各種印刷方式により印刷を行う。
【0021】
印刷ジョブ送信装置2A〜2Dは、汎用のPCやタブレット等のコンピュータ装置ないしはスマートフォン等の情報通信端末装置であり、印刷ジョブを生成して、ネットワーク3を介して印刷装置1に対し送信して印刷させる。
【0022】
次に、以上のように構成された実施例の印刷装置の動作を、フローチャートを参照して説明する。
【0023】
図2は、実施例の印刷装置1の動作を示すフローチャートである。
【0024】
図2に示すように、印刷装置1の電源がオンすると、CPU11はプログラム記憶部13に格納された制御プログラム13aを実行して所定の立上げ動作を行い、その後、
図2に示す印刷動作を開始する一方、電源のオフにより
図2示す印刷動作を終了する。
【0025】
つまり、CPU11は、まず、印刷制御手段11aとしてネットワーク3およびプリントサーバ15を介して印刷ジョブ送信装置2A〜2Dから印刷ジョブを受信するか否かを判定し(ステップS110)、印刷ジョブを受信した場合には(ステップS110“YES”)、受信した印刷ジョブをメモリ12の印刷ジョブ記憶領域12aに記憶する(ステップS130)。
【0026】
また、CPU11は、印刷制御手段11aとしてメモリ12の印刷ジョブ記憶領域12aに印刷ジョブが記憶されているか否かを常時確認しており(ステップS150)、印刷ジョブ記憶領域12aに印刷ジョブが格納されていないと判定された場合(ステップS150“NO”)、ステップS110の処理に戻って印刷ジョブの受信処理を続行する。
【0027】
一方、ステップS150において、印刷ジョブ記憶領域12aに印刷ジョブが格納されていると判定された場合(YES)、CPU11は、印刷制御手段11aとして印刷ジョブを実行し、その印刷ジョブの印刷が完了するまで(ステップS210“NO”)、その印刷ジョブに基づいて印刷実行部14に印刷させる(ステップS170)。
【0028】
ここで、印刷ジョブのデータ量が膨大で、印刷ジョブの受信開始から完了までに相当な時間を要する場合、CPU11は、印刷ジョブ全ての受信が完了する前、すなわち印刷ジョブの受信途中でも、受信済みの分に基づいて印刷実行部14で印刷を開始できる。
【0029】
また、CPU11は、印刷制御手段11aとして機能して印刷実行部14に対し印刷を実行させている際、エラー検出手段11bとしても機能しており、印刷実行中の印刷ジョブでエラーが発生するか否かを判定する(ステップS190)。
【0030】
ここで、このエラーには、例えば、印刷実行中の印刷ジョブを送信している印刷ジョブ送信装置2A〜2Dにおける印刷ジョブの送信エラーや、ネットワーク3における通信エラーの他、印刷装置1側におけるプリントサーバ15での受信エラー等が含まれる。
【0031】
そのため、CPU11は、例えば、エラー検出手段11bとして機能した際、ページ毎に付加されているページデータ完了情報等が印刷装置1側で一定時間内に受信されない場合にエラーと判定する。
【0032】
そして、上述のようなエラーが発生せずに(ステップS190“NO”)、印刷ジョブに基づく印刷が完了した場合(ステップS210“YES”)、印刷制御手段11aとして機能するCPU11は、メモリ12の印刷ジョブ記憶領域12aに記憶しているその印刷ジョブを破棄して(ステップS230)、ステップS150の処理に戻り、印刷ジョブ記憶領域12aに次に実行すべき印刷ジョブが有るか無いかを確認してステップS150の以降の処理を継続する。
【0033】
一方、ステップS190において、印刷実行部14で印刷させている際、CPU11は、エラー検出手段11bとして上述のエラーの発生を検出した場合(YES)、CPU11は印刷制御手段11aとして印刷実行部14に対しその印刷ジョブの印刷処理を中断させ(ステップS230)、さらにその印刷処理を中断した印刷ジョブをメモリ12のエラージョブ記憶領域12b等に記憶する(ステップS250)。ただし、印刷ジョブ記憶領域12aに記憶している印刷ジョブをそのまま利用する場合には、新たにエラージョブ記憶領域12bに記憶するステップS250の処理は必要なく省略でき、エラージョブ記憶領域12bも省略できる。
【0034】
また、CPU11は、エラー検出手段11bとしてステップS190にてエラーの発生後(“YES”)、そのエラーが解消されてエラー状態から正常状態に復帰するか否かも検出している(ステップS270)。正常状態に復帰した場合(ステップS270“YES”)、CPU11は、ステップS170の処理に戻り、印刷制御手段11aとして印刷実行部14に対しその印刷ジョブに基づいて印刷処理を継続させる。
【0035】
これに対し、エラー状態から復帰する前、すなわちエラー中に(ステップS270“NO”)、ネットワーク3やプリンタサーバ15を介して新規に印刷ジョブを受信した場合(ステップS290“YES”)、CPU11は、エラー中に新規に受信した印刷ジョブ(以降、新規受信ジョブという。)をメモリ12の印刷ジョブ記憶領域12aに記憶する(ステップS310)。
【0036】
次に、CPU11は、印刷制御手段11aとして機能して、エラーにより印刷処理を中断してエラージョブ記憶領域12bに記憶した印刷ジョブ(以降、印刷中断ジョブという。)と、エラー中に新規に受信した新規受信ジョブとを比較して(ステップS330)、印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブであるか否かを判定する(ステップS350)。
【0037】
ここで、ステップS330における印刷中断ジョブと新規受信ジョブとの比較処理は、各種判定方法が考えられる。例えば、印刷中断ジョブのデータから得たハッシュ値と新規受信ジョブのデータから得たハッシュ値とをページ単位で比較したり、簡単に印刷中断ジョブのデータから得たチェックサム値と新規受信ジョブのデータから得たチェックサム値とをページ単位で比較したりする。また、印刷中断ジョブから展開した画像データと、新規受信ジョブから展開した画像データとをページ単位で比較するようにしても良い。
【0038】
また、印刷中断ジョブは、印刷ジョブ送信装置2A〜2Dにおける送信中のエラーや、ネットワーク3における通信エラー等が考えられ、送信した印刷ジョブの一部分のみが印刷装置1で受信されている場合が想定される。そのため、ステップS350の印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブであるか否かの判定処理では、ステップS310での比較処理の結果、同じ印刷ジョブであるページが印刷中断ジョブのページ数またはデータ量の所定割合以上、新規受信ジョブに含まれていれば、印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブであると判定する。
【0039】
例えば、印刷中断ジョブが20ページ(200KB)で、新規受信ジョブが50ページ(500KB)の場合に、印刷中断ジョブの18ページ(180KB)程度が新規受信ジョブに含まれる場合には、同じ印刷ジョブであると判定する。
【0040】
また、印刷中断ジョブは、上述のように印刷ジョブの一部分のみが印刷装置1で受信され、本来の印刷ジョブよりもページ数またはデータ量が少ない場合が想定されるため、単純に印刷中断ジョブのページ数またはデータ量と新規受信ジョブのページ数またはデータ量とを比較して、後述する
図4に示すように印刷中断ジョブのページ数またはデータ量が新規受信ジョブのページ数またはデータ量よりも大きい場合には、印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブでないと判定できる。
【0041】
そして、印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブであると判定した場合(ステップS350“YES”)、印刷中断ジョブを送信した印刷ジョブ送信装置2A〜2Dが、その装置自身のOS(オペレーティングシステム)やプリンダドライバ等の再送機能等により、印刷中断ジョブと同じ印刷ジョブを再送したものと推測できる。
【0042】
そのため、CPU11は、印刷制御手段11aとして機能して、印刷装置1でのエラー発生であればそのエラー解消後に新規受信ジョブに基づいて印刷実行手段16に対し出力完了の次ページから印刷を再開させ(ステップS370)、上述のステップS210の処理に戻りその新規受信ジョブに基づく印刷が完了するまで印刷させる。
【0043】
従って、この印刷装置1によれば、上述の特許文献1に記載の従来技術とは異なり、印刷中にエラーが発生した場合でも、ネットワークを介した特別なシーケンスを必要とせずに再送された新規受信ジョブに基づいて出力完了の次ページから印刷を再開することにより、用紙の無駄を図りながら印刷できる。
【0044】
一方、ステップS350において、印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブでないと判定した場合(NO)、他の印刷ジョブ送信装置等が印刷ジョブを送信した場合や、同じ印刷ジョブ送信装置が別の印刷ジョブを送信して受信したものと推測できる。
【0045】
そこで、CPU11は、印刷制御手段11aとして機能して、印刷装置1でのエラー発生であればそのエラー解消後に印刷中にエラーが発生したことを示す合紙や印刷用紙等を出力すると共に(ステップS390)、印刷中断ジョブをメモリ12の印刷ジョブ記憶領域12aやエラージョブ記憶領域12bから破棄して(ステップS410)、上述のステップS150の処理に戻る。なお、ステップS390の処理は、省略しても良いし、ステップS390の処理の代わりに印刷装置1のモニタにエラー表示を行うようにしても良い。
【0046】
これにより、エラー中に新規に受信された新規受信ジョブを含め、印刷ジョブ記憶領域12aに記憶されている印刷ジョブが順に実行されて、印刷実行部14で印刷されることになる。なお、ステップS150の処理に戻る前に、エラー中に受信した新規受信ジョブを割り込みで実行して、印刷実行手段16で印刷させることもできる。
【0047】
従って、この印刷装置1によれば、エラー発生中に新規に印刷ジョブを受信した場合には、印刷中断ジョブと新規受信ジョブとが同じ印刷ジョブであるか否かに基づいて、用紙を無駄にせず効率良く印刷ジョブの実行を制御できる。
【0048】
図3は、印刷ジョブ送信装置2Aが印刷装置1に対し印刷ジョブAを送信してエラーが発生し、同じ印刷ジョブを印刷ジョブA’として再送した場合の一例を示す図である。
【0049】
つまり、
図3は、印刷ジョブ送信装置2Aが1200ページ分の印刷ジョブAを印刷装置1に対し送信し、200ページ目を印刷したところでエラーが発生して印刷が中断され、そのエラー中に印刷ジョブ送信装置2Aが再送機能により、その印刷ジョブAを印刷ジョブA’として再送した場合を示している。
【0050】
この場合、印刷装置1のCPU11は、
図2のステップS290の処理により印刷ジョブ送信装置2Aから再送された印刷ジョブA’を受信して(“YES”)、次のステップS310により印刷中断ジョブAと新規受信ジョブA’とを比較する(ステップS310)。そして、印刷中断ジョブAと新規受信ジョブA’とが同じ印刷ジョブであるので(ステップS350“YES”)、CPU11は、続くステップS370の処理により、印刷装置1でのエラー発生であればそのエラー解消後にその新規受信ジョブA’に基づいて出力完了の次ページから印刷を再開する。
【0051】
そのため、この場合、印刷装置1では、上述の特許文献1に記載の従来技術とは異なり、ネットワーク3を介したエラー通知等の特別なシーケンスを必要とせずに新規受信ジョブA’に基づいて出力完了の次のページから印刷を再開して印刷用紙の無駄を図りながら印刷できる。
【0052】
図4は、印刷ジョブ送信装置2Aから印刷装置1に対し印刷ジョブを送信し、エラーが発生した場合に、他の印刷ジョブ送信装置2Bから印刷ジョブを受信した場合を示している。なお、この場合、メモリ12の印刷ジョブ記憶領域12aには、印刷ジョブが記憶されていないものとする。
【0053】
つまり、
図4は、印刷ジョブ送信装置2Aが1200ページ分の印刷ジョブAを印刷装置1に対し送信して、200ページ目を印刷したところでエラーが発生して印刷を中断し、そのエラー中に印刷ジョブ送信装置2Bが例えば100ページ分の印刷ジョブBを印刷装置1に対し送信した場合を示している。
【0054】
この場合、印刷装置1のCPU11は、
図2のステップS290の処理により印刷ジョブ送信装置2Bが送信した印刷ジョブBを受信して(“YES”)、次のステップS310によりメモリ12の印刷ジョブ記憶領域12aに記憶し、続くステップS330により印刷中断ジョブAと新規受信ジョブBとを比較した結果、印刷中断ジョブAと新規受信ジョブBとが一致しないと判定する(ステップS350“NO”)。
【0055】
そのため、CPU11は、印刷装置1でのエラー発生であればそのエラー解消後に、ステップS390の処理により印刷ジョブ送信装置2Aから受信した印刷ジョブAでエラーが発生したことを示す合紙や印刷用紙等を出力すると共に、ステップS410の処理により印刷ジョブ送信装置2Aから受信してエラーにより印刷を中断した印刷ジョブAを破棄して、ステップS150の処理に戻り、メモリ12の印刷ジョブ記憶領域12aに記憶されている印刷ジョブを実行する。
【0056】
これにより、
図4に示すように、エラー発生中に印刷中断ジョブAとは別の新規受信ジョブBを受信した場合には、印刷中断ジョブAを破棄して終了し、印刷装置1でのエラー発生であればそのエラー解消後に印刷ジョブ記憶領域12aに記憶されている印刷ジョブBを実行して印刷できる。