JP2005028713A - 印刷装置とその制御装置およびシステム - Google Patents
印刷装置とその制御装置およびシステム Download PDFInfo
- Publication number
- JP2005028713A JP2005028713A JP2003195726A JP2003195726A JP2005028713A JP 2005028713 A JP2005028713 A JP 2005028713A JP 2003195726 A JP2003195726 A JP 2003195726A JP 2003195726 A JP2003195726 A JP 2003195726A JP 2005028713 A JP2005028713 A JP 2005028713A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- printer
- print job
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【解決手段】プリンタ300では、ホストコンピュータ100から印刷ジョブを受信し、1枚の用紙への印刷を完了する毎に不揮発性メモリ309の用紙枚数311の領域に格納される変数に数値“1”を加算する。これにより、プリンタ300の電源が切断されてしまった場合でも、不揮発性メモリ309に正常に印刷を完了できている用紙枚数を残すようにする。そして、プリンタ300の電源の復旧時にその用紙の枚数が何枚であるかの情報をホストコンピュータ100に送る。これにより、ホストコンピュータ300は以後に印刷すべき内容を正確に把握し、適切な印刷ジョブをプリンタ300に送る。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、ホストコンピュータなどの上位装置と接続されるプリンタ、上位装置が生成したデータを印刷データおよび制御コードが含まれる印刷ジョブデータに変換し、これをプリンタに送って印刷の指示を行うプリンタ制御装置、およびこれらにより構成されるプリンタシステムに関するものである。
【0002】
【従来の技術】
従来、ホストコンピュータによるデータ処理システムにおけるプリンタにおいては、ホストコンピュータから複数の印刷用紙への印刷を含む印刷ジョブデータを送り、これを受け取ったプリンタがその印刷を実行していた。ところで、不意の停電や人為的なミスによって、プリンタの印刷の途中で電源が切断される場合があった。このような場合、従来は、プリンタからホストコンピュータに対して状態情報を送るような手段がなく、プリンタの側のそのような異常状態でなされた印刷の結果を的確に把握することができなかった。このため、そのような異常状態の発生を知ったホストコンピュータのオペレータは、どの用紙まで印刷が終了しているかを調べて、プリンタの電源の復旧後、印刷ジョブの途中のデータから送り直していた。また、ある場合は、改めてはじめから印刷ジョブデータを送り直していた(特許文献1参照)。
【0003】
【特許文献1】
特開平11−189351号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術には、以下のような課題があった。すなわち、印刷ジョブの途中のデータから送り直す場合には、どの用紙までの印刷が終了しているのかを正確に認識しないで指示する場合があり、電源の復旧以後の印刷結果が適切なものとはならないこともあった。例えば、重複して印刷される部分が生じてしまう場合もあれば、印刷が抜けてしまう部分が生じる場合もあった。また、改めてはじめから印刷をやり直す場合には、異常状態の発生の前にすでに印刷している部分があるときは、その印刷の結果が無駄になってしまった。
【0005】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成1〉
上位装置から送られる1頁または複数頁からなる印刷ジョブを受信し、該印刷ジョブに基づいて印刷媒体に印刷する印刷装置において、以下を備えるものである。
1つ目は、印刷ジョブを印刷中であるか否かの状態を示す印刷状態格納部である。
2つ目は、印刷ジョブに対する印刷枚数をカウントする印刷枚数カウント部である。
3つ目は、印刷枚数カウント部でカウントされた値を格納するカウンタ値格納部である。
4つ目は、上位装置に前記カウント値格納部に格納されたカウント値を通知する通知部である。
【0006】
〈構成2〉
構成1の印刷装置において、前記印刷状態格納部と前記カウンタ値格納部を、前記印刷装置の電源が切断されても情報を保持できる格納部としたものである。
【0007】
〈構成3〉
構成1の印刷装置において、前記通知部は、前記印刷状態格納部に前記印刷ジョブが印刷中である旨の情報が格納されていると判断された場合、前記カウント値格納部に格納されたカウント値を通知するものである。
【0008】
〈構成4〉
印刷装置に1頁または複数頁からなる印刷ジョブを送信する印刷制御装置において、以下を備えるものである。
1つ目は、印刷装置から情報を受信する受信部である。
2つ目は、受信部で受信した情報により、印刷枚数を検出する印刷枚数検出部である。
3つ目は、印刷枚数検出部で検出された印刷枚数に基づき、前記印刷装置に送信する前記印刷ジョブの印刷頁を算出する送信頁算出部である。
4つ目は、送信頁算出部により算出された送信頁に基づき、印刷ジョブを送信する送信部である。
【0009】
〈構成5〉
構成1の印刷装置と、構成4の印刷制御装置とからなることを特徴とする印刷システムである。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例〉
図1は、本発明のプリンタシステムの具体例の構成を示すブロック図である。
図示のシステムは、ホストコンピュータ100と、プリンタ300とからなる。
〈プリンタの具体例〉
同図において、プリンタ300は、システムバス305に接続されたCPU301と、RAM302と、フォントメモリ303と、プログラムROM304と、入出力チャネル306と、エンジンインタフェース307およびプリンタエンジン308と、不揮発性メモリ309とからなる。
【0011】
CPU301は、プログラムROM304に記憶されている制御プログラムに基づきシステムバス305に接続されている各デバイスを総括的に制御し、エンジンインタフェース307を介してプリンタエンジン308に画像信号を供給する。
RAM302は、CPU301によってプログラムROM304に記憶されている制御プログラムすなわち制御手順が実行されるとき、CPU301の演算、論理判断における各種データを記憶するワークメモリとして用いられる。また、これとともに、このRAM302は、ホストコンピュータ100からの印刷ジョブデータ格納領域、ダウンロードフォント、マクロ格納領域、プリント環境情報(当該ページの印刷に必要な設定情報)格納領域、フォント展開領域などとして用いられる。
【0012】
フォントメモリ303には、前記画像信号の生成時に使用するフォントが記憶されている。
プログラムROM304には、上述の制御プログラムとともにCPU301が行う制御手順などが記憶されている。
入出力チャネル306は、ホストコンピュータ100の入出力チャネル107に外部ケーブル200または図示しないネットワークを介して接続されている。
エンジンインタフェース307およびプリンタエンジン308は、CPU301から画像信号の供給を受けて印刷を実行する。
【0013】
不揮発性メモリ309は、出荷時設定プリント環境情報記憶領域、ユーザー設定プリント環境情報記憶領域、印刷中ページプリント環境情報記憶領域、プリンタステータス情報記憶領域などとして用いられる。
その他、システムバス305には、図示しないオペレータパネル等が接続されている。
【0014】
ところで、上述したプログラムROM304には、以下の処理を行うプログラムが含まれている。そのプログラムは、まず、ホストコンピュータ100からの印刷ジョブデータに基づき印刷指定されたファイルの印刷処理開始時に、不揮発性メモリ309にある印刷ジョブの状態情報310を“印刷途中”に設定する。また、このプログラムは、前記印刷開始したジョブの印刷処理中に、正常に印刷出力が終了した用紙枚数(またはページ数)をカウントし、当該カウント情報を不揮発性メモリ309にある用紙枚数311の領域に記憶する。そして、前記印刷開始したジョブの総用紙枚数(または総ページ数)を正常印刷終了時には、この用紙枚数311の領域に記憶し、印刷ジョブの状態情報310に“印刷途中でない”旨を設定する。ここで、不揮発性メモリ309は、EEPROM等のほか、バックアップ電源(バッテリ等)に接続されたメモリであっても良い。これは、主電源が切られてもデータが消えないものである。
【0015】
これらの不揮発性メモリ309に記憶された印刷ジョブの状態情報310と、正常に印刷出力が終了した用紙枚数(またはページ数)は、同様にプログラムROM304に格納された他のプログラムによって入出力チャネル306を介してホストコンピュータ100の入出力チャネル107に出力される。
【0016】
〈プリンタの具体例の動作〉
上述したプリンタシステムの具体例におけるプリンタの動作を図2、図3のフローチャートを用いて説明する。
まず、各用紙の片面に1ページずつ印刷する通常の場合について説明する。この場合、用紙枚数とページ数は等しい。
図2は、具体例のプリンタのページ数カウント手順を示すフローチャートである。
このフローチャートに示すプログラムは、プログラムROM304に記憶された周知の印刷制御手順に組み込んであり、ホストコンピュータ100から印刷ジョブが入力されたときにCPU301によって実行されるものである。
【0017】
まず、ステップS201では、入力された印刷情報が「印刷ジョブの開始」を意味する場合、ステップS202で不揮発性メモリ309に割り当てられた印刷ジョブの状態情報310に“印刷途中”を設定する。より具体的には、この状態を示す変数PJSTを“1”にセットする。そして、ステップS203で不揮発性メモリ309に割り当てられた用紙枚数311の領域に数値0を設定する。より具体的には、ページカウント数Nを0に初期化する。ここで、ページカウント数Nは、Jobの印刷開始前のプリンタの総印刷枚数と、現印刷枚数を比較することにより算出しても良い。
ステップS204では、用紙枚数が全枚数か、すなわちページカウント数Nが印刷ジョブの総ページカウント数NLASTに達しているかどうかをチェックする。ここで、用紙枚数が全枚数かという情報は、ホストから送られるJob中に格納されている情報から得られる。そして、印刷された用紙枚数が全枚数とならず、印刷ジョブの印刷が完了されない間は、ステップS204の後にステップS205に進む。
【0018】
ステップS205では、周知の印刷ページの編集・展開処理を1ページ分行う。そして、その1ページ分の処理が終了すると、ステップS206で印刷中か、すなわちエンジンインタフェース307を介して行われるプリンタエンジン308のページ印刷の動作中かどうかを判定する。そして、印刷中でなければ、ステップS207でエンジンインタフェース307を介してプリンタエンジン308に画像を供給し、1ページ分の印刷を起動する。また、ステップS208で1ページ分の印刷の終了を監視する監視用タイマを起動する。
【0019】
印刷起動後はステップS209でエンジンインタフェース307を介してプリンタエンジン308に異常が発生したかどうかを監視し、異常を検出したらステップS210に進み、異常検出処理を行い、次処理に進む。
一方、ステップS208でプリンタエンジン308の異常を検出しなければ、ステップS211に進む。
ステップS211では、1ページの印刷終了監視タイマのタイムアウトに達していなければ、ステップS204に進む。ステップS204では、次ページの編集・展開データがあれば用紙枚数が全枚数か、すなわちページカウント数Nが印刷ジョブの総ページカウント数NLASTに達しているかどうかをチェックし、印刷ジョブの印刷を完了するまではステップS205に進む。
【0020】
ステップS205では、次ページの印刷データがあれば印刷ページの編集・展開処理を行い、ステップS206で、プリンタエンジン308が1ページ分の印刷中かどうかを判定し、その印刷中ならば、ステップS207、S208に進む。以下、ステップS211で1ページ分の印刷終了監視タイマのタイムアウトに達するまでステップS204〜S209、S211の処理を繰り返す。
ステップS211で1ページ分の印刷終了監視タイマのタイムアウトに達したならば、ステップS212に進み、不揮発性メモリに割り当てられた用紙枚数311の領域のページカウント数NをインクリメントしてステップS204に進む。
【0021】
ステップS204で印刷ジョブの印刷を完了、すなわちページカウント数Nが印刷ジョブの総ページカウント数NLASTに達するまでステップS204〜S209、S211、S212を繰り返す。そして、ページカウント数Nが印刷ジョブの総ページカウント数NLASTに達したならばステップS213に進み、不揮発性メモリに割り当てられた印刷ジョブ状態情報を“印刷途中でない”に設定する。より具体的には、変数PJSTを“0”にセットする。そして、ステップS214で印刷ジョブ状態情報の変数PJSTを入出力チャネル306を介してホストコンピュータ100の入出力チャネル107に出力する。
【0022】
図3は、上述した具体例のプリンタの電源投入時の情報通知処理手順を示すフローチャートである。
この図3の処理手順は、周知の初期化処理手順に組み込んであり、電源が投入されたときにCPU301によって実行されるものである。
まず、ステップS301でプリンタの初期化処理を行う。そして、次にステップS302で不揮発性メモリ309に記憶されている印刷ジョブ状態情報PJSTおよびページカウント情報Nを読み出し、入出力チャネル306を介してホストコンピュータ100の入出力チャネル107に出力する。
【0023】
図2および図3の手順により、印刷ジョブの途中でプリンタの電源断、電源再投入が発生した場合は、図4の時点T1からT4までに示すように、ステップS213の印刷ジョブの状態情報PJST“0”セットの処理がなされずに、ステップS302で印刷ジョブの状態情報PJST=“1”のままページカウント情報Nを入出力チャネル306を介してホストコンピュータ100に出力することになる。このようにすれば、ホストコンピュータ100は送信した印刷ジョブの印刷途中で電源断が発生したか否か、また何ページ目で電源断が発生したかを知ることができる。尚、これらの情報の送り方の他の例として、PJST=“1”のときのみ、ページカウント情報のみを送信するようにしても良い。
【0024】
また、上記変数PJSTおよびNを用いて、電源投入時に印刷途中でプリンタ電源断が発生したかどうかを図示しないプリンタのオペレータパネルに表示することも可能である。
【0025】
〈プリンタの具体例の効果〉
以上のように、上述したプリンタの具体例によれば、印刷指示された印刷ジョブの印刷処理開始時に、不揮発性メモリに印刷ジョブ状態情報を“印刷途中”に設定し、前記印刷開始したジョブの印刷処理中に、正常に印刷出力が終了したページ数(または用紙枚数)をカウントし、当該カウント情報を不揮発性メモリに記憶する一方、前記印刷開始したジョブの総ページ数(または総用紙枚数)を正常印刷終了時に記憶し、前記印刷ジョブ状態情報を“印刷途中でない”旨設定する。そして、前記不揮発性メモリに記憶された前記印刷ジョブ状態情報と、前記正常に印刷出力が終了したページ数(または用紙枚数)を示す情報を上位装置に出力するようなプリンタにしたので、印刷ジョブの途中でプリンタの電源切断が発生しても、電源再投入時に電源切断前のページから正しく印刷することができる。
例えば、全枚数が“5”であるのに対し、用紙枚数が“3”であるときは、電源の復旧後に印刷すべき枚数は“5−3=2”となる。よって、降順に印刷する場合、印刷すべき用紙は2枚目と1枚目となる。また、昇順に印刷する場合、印刷すべき用紙は4枚目と5枚目となる。
【0026】
〈プリンタ制御装置の具体例〉
ホストコンピュータ100は、図1に示すように、OS(オペレーティングシステム)104に基づき演算、処理を実行するCPU101を備えている。このCPU101は、システムバス105に接続されている各デバイスを総括的に制御する。
CPU101は、RAM102およびメモリ108に格納されているアプリケーションプログラムを起動する。そして、このアプリケーションプログラムで図示しないキーボードから入力されたデータを処理することによって文書ファイルなどのデータファイルを作成する。
【0027】
文書ファイル作成時には、フォントメモリ103に格納されているフォントが用いられる。
アプリケーションプログラムには、作成したデータファイルを後述するプリンタ300が処理可能な印刷データに変換するためのプリンタドライバ(プリンタ制御装置)が含まれる。このプリンタドライバの詳細について後述する。RAM102は、上述のアプリケーションプログラムを格納するとともに、CPU101の演算、論理判断における各種データを一時的に記憶するワークメモリとして用いられる。
【0028】
アプリケーションプログラムによって作成された文書、編集ファイル、演算処理結果などは、メモリ108に記憶され、メモリ108には、上述したように、アプリケーションプログラムも格納されている。メモリ108は、ハードディスク装置(HD)、フロッピーディスク装置(FD)などから構成されている。メモリ108への書込、読出は、ディスクコントローラ106で制御される。
また、作成された文書、編集ファイル、演算処理結果などは、入出力チャネル107を介してプリンタ300に送信される。入出力チャネル107は外部ケーブル200を介してプリンタ300に接続され、プリンタ300との通信制御処理を実行する。この通信制御には、双方向セントロ、シリアル、LANなどの方式が用いられている。
【0029】
プリンタドライバは、印刷指定時にRAM102上で起動され、印刷指定時にRAM102に格納されていないときには、メモリ108からRAM102に書き込まれる。
プリンタドライバは、印刷指定されたファイルをプリンタ300が処理可能な印刷データおよび制御コードが含まれる複数ページからなる印刷ジョブデータに変換する。
【0030】
また、プリンタドライバは、印刷ジョブの各ページの印刷に必要なダウンロードフォント、マクロおよびプリント環境情報(当該ページの印刷に必要な設定情報)と各ページの印刷データを分離して生成し、印刷ジョブデータとしてRAM102に書き込む。印刷ジョブデータは入出力チャネル107を介してプリンタ300に送信される。
よって、上述の構成において、データ読み出し手段とは、CPU101をいい、データ処理手段とは、やはりCPU101をいい、データ送出手段とは、入出力チャネル107をいう。
【0031】
〈プリンタ制御装置の具体例の動作〉
上述したプリンタ制御装置の具体例の動作を図5、6を用いて説明する。
図5は、印刷システムのホストコンピュータのプリンタドライバの具体例による印刷制御手順を示すフローチャートであり、これを用いてドライバの通常の動作を説明する。
【0032】
アプリケーションプログラムからの印刷指示に従いホストコンピュータ100でプリンタドライバが起動されると、ステップS501でアプリケーションプログラムから印刷指定されたファイルの総ページ数情報NLASTを取り出す。そして、ステップS501で、これを送信用紙枚数すなわちプリンタ300に送信すべき印刷ジョブのページ数NPに格納し、ステップS502で用紙計数値すなわちページカウント数Nを数値“1”に初期化する。
ステップS503で印刷指定されたファイルのフォントリストとプリンタドライバにあらかじめ登録されているプリンタのフォントリストが比較され、印刷用紙N枚目のフォントがプリンタに存在しないなら、ステップS504でダウンロードフォントファイル(N枚目)を生成してステップS505に進む。
【0033】
ステップS505で印刷用紙N枚目のプリント環境情報指定があるなら、ステップS506でプリント環境情報ファイル(N枚目)を生成してステップS507に進む。
ステップS507でプリンタへの印刷ジョブの開始と印刷用紙枚数(N)コマンドをバッファ109に格納(スプーリング)する。そして、ステップS508でダウンロードファイル(N枚目)をバッファ109にスプーリングし、ステップS509でプリント環境情報ファイル(N枚目)を同じくバッファ109にスプーリングする。その後、ステップS510で文字コードファイル(N枚目)を同じくバッファ109にスプーリングし、ステップS511に進む。
【0034】
ステップS511では、印刷ジョブの終了か否かが判定され、終了でなければステップS512で次ページの開始を意味するコマンドをバッファ109にスプーリングしているかどうかが判定される。この判定が、否定(No)なら、ステップS510〜S512をループする。
一方、ステップS512の判定が肯定(Yes)なら、ステップS513に進み、ページカウント数NをインクリメントしてステップS503に進む。
【0035】
以下、ステップS511で印刷ジョブの終了と判定されるまでS503〜S513をループして所定のページ数分の印刷ジョブデータがハードディスク装置(HD)108上のバッファ109にスプーリングされる。そして、ステップS511で印刷ジョブの終了と判定されると、ステップS514に進み、プリンタへの印刷ジョブの終了コマンドをバッファ109にスプーリングして次処理に進む。
【0036】
図6は、印刷システムのホストコンピュータのプリンタドライバの具体例によるプリンタへの印刷ジョブデータ送信手順およびプリンタの異常電源切断・投入発生時の処理手順を示すフローチャートであり、これを用いてドライバによるプリンタの異常発生に対応した動作を説明する。
ステップS601でハードディスク装置(HD)108上のバッファ109にスプーリングされた印刷ジョブデータがあれば、ステップS602に進む。
ステップS602で入出力チャネル107を介してプリンタ300から受信されるプリンタ状態情報を監視する。そして、異常を検出したらステップS603に進み、異常検出処理を行い、次処理に進む。
【0037】
一方、ステップS602でプリンタ300の異常を検出しなければ、ステップS604に進む。
ステップS604でプリンタ300から受信されるプリンタ状態情報が“プリンタ非接続またはプリンタ電源断”を示していなければ、ステップS605に進む。そして、プリンタ状態データを受信可能でないなら、データ受信可能となったとき、ステップS606に進み、バッファ109にスプーリングされた印刷ジョブデータを取り出す。そして、それを入出力チャネル107を介してプリンタ300に送信し、ステップS601に進む。
【0038】
以下、ステップS601、S602、S604〜S606をループして、バッファ109のスプーリングデータがなくなるまで順次印刷ジョブデータを取り出して、入出力チャネル107を介してプリンタ300に送信する。
上記のように、プリンタ300に印刷ジョブデータを送信している途中で(ステップS604で)プリンタ300から受信されるプリンタ状態情報が“プリンタ非接続またはプリンタ電源断”を検出したならば、ステップS607に進み、プリンタ状態情報が“プリンタ接続またはプリンタ電源オン”を示すのを検出するまで待つ。
【0039】
ステップS607で“プリンタ接続またはプリンタ電源オン”を検出したならば、ステップS608に進み、入出力チャネル107を介してプリンタ300からプリンタの印刷ジョブ状態情報PJSTを入力する。そして、ステップS609でPJST=“1”すなわち“印刷途中”を検出してステップS610に進む。
なお、ステップS609でプリンタの印刷ジョブ状態情報PJST=“0”を検出したならば、アプリケーションプログラムからの印刷指示をした後、初めてプリンタの電源が投入された場合に相当する。そのため、ステップS605に進み、前述した手順でバッファ109のスプーリングデータがなくなるまで順次印刷ジョブデータを取り出して、それを入出力チャネル107を介してプリンタ300に送信する。
【0040】
ステップS610でプリンタ300からプリンタのページカウント情報Nを入力し、ステップS611でドライバのページカウント数NをN+1に更新する。
ステップS612で印刷ジョブのページ数NPをNP−Nに更新して、次にステップS613でスプーリング用バッファ109を破棄して図5のステップS507に進む。
【0041】
ここで印刷ジョブの3枚目を印刷中にプリンタ300の電源切断・再投入が発生した場合は、NP=2であるからステップS611でドライバのページカウント数NはN=NP+1=3に更新され、ステップS612で印刷ジョブの枚数NPはNP=NP−Nに更新される。これによって、ステップS507ではプリンタ300への印刷ジョブの開始コマンドと印刷枚数(残りNP−2枚分)をバッファ109にスプーリングする。そして、ステップ508でダウンロードファイル(N=3枚目から)をバッファ109にスプーリングし、ステップS509でプリント環境情報ファイル(N=3枚目から)をバッファ109にスプーリングする。その後、ステップS510で文字コードファイル(N=3枚目から)をバッファ109にスプーリングし、以後前述の図5の動作説明で説明したのと同様にステップS514でのプリンタへの印刷ジョブの終了コマンドまでバッファ109にデータのスプーリングがされる。
【0042】
そして、前述の図6のステップS601からステップS606の動作説明で説明したのと同様に、プリンタ300の電源切断・再投入が発生した3枚目から最後の用紙までの印刷に必要なデータが新たな印刷ジョブとして、前述した手順でバッファ109にスプーリングされる。そして、そのスプーリングデータがなくなるまで順次印刷ジョブデータが取り出されて、入出力チャネル107を介してプリンタ300に送信される。
【0043】
〈プリンタ制御装置の具体例の効果〉
以上のように、上述した具体例によればプリンタに印刷指示した印刷ジョブについての印刷ジョブ状態情報を取得して印刷ジョブの異常電源切断・再投入の有無を判断し、異常電源切断・再投入検出時にそれ以降、出力途中の印刷ジョブのデータ出力を中断し、印刷ジョブの正常に印刷出力が終了したページ数(または用紙枚数)を示す情報から異常電源切断・再投入したページ(または用紙の番号)を割り出し、当該ページ以降の用紙枚数の印刷に必要なデータの印刷ジョブを生成し、当該印刷ジョブデータをプリンタに送信し印刷指示するようなプリンタドライバにしたので、印刷ジョブの途中でプリンタの電源切断が発生しても、電源再投入時に電源切断前のページから正しく印刷することができる。
【0044】
〈プリンタの他の具体例〉
図7は、プリンタの他の具体例の説明図である。この図に示すように、図2のステップS205とS206との間にステップS2051とS2052を挿入して用紙枚数で表される用紙番号に対応したプリント環境情報を不揮発性メモリ309に残すようにする。
【0045】
〈印刷方法を変更した場合〉
印刷方法には、上述した各用紙の片面にのみ1ページずつ印刷する場合以外に種々の方法があるが、基本的な考え方は、上述と同様である。
各用紙の片面に奇数ページだけを1ページずつ印刷する場合、用紙枚数=(ページ数+1)/2となる。よって、ページ数=用紙枚数×2−1となる。これにより、電源異常発生後の復旧時に新たな用紙に印刷すべきページを特定できる。これらの用紙の印刷面の裏面に偶数ページだけを印刷すれば、両面印刷ができる。各用紙の片面に偶数ページだけを1ページずつ印刷する場合、用紙枚数=ページ数/2となる。よって、ページ数=用紙枚数×2となる。これにより、電源異常発生後の復旧時に新たな用紙に印刷すべきページを特定できる。
各用紙の片面にのみ複数のページをレイアウトして印刷する場合、用紙枚数=ページ数/用紙当たりのページ数となる。よって、ページ数=用紙枚数×用紙当たりのページ数となる。これにより、電源異常発生後の復旧時に新たな用紙に印刷すべきページを特定できる。
各用紙について表面に1ページ印刷し、それにつづく1ページをつづいてその裏面に印刷して両面印刷をしていく場合、例えば、ページによって印刷を制御せず、用紙によって印刷を制御する。すなわち、2ページずつの印刷データをペアにして管理し、電源異常発生後の復旧時に新たな用紙に印刷すべきページのペアを特定する。
【0046】
〈プリンタの他の具体例の効果〉
以上のように、プリンタの他の具体例によれば印刷指示された印刷ジョブの印刷処理開始時に、不揮発性メモリに印刷ジョブ状態情報を“印刷途中”に設定し、前記印刷開始したジョブの印刷処理中に、各印刷ページのプリント環境情報(ダウンロードフォント、マクロを除く当該ページの印刷に必要な設定情報)を不揮発性メモリに記憶し、正常に印刷出力が終了した用紙枚数(またはページ数)をカウントし、当該カウント情報を不揮発性メモリに記憶し、前記印刷開始したジョブの総用紙枚数(または総ページ数)を正常印刷終了時に、前記印刷ジョブ状態情報を“印刷途中でない”旨設定記憶し、前記不揮発性メモリに記憶された前記印刷ジョブ状態情報と、前記正常に印刷出力が終了した用紙枚数(またはページ数)を上位装置に出力するようなプリンタとしたので、印刷ジョブの途中でプリンタの電源切断が発生しても、電源再投入時に電源切断前のページから正しく印刷するためのデータ再送時間を短縮することができる。
【0047】
〈プリンタ制御装置の他の具体例〉
図8に示すように、図5のステップS509の前に判定のステップS5089を挿入してプリンタ300から送られた状態情報が“印刷途中”を示しているときは、プリンタ300の不揮発性メモリ309に環境情報が保存されているので、バッファ109に格納しないようにしたものである。
【0048】
〈プリンタ制御装置の他の具体例の効果〉
以上のように、上述した他の具体例によれば、プリンタに印刷指示した印刷ジョブの印刷ジョブ状態情報を取得して印刷ジョブの異常電源切断・再投入の有無を判断し、異常電源切断・再投入検出時にそれ以降、出力途中の印刷ジョブのデータ出力を中断し、印刷ジョブの正常に印刷出力が終了したページ数(または用紙枚数)を示す情報から異常電源切断・再投入した用紙のページを割り出し、当該ページ以降の用紙枚数の印刷に必要なデータの印刷ジョブを生成し、当該印刷ジョブデータに異常電源切断・再投入発生ページのプリント環境情報(ダウンロードフォント、マクロを除く該ページの印刷に必要な設定情報)を含めずにプリンタに送信し印刷指示するようなプリンタドライバおよび印刷制御方法にしたので、印刷ジョブの途中でプリンタの電源切断が発生しても、電源再投入時に電源切断前のページから正しく印刷するためのデータ再送時間を短縮することができる。
【0049】
〈ネットワーク上のシステムの具体例〉
ネットワーク上に設けられた上述のようなシステムにおいては、ホストから送られるデータにはホスト識別情報(IPアドレスやホスト名)やファイル識別情報(ファイル名やファイル作成日時)があり、プリンタはそれらの情報もページ情報と同時に格納し、情報の送信時には、それらの情報も送信する。これによりネットワーク上に複数のホストが存在した場合でも上述のようなシステムが可能となる。
【0050】
【発明の効果】
以上詳述したように、本発明によれば、不揮発性メモリに印刷途中の正常に印刷できた用紙の枚数を残して、電源の異常が生じ、復旧したときにそれをプリンタからホストコンピュータ側に送り出すようにしたので、ホストコンピュータ側で印刷を開始すべき用紙を正確に知ることができ、適切な印刷ができるとともに、無駄な印刷を省くことができる。
【図面の簡単な説明】
【図1】本発明の印刷システムの構成を説明するブロック図である。
【図2】プリンタの用紙計数手順を説明するフローチャートである。
【図3】プリンタの電源投入時の処理手順を説明するフローチャートである。
【図4】不揮発性メモリの内容の遷移を説明する状態遷移図である。
【図5】プリンタ制御装置の処理手順を説明するフローチャートである。
【図6】プリンタ制御装置の異常時の処理手順を説明するフローチャートである。
【図7】プリンタの他の具体例の説明図である。
【図8】プリンタ制御装置の他の具体例の説明図である。
【符号の説明】
101 CPU(データ処理手段)
107 入出力チャネル(データ受信手段、データ送出手段)
301 CPU(用紙計数手段)
306 入出力チャネル(データ送出手段)
309 不揮発性メモリ
Claims (5)
- 上位装置から送られる1頁または複数頁からなる印刷ジョブを受信し、該印刷ジョブに基づいて印刷媒体に印刷する印刷装置において、
前記印刷ジョブを印刷中であるか否かの状態を示す印刷状態格納部と、
前記印刷ジョブに対する印刷枚数をカウントする印刷枚数カウント部と、
前記印刷枚数カウント部でカウントされた値を格納するカウンタ値格納部と、
前記上位装置に前記カウント値格納部に格納されたカウント値を通知する通知部とを備えたことを特徴とする印刷装置。 - 請求項1記載の印刷装置において、
前記印刷状態格納部と前記カウンタ値格納部は、前記印刷装置の電源が切断されても情報を保持できる格納部であることを特徴とする印刷装置。 - 請求項1記載の印刷装置において、
前記通知部は、前記印刷状態格納部に前記印刷ジョブが印刷中である旨の情報が格納されていると判断された場合、前記カウント値格納部に格納されたカウント値を通知することを特徴とする印刷装置。 - 印刷装置に1頁または複数頁からなる印刷ジョブを送信する印刷制御装置において、
前記印刷装置から情報を受信する受信部と、
前記受信部で受信した情報により、印刷枚数を検出する印刷枚数検出部と、
前記印刷枚数検出部で検出された印刷枚数に基づき、前記印刷装置に送信する前記印刷ジョブの印刷頁を算出する送信頁算出部と、
前記送信頁算出部により算出された送信頁に基づき、印刷ジョブを送信する送信部とを備えたことを特徴とする印刷制御装置。 - 請求項1記載の印刷装置と、請求項4記載の印刷制御装置とからなることを特徴とする印刷システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003195726A JP2005028713A (ja) | 2003-07-11 | 2003-07-11 | 印刷装置とその制御装置およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003195726A JP2005028713A (ja) | 2003-07-11 | 2003-07-11 | 印刷装置とその制御装置およびシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005028713A true JP2005028713A (ja) | 2005-02-03 |
Family
ID=34206464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003195726A Pending JP2005028713A (ja) | 2003-07-11 | 2003-07-11 | 印刷装置とその制御装置およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005028713A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272833A (ja) * | 2006-03-31 | 2007-10-18 | Ricoh Co Ltd | 印刷システム、印刷装置、ホスト装置、印刷方法、印刷プログラム、印刷制御プログラムおよび記録媒体 |
CN104253919A (zh) * | 2013-06-28 | 2014-12-31 | 佳能株式会社 | 通信设备和控制方法 |
US9729080B2 (en) | 2014-08-28 | 2017-08-08 | Tdk Corporation | Power supply control circuit and power supply device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH096550A (ja) * | 1995-06-22 | 1997-01-10 | Canon Inc | プリンタ制御装置及び方法 |
JPH11112722A (ja) * | 1997-09-30 | 1999-04-23 | Minolta Co Ltd | 画像形成装置および画像形成システム |
-
2003
- 2003-07-11 JP JP2003195726A patent/JP2005028713A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH096550A (ja) * | 1995-06-22 | 1997-01-10 | Canon Inc | プリンタ制御装置及び方法 |
JPH11112722A (ja) * | 1997-09-30 | 1999-04-23 | Minolta Co Ltd | 画像形成装置および画像形成システム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272833A (ja) * | 2006-03-31 | 2007-10-18 | Ricoh Co Ltd | 印刷システム、印刷装置、ホスト装置、印刷方法、印刷プログラム、印刷制御プログラムおよび記録媒体 |
CN104253919A (zh) * | 2013-06-28 | 2014-12-31 | 佳能株式会社 | 通信设备和控制方法 |
US9729080B2 (en) | 2014-08-28 | 2017-08-08 | Tdk Corporation | Power supply control circuit and power supply device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1174789A2 (en) | Printing apparatus and printing system, control method, storage medium and program | |
JP2006031677A (ja) | 印刷制御装置、印刷装置、印刷ネットワークシステム、印刷制御方法、印刷制御プログラム及び印刷制御プログラムを格納した記録媒体。 | |
JP5767472B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2007272832A (ja) | 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体 | |
JP2005028713A (ja) | 印刷装置とその制御装置およびシステム | |
JP5025514B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム | |
JP6116295B2 (ja) | 画像形成装置、画像形成方法及びプログラム | |
JP2006243884A (ja) | 印刷ジョブ管理装置、印刷ジョブ管理プログラム、画像形成装置および画像形成プログラム | |
EP1903771A1 (en) | Printing apparatus and print control method | |
JP2010137449A (ja) | 印刷制御装置 | |
JP6403463B2 (ja) | 画像形成装置および画像形成装置の制御方法 | |
JP5949106B2 (ja) | 印刷システム、印刷装置および印刷制御プログラム | |
JP4573708B2 (ja) | 印刷装置及び印刷システム | |
JP2006268731A (ja) | 印刷システムおよび印刷システムの制御方法 | |
JP5106058B2 (ja) | 印刷制御装置の異常を判断して印刷装置を復旧する印刷システム | |
JPH08263393A (ja) | プリンタ装置及びその制御方法 | |
JP2007328574A (ja) | 印刷システム及び印刷プログラム | |
JP2007015225A (ja) | 再印刷制御装置、印刷装置、再印刷制御方法及びプログラム | |
JP2019014268A (ja) | 印刷装置、制御方法及びプログラム | |
JP2004195661A (ja) | データ出力装置およびホスト装置 | |
JP2009015362A (ja) | 印刷システム、プログラム及び記憶媒体 | |
JP4208690B2 (ja) | 状態情報取得方法、装置、プログラム、および、記憶媒体 | |
JP2008305328A (ja) | 画像形成装置及びデータ処理装置ならびにデータ処理方法ならびにデータ処理方法を実行するプログラム | |
JP2008155486A (ja) | 印刷装置の制御方法、印刷装置の制御プログラム、および印刷装置 | |
JP6766109B2 (ja) | 画像形成装置および画像形成装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090724 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100323 |