(57)【要約】【課題】複数部数指定の印刷ジョブであっても、途中ページからの再印刷を行わせるための印刷ジョブを１回だけ再送信すればよく、作業性が向上し、部数指定を変更して再送信する必要がないのでユーザの思考作業を省くことができるようにする。【解決手段】ページ指定命令が付加された複数のページから成る印刷ジョブを受信する受信手段と、前記ページ指定命令の指定範囲を解析する解析手段と、前記印刷ジョブの全ページをページ単位に処理して印刷データを生成する生成手段と、指定範囲の前記印刷データを印刷する印刷手段とを有し、前記ページ指定命令の指定範囲は、前記印刷手段によって印刷データが印刷される媒体の延べ印刷ページ数を指定対象とする。【選択図】図１
2006344152.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）ページ指定命令が付加された複数のページから成る印刷ジョブを受信する受信手段と、
（ｂ）前記ページ指定命令の指定範囲を解析する解析手段と、
（ｃ）前記印刷ジョブの全ページをページ単位に処理して印刷データを生成する生成手段と、
（ｄ）指定範囲の前記印刷データを印刷する印刷手段とを有し、
（ｅ）前記ページ指定命令の指定範囲は、前記印刷手段によって印刷データが印刷される媒体の延べ印刷ページ数を指定対象とすることを特徴とする印刷装置。
【請求項２】
（ａ）前記印刷ジョブは部数指定情報を含み、
（ｂ）前記生成手段によって生成された印刷データを順次記憶する記憶手段と、
（ｃ）部数指定命令の指定部数だけ印刷手段に繰り返し投入される印刷データの投入回数をカウントするカウント手段とを更に有し、
（ｄ）前記印刷手段は、カウント手段によるカウント値が前記ページ指定命令の指定範囲内にあるときに印刷データを印刷する請求項１に記載の印刷装置。
【請求項３】
（ａ）情報処理装置と印刷装置とを有する印刷システムであって、
（ｂ）前記情報処理装置は、前記印刷装置で印刷された媒体が出力される度に前記印刷装置から送信される印刷完了通知を受信する通知受信手段と、前記印刷完了通知に基づいて自動的に生成されるページ指定命令が付加された複数のページから成る印刷ジョブを印刷装置に送信するジョブ送信手段とを備え、
（ｃ）前記印刷装置は、印刷された媒体を出力する度に前記情報処理装置に印刷完了通知を送信する通知送信手段と、前記印刷ジョブを受信する受信手段と、前記ページ指定命令の指定範囲を解析する解析手段と、前記印刷ジョブの全ページをページ単位に処理して印刷データを生成する生成手段と、指定範囲の前記印刷データを印刷する印刷手段とを備え、
（ｄ）前記ページ指定命令の指定範囲は、前記印刷手段によって印刷データが印刷される媒体の延べ印刷ページ数を指定対象とすることを特徴とする印刷システム。
【請求項４】
（ａ）前記印刷ジョブは部数指定情報を含み、
（ｂ）前記情報処理装置は、印刷完了通知を受信する度に印刷完了通知の回数をカウントするカウント手段と、該カウント手段によるカウント値に１を加算した値をページ指定命令として印刷ジョブに付加する指定命令付加手段とを更に備え、
（ｃ）前記印刷装置は、前記生成手段によって生成された印刷データを順次記憶する記憶手段と、部数指定命令の指定回数だけ印刷手段に繰り返し投入される印刷データの投入回数をカウントするカウント手段とを更に備え、
（ｄ）前記印刷手段は、印刷装置のカウント手段によるカウント値が前記ページ指定命令の指定範囲内にあるときに印刷データを印刷する請求項３に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ指定の印刷機能を有する印刷装置及び印刷システムに関するものである。
【背景技術】
【０００２】
従来、プリンタにおいては、複数ページで構成された印刷ジョブに対して、印刷開始ページ及び印刷終了ページをコマンドで指定することによって、印刷ジョブの中の任意のページを印刷することが可能になっている（例えば、特許文献１参照。）。この場合、印刷ジョブとは、アプリケーションプログラムで作成された画像データを元にプリンタドライバが作成したものを指す。印刷開始ページ指定コマンド及び印刷終了ページ指定コマンドは、プリンタドライバによってファイル化された印刷ジョブ（ｘｘｘｘ．ｐｒｎ）をプリンタへ送信するプログラムにおいて使用することや、ユーザが指定した印刷ページ指定や部数指定などをジョブ制御コマンドとして印刷ジョブに追加変更してプリンタへ送信可能なプログラム、すなわち、印刷ジョブ送信プログラムにおいて使用することや、ランゲージモニタにおいて使用することが考えられる。
【０００３】
従来のプリンタにおいては、例えば、ファイル化された印刷ジョブの中の所定ページを印刷する場合、プリンタドライバが作成した印刷ジョブ上のページ、すなわち、論理ページを対象に、印刷ページを指定するものである。
【０００４】
ところで、印刷ページを指定して印刷を行う場合、印刷ジョブをホストからプリンタへ送信し、該プリンタが印刷を行っている最中に、例えば、停電によるパワーダウンが発生したり、用紙ジャムなどのトラブルによってユーザがプリンタの電源をＯＦＦしたりするように、プリンタの異常によりプリンタの再起動が必要となるときがある。このようなときには、プリンタを再起動するまでの間にホストからプリンタへ送信途中であったデータや送信済みであるが印刷されていないデータは、電源がＯＦＦされてしまうことによって消滅してしまう。そのため、プリンタを再起動した後に、ホストからプリンタへ印刷ジョブを再送信する必要がある。しかし、印刷ジョブをそのままプリンタへ再送信すると、プリンタは、既に印刷済みのページまで再度印刷してしまうので、用紙の無駄使いとなってしまう。そこで、再送信する印刷ジョブに任意の印刷開始ページ指定コマンド及び印刷終了ページ指定コマンドを加えて、既に印刷済みのページの次のページから印刷させる方法が採用されている。
【特許文献１】特開平７−３０９０４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来のプリンタにおいては、丁合い印刷のように複数部の指定がある印刷ジョブを再送信する場合、部数指定とページ指定とを変えて、複数回に分けて印刷ジョブを再送信しなければならず、ユーザにとって作業が非常に煩雑であった。例えば、各部が５ページの論理ページから成る４部の丁合い印刷を行う場合に、２部目の３ページまで印刷した時点で発生したトラブルによってプリンタの再起動が必要となり、再起動後に残りのページ、すなわち、２部目の４ページ及び５ページ、並びに、３部目及び４部目の再送信を行う例を想定する。ここで、丁合い印刷とは、部単位毎の印刷、すなわち、１ページ、２ページ、３ページ、・・・、１ページ、２ページ、３ページ、・・・、１ページ、２ページ、３ページ、・・・という順で印刷するような印刷方法をいう。このように、複数部の指定がある印刷ジョブを再送信する場合、印刷ページの指定が論理ページを対象とするものであるため、部数指定とページ指定とを変えて、複数回に分けて印刷ジョブを再送信しなければならなかった。
【０００６】
具体的に説明すると、２部目に関しては、既に３ページまで印刷が終了しているため、印刷ジョブを再送信する際には、４ページ及び５ページのみを指定すればよい。そのため、２部目の再印刷に対しては、部数指定を行わずに４ページ及び５ページのみをページ指定して印刷ジョブを再送信する。また、３部目及び４部目に関しては、１〜５ページを指定することに加え、部数指定を２部に設定して印刷ジョブを再送信する必要がある。そのため、印刷ジョブを複数回に分けて再送信しなければならず、ユーザにとって作業が非常に煩雑であった。
【０００７】
本発明は、前記従来の印刷装置の問題点を解決して、印刷手段によって印刷データが印刷される媒体の延べ印刷ページ数を指定対象とする指定範囲として指定するページ指定命令が付加された印刷ジョブを受信し、該印刷ジョブの全ページをページ単位に処理して印刷データを生成し、指定範囲の印刷データを印刷するようにして、複数部数指定の印刷ジョブであっても、途中ページからの再印刷を行わせるための印刷ジョブを１回だけ再送信すればよく、作業性が向上し、部数指定を変更して再送信する必要がないのでユーザの思考作業を省くことができる印刷装置及び印刷システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
そのために、本発明の印刷装置においては、ページ指定命令が付加された複数のページから成る印刷ジョブを受信する受信手段と、前記ページ指定命令の指定範囲を解析する解析手段と、前記印刷ジョブの全ページをページ単位に処理して印刷データを生成する生成手段と、指定範囲の前記印刷データを印刷する印刷手段とを有し、前記ページ指定命令の指定範囲は、前記印刷手段によって印刷データが印刷される媒体の延べ印刷ページ数を指定対象とする。
【発明の効果】
【０００９】
本発明によれば、印刷装置は、印刷手段によって印刷データが印刷される媒体の延べ印刷ページ数を指定対象とする指定範囲として指定するページ指定命令が付加された印刷ジョブを受信し、該印刷ジョブの全ページをページ単位に処理して印刷データを生成し、指定範囲の印刷データを印刷するようになっている。そのため、複数部数指定の印刷ジョブであっても、途中ページからの再印刷を行わせるための印刷ジョブを１回だけ再送信すればよく、作業性が向上し、部数指定を変更して再送信する必要がないのでユーザの思考作業を省くことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１１】
図１は本発明の第１の実施の形態における印刷システムの構成を示す図である。
【００１２】
図において、４０は本実施の形態における印刷システムであり、１０は印刷装置としてのプリンタ、２０は該プリンタ１０と通信可能に接続された上位装置としてのホストである。ここで、前記プリンタ１０は、電子写真式印刷装置、インパクト・ドット方式印刷装置、インクジェット方式印刷装置、熱転写式印刷装置等いかなる種類の印刷装置であってもよく、さらに、モノクロ印刷装置であってもよいし、カラー印刷装置であってもよい。また、前記ホスト２０は、例えば、パーソナルコンピュータであるが、ユーザが操作して印刷ジョブを作成してプリンタ１０に送信することができる装置であれば、いかなる種類の装置であってもよい。
【００１３】
そして、前記プリンタ１０は、前記ホスト２０から送信されるデータを受信し管理する受信手段としてのデータ受信部１１、受信したデータの中のジョブ制御コマンドに当たるデータを解析処理する解析手段としてのジョブ制御部１２、受信したデータの中のページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等で記述されたイメージデータに当たるデータを解析処理して、イメージデータとしてのページデータを作成する生成手段としてのページデータ処理部１３、前記ページデータを前記ジョブ制御部１２の情報に基づいて印刷制御部１６へ引き渡すページ管理部１４、前記ページデータを記憶して保存しておくＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ等の記憶手段としての記憶装置１５、及び、ページデータを用紙に印刷する制御を行う印刷手段としての印刷制御部１６から成る。
【００１４】
また、前記ホスト２０は、モニタの設定画面やマウス、キーボード等の入出力装置から成るユーザインターフェイス２１、ホスト２０上で動作するユーティリティである印刷ジョブ送信プログラム２２、及び、データの送信等を行うポート２３から成る。ここで、印刷ジョブ送信プログラム２２は、ファイル化され、ユーザインタフエース２１によって指定された印刷ジョブをポート２３を介してプリンタ１０へ送信する。
【００１５】
次に、前記構成の印刷システム４０の動作について説明する。
【００１６】
図２は本発明の第１の実施の形態における論理ページと物理ページとの違いを示す図である。
【００１７】
ここで、印刷ジョブ内のページ記述言語によって生成されるページを“論理ページ”と呼ぶ。これに対して、ページ記述言語によって生成されるページに、プリンタジョブ言語（ＰＪＬ：Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）による部数指定を反映して印刷出力される用紙排出ページを“物理ページ”と呼ぶ。図２に示される例において、丁合い指定なしの印刷ジョブＡの場合は、論理ページと物理ページとは、ともに１〜５ページで等しい。また、丁合い４部指定のある印刷ジョブＢの場合は、論理ページは１〜５ページであるのに対し、物理ページは、印刷データが印刷される媒体の延べ印刷ページ数であるから、１〜２０ページとなる。これにより、論理ページと物理ページとの違いを理解することができる。
【００１８】
次に、プリンタ１０の図示されないプリンタドライバによって既にファイル化され、記憶装置１５に保存されている印刷ジョブを印刷する場合を例に説明する。
【００１９】
図３は本発明の第１の実施の形態における印刷ジョブ送信プログラムのウィンドウ画面を示す図、図４は本発明の第１の実施の形態におけるホストでのユーザ操作の動作を示すフローチャートである。
【００２０】
まず、ユーザは、ホスト２０のモニタに表示されている図３に示されるような印刷ジョブ送信プログラム２２のウィンドウ画面におけるファイル選択ボタン３１をクリックする。これにより、ホスト２０のモニタに、図示されないウィンドウが表示される。そして、該ウィンドウにおいて、プリンタドライバによって既にファイル化されて記憶装置１５に保存されている印刷ジョブを選択すると、送信ファイル枠３２に選択された印刷ジョブのファイルが表示される。続いて、ユーザが送信ファイル枠３２へ選択ファイルが表示された状態で送信ボタン３５をクリックすることによって、ポート２３を介して、プリンタ１０に対して印刷ジョブの送信が行われる。
【００２１】
ここで、プリンタ１０に対して送信された印刷ジョブの中には、例えば、プリンタジョブ言語で記述された部数指定情報と、ページ記述言語で記述された論理ページの情報とが含まれている。また、ホスト２０においてユーザが行う操作としては、印刷ジョブのファイルを選択して送信するだけでよい。
【００２２】
続いて、ユーザは、プリンタ１０が最後の物理ページまで印刷出力したか否かを判断する。そして、最後の物理ページまで印刷出力した場合は、そのまま処理を終了する。また、停電によるパワーダウンや、用紙ジャムなどのトラブルによって、ユーザがプリンタ１０の電源をＯＦＦした場合のように、最後の物理ぺージまで印刷出力されなかった場合、ユーザは、プリンタ１０の再起動後に実際の出力結果、すなわち、枚数を確認して、どこまで印刷されたのかを把握する。そして、図３に示される印刷開始ページ指定枠３３へ、印刷開始ページとして既に印刷出力済みの物理ページの次のページを設定し、送信ボタン３５をクリックして印刷ジョブの再送信を行う。
【００２３】
そして、印刷ジョブ送信プログラム２２は、印刷開始ページ指定枠３３及び印刷終了ページ指定枠３４にページが設定されていない、すなわち、空欄の場合には、元の印刷ジョブをそのままプリンタ１０へ送信する。また、印刷開始ページ指定枠３３又は印刷終了ページ指定枠３４にページが設定されている場合には、印刷開始ページ指定コマンド又は印刷終了ページ指定コマンドを印刷ジョブに追加加工したジョブをプリンタ１０へ送信する。
【００２４】
次に、フローチャートについて説明する。
ステップＳ１  印刷ジョブの送信を行う。
ステップＳ２  最後の物理ページまで印刷出力したか否かを判断する。最後の物理ページまで印刷出力した場合は処理を終了し、最後の物理ページまで印刷出力しない場合はステップＳ３に進む。
ステップＳ３  印刷開始ページを設定し、印刷ジョブの再送信を行う。
【００２５】
次に、前記プリンタ１０の動作について説明する。
【００２６】
図５は本発明の第１の実施の形態におけるプリンタの動作を示すフローチャートである。
【００２７】
まず、ジョブ制御部１２は、受信したジョブ制御コマンドの解析を行い、印刷開始ページ指定コマンド又は印刷終了ページ指定コマンドが含まれていれば、その値を印刷ページ範囲とする。また、印刷開始ページ指定コマンド又は印刷終了ページ指定コマンドが含まれていない場合、すなわち、指定がない場合のデフォルトは、開始ぺージを１、終了ページを∞とする。
【００２８】
続いて、プログラム変数として備える物理ページカウンタを初期化した後、ページデータ処理部１３は、ページ記述言語で記述されたＰａｇｅデータ（図２）をページ単位で処理してイメージデータとしてのページデータを作成し、ページ管理部１４に前記ページデータの管理を委ねる。そして、ページ管理部１４は、丁合い印刷ジョブによる２部目以降の印刷に備えて、ページデータを記憶装置１５に保存するとともに、ページデータを印刷制御部１６へ投入する。
【００２９】
なお、「背景技術」の項において説明した従来のプリンタでは、印刷ジョブにページ指定コマンドが付加されている場合、処理されて記憶装置に保存されるページデータは指定ページのみである。したがって、以降の印刷においては、例えば、複数部の印刷であれば、すべての部に対して指定されたページしか印刷されない。
【００３０】
これに対して、本実施の形態におけるプリンタ１０では、全ページ分のページデータを処理して記憶装置１５に保存することによって、物理ページによるページ指定印刷が可能となる。
【００３１】
続いて、印刷制御部１６は、カウント手段としての物理ページカウンタを更新し、該物理ページカウンタの値が印刷ページ指定範囲内であるか否かを判断する。そして、印刷ページ指定範囲内である場合に限り、ページ印刷を行う。また、Ｐａｇｅデータが終了したか否かを判断し、終了していない場合には、Ｐａｇｅデータをページ単位で処理してからページデータを作成し、前述の動作を繰り返す。この場合、Ｐａｇｅデータがなくなるまで、前述の動作を繰り返す。
【００３２】
続いて、丁合い指定部数が終了したか否かを判断し、終了していない場合には、ページデータを印刷制御部１６へ投入してからの動作を繰り返す。この場合、印刷ジョブ内のプリンタジョブ言語で指定されている丁合い指定部数が終了するまで、前述の動作を繰り返す。そして、丁合い指定部数分が終了すると、記憶装置１５へ保存しておいたページデータの削除を行い、処理を終了する。
【００３３】
次に、フローチャートについて説明する。
ステップＳ１１  ジョブ制御コマンドの解析を行う。
ステップＳ１２  物理ページカウンタを初期化する。
ステップＳ１３  Ｐａｇｅデータをページ単位で処理してページデータを作成し、記憶装置１５へ保存する。
ステップＳ１４  ページデータを印刷制御部１６へ投入する。
ステップＳ１５  物理ページカウンタを更新する。
ステップＳ１６  物理ページカウンタの値が印刷ページ指定範囲内であるか否かを判断する。物理ページカウンタの値が印刷ページ指定範囲内である場合はステップＳ１７に進み、物理ページカウンタの値が印刷ページ指定範囲内でない場合はステップＳ１８に進む。
ステップＳ１７  ページ印刷を行う。
ステップＳ１８  Ｐａｇｅデータが終了したか否かを判断する。Ｐａｇｅデータが終了した場合はステップＳ１９に進み、Ｐａｇｅデータが終了しない場合はステップＳ１３に戻る。
ステップＳ１９  丁合い指定部数が終了したか否かを判断する。丁合い指定部数が終了した場合はステップＳ２０に進み、丁合い指定部数が終了しない場合はステップＳ１４に戻る。
ステップＳ２０  ページデータの削除を行い、処理を終了する。
【００３４】
次に、プリンタ１０における再印刷方法について説明する。
【００３５】
図６は本発明の第１の実施の形態における再印刷方法を示す図である。
【００３６】
図６は、各部が５ページの論理ページから成る丁合い４部の印刷を行う場合に、２部目の３ページまで印刷した時点で、トラブルによってプリンタ１０の再起動が必要となり、プリンタ１０の再起動後に残りのページ、すなわち、２部目の４ページ及び５ぺージ、並びに、３部目及び４部目の再印刷を行うことを想定した例を示している。
【００３７】
本実施の形態におけるプリンタ１０において、印刷ページの指定は物理ページを対象とするものであるため、たとえ丁合い印刷のように複数部の指定がある印刷ジョブを再印刷する場合でも、元の印刷ジョブに印刷開始ページ指定を加えた印刷ジョブを１回だけ送信すればよい。具体的に説明すると、図６に示されるように、１部目の５ページと２部目の３ページとで、既に合計８ページの物理ページの印刷が終了しているため、再印刷時には印刷開始ページとして９ページ目の物理ページの指定を加えた印刷ジョブを送信するだけでよい。
【００３８】
このように、本実施の形態においては、印刷ジョブに含まれる印刷開始ページ指定及び印刷終了ページ指定の対象を物理ページとすることができるので、途中ページからの再印刷を行わせるための印刷ジョブの再送信は、複数部数指定の印刷ジョブであっても、１回のみでよい。そのため、作業性が向上し、部数指定を変更して再送信する必要もなくなるので、ユーザの思考作業まで省くことができる。
【００３９】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構成を有するものについては、同じ符号を付与することによって、その説明を省略する。また、前記第１の実施の形態と同じ動作及び同じ効果についても、その説明を省略する。
【００４０】
図７は本発明の第２の実施の形態における印刷システムの構成を示す図である。
【００４１】
本実施の形態においては、プリンタドライバによって既にファイル化された印刷ジョブ（ｘｘｘｘ．ｐｒｎ）をプリンタ１０へ送信することを前提とする第１の実施の形態とは異なり、アプリケーションで生成した画像データをプリンタドライバから直接プリンタ１０に送信することを前提としている。
【００４２】
そのため、本実施の形態におけるプリンタ１０は、図７に示されるように、ホスト２０に対してコマンドレスポンス通知を行うデータ送信部１７を有する。なお、前記プリンタ１０のその他の点の構成に関しては、前記第１の実施の形態におけるプリンタ１０と同様であるので、説明を省略する。
【００４３】
そして、ホスト２０は、ユーザインターフェイス２１及びポート２３に加え、アプリケーション２４、プリンタドライバ２５、スプーラ２６及びランゲージモニタ２７を有する。また、前記第１の実施の形態において説明した印刷ジョブ送信プログラム２２は備えていない。
【００４４】
この場合、前記ホスト２０は、アプリケーション２４で生成した画像データをプリンタドライバ２５で印刷ジョブにして、スプーラ２６、ランゲージモニタ２７及びポート２３を介してプリンタ１０へ送信する。一般的に、ランゲージモニタ２７とは、スプーラ２６とポート２３との間に組み込むユニークプログラムであり、スプーラ２６から投入された印刷ジョブをポート２３へ出力する際に、印刷ジョブ内の任意のデータを置換、追加又は削除してポート２３へ出力したり、双方向通信対応のプリンタ１０からプリンタ１０の通知情報を受信するとともに、スプーラ２６に対して印刷ジョブの再投入や破棄などを指示可能なプログラムである。なお、前記ランゲージモニタ２７は、通知受信手段及びジョブ送信手段として機能する。
【００４５】
次に、本実施の形態における印刷システム４０の動作について説明する。まず、再送信の自動化を行う方法について説明する。
【００４６】
図８は本発明の第２の実施の形態におけるホストでのユーザ操作の動作を示すフローチャートである。
【００４７】
この場合、ユーザは、アプリケーション２４から画像データを印刷するために、プリンタドライバ２５で部数指定などの設定をして印刷を実行するだけである。
【００４８】
次に、フローチャートについて説明する。
ステップＳ３１  印刷ジョブの印刷を行い、処理を終了する。
【００４９】
次に、ランゲージモニタ２７の動作について説明する。
【００５０】
図９は本発明の第２の実施の形態におけるランゲージモニタの動作を示すフローチャートである。
【００５１】
まず、ランゲージモニタ２７は、スプーラ２６から新規印刷ジョブが投入されると、自身のカウント手段としての物理ページカウンタを初期化して０にし、印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。ここで、前記印刷完了ページ通知コマンドは、印刷が行われた場合に、印刷用紙が完全に排出されたタイミング、例えば、プリンタ１０の図示されない用紙排出センサが用紙を検知したタイミングで印刷完了をホスト２０へ通知することを指示するコマンドである。また、前記ジョブ終了通知コマンドは、印刷ジョブの処理の開始と、印刷ジョブの最終ページの排出完了後、印刷完了ページ通知に続けて、印刷ジョブの終了とをホスト２０へ通知することを指示するコマンドである。そして、プリンタ１０は、印刷完了ページ通知コマンド及びジョブ終了通知コマンドに応答するためのコマンド応答機能を備えている。その後、ランゲージモニタ２７は、当該印刷ジョブの送信がすべて終わるまで、所定の単位でスプーラ２６から印刷ジョブを取得してはプリンタ１０へ送信する。
【００５２】
そして、ランゲージモニタ２７は、所定の単位で印刷ジョブをプリンタ１０へ送信後に、該プリンタ１０の状態監視を行う。この状態監視は、印刷ジョブの送信に先立って送信したコマンドに対するレスポンス通知情報、すなわち、印刷完了ページ通知又はジョブ終了通知であるかをチェックすることによって行われる。そして、印刷完了ページ通知があれば、物理ページカウンタを更新する。
【００５３】
続いて、ランゲージモニタ２７は、印刷完了ページ通知に続いて所定時間内にジョブ終了通知があるか否かを判断し、所定時間内にジョブ終了通知があれば、１つの印刷ジョブに対する処理を終了する。
【００５４】
一方、印刷完了ページ通知に続いて所定時間内にジョブ終了通知がない場合には、ランゲージモニタ２７は、プリンタ１０側にトラブルが発生したと認識し、プリンタ１０の再起動があるか否か、すなわち、再起動の有無を判断する。この場合、プリンタ１０の再起動の有無は、例えば、双方向通信可能状態が保たれているか否かによって判断することができる。ホスト２０は、プリンタ１０からの通知情報を取得するために、プリンタ１０に対して一定周期でデータ要求しているが、プリンタ１０の再起動の間は、コネクションエラーとなる。なお、プリンタ１０の再起動の有無を確認する方法は、コネクションエラーの有無によるものに限定されるものではない。
【００５５】
そして、再起動なしと判断した場合、ランゲージモニタ２７は、再度、印刷ジョブの送信が完了したか否かを判断する。また、再起動ありと判断した場合には、プリンタ１０が再起動して復旧するまで待機する再起動復旧待ちを行い、スプーラ２６に対して印刷ジョブの再投入を要求する。ここで、再起動復旧待ちは、コネクションエラーの状態から引き続きコネクション接続を試み、正常に戻るまで繰り返すことで行うことができる。その後、再投入されてきた印刷ジョブに対して、現在の物理ページカウンタ値＋１の値を印刷開始ページ指定コマンドで印刷ジョブに追加して、再度、印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。この場合、ランゲージモニタ２７は指定命令付加手段として機能する。
【００５６】
次に、フローチャートについて説明する。
ステップＳ４１  物理ページカウンタを初期化する。
ステップＳ４２  印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。
ステップＳ４３  印刷ジョブの送信が完了したか否かを判断する。印刷ジョブの送信が完了した場合はステップＳ４５に進み、印刷ジョブの送信が完了しない場合はステップＳ４４に進む。
ステップＳ４４  印刷ジョブを所定の単位でプリンタ１０へ送信する。
ステップＳ４５  プリンタ１０の状態を監視する。プリンタ１０からのレスポンス通知情報をチェックする。
ステップＳ４６  印刷完了ページ通知があるか否かを判断する。印刷完了ページ通知がある場合はステップＳ４７に進み、印刷完了ページ通知がない場合はステップＳ４８に進む。
ステップＳ４７  物理ページカウンタを更新する。
ステップＳ４８  ジョブ終了通知があるか否かを判断する。ジョブ終了通知がある場合は処理を終了し、ジョブ終了通知がない場合はステップＳ４９に進む。
ステップＳ４９  プリンタ１０の再起動があるか否かを判断する。プリンタ１０の再起動がある場合はステップＳ５０に進み、プリンタ１０の再起動がない場合はステップＳ４３に戻る。
ステップＳ５０  再起動復旧待ちを行う。
ステップＳ５１  スプーラ２６に対して印刷ジョブの再投入を要求する。
ステップＳ５２  物理ページカウンタ＋１の値を印刷開始ページ指定コマンドで印刷ジョブに追加する。
【００５７】
次に、本実施の形態におけるプリンタ１０の動作について説明する。
【００５８】
図１０は本発明の第２の実施の形態におけるプリンタの動作を示すフローチャートである。
【００５９】
まず、ジョブ制御部１２は、受信したジョブ制御コマンドの解析を行い、印刷開始ページ指定コマンド又は印刷終了ページ指定コマンドが含まれていれば、その値を印刷ページ範囲とする。また、印刷開始ページ指定コマンド又は印刷終了ページ指定コマンドが含まれていない場合、すなわち、指定がない場合のデフォルトは、開始ページを１、終了ページを∞とする。
【００６０】
続いて、プログラム変数として備える物理ページカウンタを初期化した後、ページデータ処理部１３は、ページ記述言語で記述されたＰａｇｅデータ（図２）をページ単位で処理してイメージデータとしてのページデータを作成し、ページ管理部１４に前記ページデータの管理を委ねる。そして、ページ管理部１４は、丁合い印刷ジョブによる２部目以降の印刷に備えて、ページデータを記憶装置１５に保存するとともに、ページデータを印刷制御部１６へ投入する。
【００６１】
なお、「背景技術」の項において説明した従来のプリンタでは、印刷ジョブにページ指定コマンドが付加されている場合、処理されて記憶装置に保存されるページデータは指定ページのみである。したがって、以降の印刷においては、例えば、複数部の印刷であれば、すべての部に対して指定されたページしか印刷されない。
【００６２】
これに対して、本実施の形態におけるプリンタ１０では、全ページ分のページデータを処理して記憶装置１５に保存することによって、物理ページによるページ指定印刷が可能となる。
【００６３】
続いて、印刷制御部１６は、物理ページカウンタを更新し、該物理ページカウンタの値が印刷ページ指定範囲内であるか否かを判断する。そして、印刷ページ指定範囲内である場合に限り、ページ印刷を行い、印刷用紙が完全に排出されたことを図示されない用紙排出センサが検出したタイミングで、デー夕送信部１７から印刷完了ページ通知をホスト２０へ送信する。また、Ｐａｇｅデータが終了したか否かを判断し、終了していない場合には、Ｐａｇｅデータをページ単位で処理してページデータを作成し、前述の動作を繰り返す。この場合、Ｐａｇｅデータがなくなるまで、前述の動作を繰り返す。
【００６４】
続いて、丁合い指定部数が終了したか否かを判断し、終了していない場合には、ページデータを印刷制御部１６へ投入してからの動作を繰り返す。この場合、印刷ジョブ内のプリンタジョブ言語で指定されている丁合い指定部数が終了するまで、前述の動作を繰り返す。そして、丁合い指定部数分が終了すると、データ送信部１７よりジョブ終了をホスト２０へ通知し、記憶装置１５へ保存しておいたページデータの削除を行い、処理を終了する。
【００６５】
次に、フローチャートについて説明する。
ステップＳ６１  ジョブ制御コマンドの解析を行う。
ステップＳ６２  物理ページカウンタを初期化する。
ステップＳ６３  Ｐａｇｅデータをページ単位で処理してページデータを作成し、記憶装置１５へ保存する。
ステップＳ６４  ページデータを印刷制御部１６へ投入する。
ステップＳ６５  物理ページカウンタを更新する。
ステップＳ６６  物理ページカウンタの値が印刷ページ指定範囲内であるか否かを判断する。物理ページカウンタの値が印刷ページ指定範囲内である場合はステップＳ６７に進み、物理ページカウンタの値が印刷ページ指定範囲内でない場合はステップＳ６９に進む。
ステップＳ６７  ページ印刷を行う。
ステップＳ６８  印刷完了ページ通知をホスト２０へ送信する。
ステップＳ６９  Ｐａｇｅデータが終了したか否かを判断する。Ｐａｇｅデータが終了した場合はステップＳ７０に進み、Ｐａｇｅデータが終了しない場合はステップＳ６３に戻る。
ステップＳ７０  丁合い指定部数が終了したか否かを判断する。丁合い指定部数が終了した場合はステップＳ７１に進み、丁合い指定部数が終了しない場合はステップＳ６４に戻る。
ステップＳ７１  ジョブ終了をホスト２０へ通知する。
ステップＳ７２  ページデータの削除を行い、処理を終了する。
【００６６】
次に、ホスト２０とプリンタ１０との間の通信について説明する。なお、プリンタ１０における再印刷方法については、前記第１の実施の形態と同様であるので、説明を省略する。
【００６７】
図１１は本発明の第２の実施の形態におけるホストとプリンタとの間の通信シーケンスを示す図である。
【００６８】
まず、ホスト２０のスプーラ２６は、印刷ジョブをランゲージモニタ２７に投入する。すると、該ランゲージモニタ２７は、印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。続いて、前記ランゲージモニタ２７は印刷ジョブをプリンタ１０へ送信する。
【００６９】
そして、該プリンタ１０は、ページ印刷を行い、印刷用紙が完全に排出されたことが検出されたタイミングで、デー夕送信部１７から印刷完了ページ通知をホスト２０のランゲージモニタ２７へ送信する。この場合、１ページ分のページ印刷を行う度に、印刷完了ページ通知をランゲージモニタ２７に送信する。
【００７０】
一方、該ランゲージモニタ２７は、印刷完了ページ通知を受信する度に、印刷完了ページ通知に続いて、所定時間内にジョブ終了通知があるか否かに基づいてプリンタ１０の再起動の有無を判断する。ここで、印刷完了ページ通知に続いて所定時間内にジョブ終了通知がなく、プリンタ１０の再起動と判断した場合、ランゲージモニタ２７は、プリンタ１０が再起動して復旧が完了したか否かの判断を繰り返して、プリンタ１０が再起動して復旧が完了するまで待機する。そして、プリンタ１０が再起動して復旧が完了すると、スプーラ２６に対して印刷ジョブの再投入指示を送信する。
【００７１】
続いて、スプーラ２６は、印刷ジョブをランゲージモニタ２７に再投入する。すると、ランゲージモニタ２７は、再投入されてきた印刷ジョブに対して、現在の物理ページカウンタ値＋１の値を印刷開始ページ指定コマンドで印刷ジョブに追加する。そして、ランゲージモニタ２７は、再度、印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。続いて、ランゲージモニタ２７は、印刷開始ページが指定された印刷開始ページ付きの印刷ジョブをプリンタ１０へ送信する。
【００７２】
そして、該プリンタ１０は、ページ印刷を行い、印刷用紙が完全に排出されたことが検出されたタイミングで、デー夕送信部１７から印刷完了ページ通知をホスト２０のランゲージモニタ２７へ送信する。この場合、１ページ分のページ印刷を行う度に、印刷完了ページ通知をランゲージモニタ２７に送信する。そして、印刷ジョブが終了すると、ジョブ終了通知をランゲージモニタ２７に送信する。
【００７３】
すると、該ランゲージモニタ２７は、スプーラ２６に対して、印刷ジョブの削除指示を送信する。これにより、記憶装置１５に保存されていたページデータが削除される。
【００７４】
次に、通信シーケンスのステップについて説明する。
ステップＳ８１  スプーラ２６は、印刷ジョブをランゲージモニタ２７に投入する。
ステップＳ８２  ランゲージモニタ２７は、印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。
ステップＳ８３  ランゲージモニタ２７は、印刷ジョブをプリンタ１０へ送信する。
ステップＳ８４  プリンタ１０は、印刷完了ページ通知をランゲージモニタ２７へ送信する。
ステップＳ８５  プリンタ１０の再起動があるか否かを判断する。プリンタ１０の再起動がある場合はステップＳ８６に進み、プリンタ１０の再起動がない場合はステップＳ９３に進む。
ステップＳ８６  プリンタ１０が再起動して復旧が完了したか否かを判断する。プリンタ１０が再起動して復旧が完了した場合はステップＳ８７に進み、プリンタ１０が再起動して復旧が完了しない場合は待機する。
ステップＳ８７  ランゲージモニタ２７は、スプーラ２６に対して印刷ジョブの再投入指示を送信する。
ステップＳ８８  スプーラ２６は、印刷ジョブをランゲージモニタ２７に再投入する。
ステップＳ８９  ランゲージモニタ２７は、再度、印刷完了ページ通知コマンド及びジョブ終了通知コマンドをプリンタ１０へ送信する。
ステップＳ９０  ランゲージモニタ２７は、印刷開始ページが指定された印刷開始ページ付きの印刷ジョブをプリンタ１０へ送信する。
ステップＳ９１  プリンタ１０は、印刷完了ページ通知をランゲージモニタ２７へ送信する。
ステップＳ９２  プリンタ１０は、ジョブ終了通知をランゲージモニタ２７に送信する。
ステップＳ９３  ランゲージモニタ２７は、スプーラ２６に対して、印刷ジョブの削除指示を送信する。
【００７５】
このように、本実施の形態においては、ランゲージモニタ２７が物理ぺージである印刷完了ページを認識して、印刷ジョブのページ指定及び再送信を自動的に行うため、再送信のためのユーザ作業を完全になくすことができる。
【００７６】
なお、前記第１及び第２の実施の形態においては、印刷ジョブが丁合い印刷ジョブである場合について説明したが、印刷ジョブは、コピー印刷ジョブであってもよいし、コピー印刷と丁合い印刷との混合ジョブであってもよい。ここで、コピー印刷とは、ページ単位の印刷、すなわち、１、１、１、・・・、２、２、２、・・・、３、３、３、・・・のような印刷方法のことである。また、コピー印刷と丁合印刷との混合ジョブとは、１、１、１、・・・、２、２、２、・・・、３、３、３、・・・、１、１、１、・・・、２、２、２、・・・、３、３、３、・・・のような印刷方法のことである。
【００７７】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１の実施の形態における印刷システムの構成を示す図である。
【図２】本発明の第１の実施の形態における論理ページと物理ページとの違いを示す図である。
【図３】本発明の第１の実施の形態における印刷ジョブ送信プログラムのウィンドウ画面を示す図である。
【図４】本発明の第１の実施の形態におけるホストでのユーザ操作の動作を示すフローチャートである。
【図５】本発明の第１の実施の形態におけるプリンタの動作を示すフローチャートである。
【図６】本発明の第１の実施の形態における再印刷方法を示す図である。
【図７】本発明の第２の実施の形態における印刷システムの構成を示す図である。
【図８】本発明の第２の実施の形態におけるホストでのユーザ操作の動作を示すフローチャートである。
【図９】本発明の第２の実施の形態におけるランゲージモニタの動作を示すフローチャートである。
【図１０】本発明の第２の実施の形態におけるプリンタの動作を示すフローチャートである。
【図１１】本発明の第２の実施の形態におけるホストとプリンタとの間の通信シーケンスを示す図である。
【符号の説明】
【００７９】
１０    プリンタ
１１    データ受信部
１２    ジョブ制御部
１３    ページデータ処理部
１５    記憶装置
１６    印刷制御部
２７    ランゲージモニタ
４０    印刷システム
【図１】
2006344152.tif 000003
【図２】
2006344152.tif 000004
【図３】
2006344152.tif 000005
【図４】
2006344152.tif 000006
【図５】
2006344152.tif 000007
【図６】
2006344152.tif 000008
【図７】
2006344152.tif 000009
【図８】
2006344152.tif 000010
【図９】
2006344152.tif 000011
【図１０】
2006344152.tif 000012
【図１１】
2006344152.tif 000013