説明

印刷システム

【課題】 プリンタ側の印刷ジョブの受信状況に基づいて複数部印刷の印刷ジョブの送信方法を適宜切り替え、印刷保証を実現しつつ、ホストコンピュータ側の印刷処理及び送信処理の解放を早める仕組みを提供する。
【解決手段】 印刷ジョブを前記印刷装置に送信後も印刷ジョブをホストコンピュータに保存しておき、印刷装置からの再送要求に応じて印刷ジョブを印刷装置に再送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷ジョブを印刷装置において印刷する印刷システムであって、印刷ジョブの印刷保証を行う技術に関する。
【背景技術】
【0002】
複数部数印刷が可能な印刷システムは、従来、ホストコンピュータ内のスプーラに一旦蓄積した印刷ジョブを部数分繰り返しプリンタに送信することにより複数部数印刷を行っていた。またハードディスクなどの大容量記憶装置を有するプリンタにおいては、1部分の描画内容と部数指定を行うコマンドからなる印刷ジョブをホストコンピュータから送信するため、ホストコンピュータからプリンタへの印刷ジョブの送信回数を減らし、ホストコンピュータは早く解放することができる。そのようなプリンタでは、受信した印刷ジョブをプリンタ内の大容量記憶装置に蓄積し、蓄積した印刷ジョブを部数分繰り返し読み出し、印刷を行うように構成されていた。
【0003】
さらにハードディスクのような大容量記憶装置を有さず、RAMのみから構成されるプリンタにおいても、比較的大きなRAMを搭載したプリンタにおいては、一旦RAMに格納して複数部数印刷を行うように構成されたものもあった。この場合、RAM容量までの印刷ジョブサイズの場合には、1回だけホストコンピュータからプリンタに印刷ジョブを送信すればよく、またRAMからの読み出しは高速であり、高速に複数部数印刷できるという利点があった。
【0004】
また、ホストコンピュータからプリンタへ対して、印刷ジョブを部数分繰り返し送信するか、印刷ジョブを1度送信し、部数指定して送信するかを動的に切り替えるシステムも存在している。(例えば特許文献1)
【特許文献1】特開平11−048583号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ホストコンピュータ内のスプーラに印刷ジョブを蓄積する場合、ホストコンピュータからプリンタに印刷したい部数分だけ繰り返し印刷ジョブを転送し、複数部数印刷を行う必要があるため、ホストコンピュータを占有する時間が長くなり、ユーザに対するコンピュータの解放に時間がかかるという欠点があった。また印刷したい部数分だけ繰り返し印刷ジョブを送信する必要があり、印刷に時間を多く要する必要があった。
【0006】
一方、ハードディスクのような大容量記憶装置を有するプリンタの場合、ハードディスクに一旦印刷ジョブを蓄積し、印刷したい部数分だけ印刷ジョブを読み出し印刷するため、受信した印刷ジョブをRAM上に置いて、そのRAMから印刷ジョブを読み出し印刷する場合に比べ、ハードディスクから印刷ジョブを読み出して印刷する場合、RAMからの読み出しに比べて、読み出し時間がかかるという欠点があった。
【0007】
RAMのみから構成されるプリンタにおいては、ハードディスクのような大容量記憶装置に比べ、蓄積できる印刷ジョブサイズの限りがあり、RAMより大きいサイズの印刷ジョブの場合、バーファオーバーランのようなエラーになり、印刷できない場合もあった。このような場合は、アプリケーションソフトで複数部数印刷を指示するなどの工夫を行う必要があった。
【0008】
また、特許文献1のシステムでは、プリンタのメモリサイズとデータ量に基づいて、複数部指定コマンドを送るか、複数回印刷データを送るかを切り替えているが、常にプリンタに装着されているメモリサイズを条件としており、プリンタで複数の印刷ジョブを連続して受信する場合を考慮していないため、受信状況により適する送信方法が選択できないという問題があった。
【0009】
そこで本発明は、プリンタ側の印刷ジョブの受信状況に基づいて複数部印刷の印刷ジョブの送信方法を適宜切り替え、印刷保証を実現しつつ、ホストコンピュータ側の印刷処理及び送信処理の解放を早める仕組みを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、印刷装置と情報処理装置とを含む印刷システムであって、前記印刷装置は、印刷ジョブを保存する記憶手段と、保存した印刷ジョブを複数部数印刷指示に従って印刷する印刷手段を有する印刷装置において、印刷ジョブの受信が完了したことを前記情報処理装置に通知する通知手段と、前記情報処理装置に対して印刷ジョブの再送を要求する再送要求手段とを有し、前記情報処理装置は、印刷ジョブを前記印刷装置に送信後も当該印刷ジョブをスプールファイルとして保存するスプール手段と、前記スプール手段に保存されている印刷ジョブを消去する消去手段と、前記スプール手段に保存されている印刷ジョブを前記印刷装置に再送する印刷ジョブ再送手段とを有することを特徴とする。
【0011】
また、前記通知手段は、印刷すべき印刷ジョブを全て受信完了したことを前記情報処理装置に通知する。
【0012】
また、前記再送要求手段は、印刷ジョブを印刷装置内部の記憶装置に全て記憶できない場合に、印刷ジョブを記憶装置に全て保存できないと判断した時点から印刷完了までの所定のタイミングで、印刷ジョブを再送要求する。
【0013】
また、前記消去手段は、前記印刷装置の通知手段による通知に応じて、前記スプール手段に蓄積した印刷ジョブを消去する。
【0014】
また、前記印刷ジョブ再送手段は、前記印刷装置の再送要求手段からの要求に応じて、前記スプール手段に蓄積した印刷ジョブを再送する。
【発明の効果】
【0015】
印刷ジョブデータのサイズは小さいものから大きいものまであるが、本発明では比較的小容量の記憶容量しか持たない印刷システムであっても、印刷ジョブサイズが小さい場合には、記憶装置に保存した印刷ジョブを繰り返し印刷することにより複数部数印刷を実現し、また記憶装置に保存できない大きいサイズの印刷ジョブの場合には、コンピュータのスプーラから再送してもらうように制御することにより、柔軟性の高い複数部数印刷を実現できる印刷システムおよび方法を実現できるという効果がある。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【実施例1】
【0017】
図1は本発明の特徴も表した印刷システム構成図である。
【0018】
コンピュータ10はインターフェイス16、31を介して、プリンタ30と接続されている。インターフェイス16、31は、USB1.1、USB2.0、IEEE1394、ネットワークなどで構成される。今、アプリケーション11からプリンタドライバ12に対して印刷指示を行うと、前記プリンタドライバ12はアプリケーションからのデータに基づいて描画処理を行い、印刷ジョブを作成し、スプーラ13に対してスプールファイル14の作成を指示する。次に前記スプーラ13は、スプール処理を完了するとと、前記スプールファイル14を読み出し、送信手段15およびインターフェイス16を経由して、プリンタ30に印刷ジョブを送信する。前記プリンタ30は、インターフェイス31を経由して受信した印刷ジョブを受信手段32で受信し、印刷ジョブ制御手段33を介して、言語処理手段35に渡し、印刷イメージの生成を行うと共に、印刷ジョブを印刷ジョブ記憶装置34に保存する。前記言語処理手段35によって生成された印刷イメージは描画バッファ36に格納され、続いてプリントエンジン37に転送することにより印刷結果を得るように動作する。
【0019】
また前記印刷ジョブ制御手段33は、印刷ジョブを全て、印刷ジョブ記憶装置34に保存できた場合には、印刷ジョブ受信完了通知手段38により送信手段40およびインターフェイス31を介して、コンピュータ10に印刷ジョブ受信完了通知を送信する。送信された印刷ジョブ受信完了通知は、前記コンピュータ10のインターフェイス16および受信手段17を介して受信され、応答コマンド解析手段39で解析された結果、スプールファイル削除手段19により、前記スプーラに対して受信を完了した印刷ジョブに対応するスプールファイルの削除を行う。
【0020】
また前記印刷ジョブ制御手段33は、印刷ジョブを全て、印刷ジョブ記憶装置34に保存できなかった場合には、印刷ジョブ再送要求手段39により送信手段40およびインターフェイス31を介して、コンピュータ10に印刷ジョブ再送要求を送信する。送信された印刷ジョブ再送要求は、前記コンピュータ10のインターフェイス16および受信手段17を介して受信され、応答コマンド解析手段39で解析された結果、印刷ジョブ再送手段20からスプーラ13への指示に従って、スプーラ13は再送要求された印刷ジョブに対応するスプールファイル14を読み出し、送信手段15およびインターフェイス16を介して、プインタ30に送信する。
【0021】
本実施例では、図1の印刷システム構成図にあるように、複数部数印刷を行う場合に、印刷したい印刷ジョブが全て前記印刷ジョブ記憶装置34に保存できる場合には、2部目以降の印刷については、前記印刷ジョブ制御手段33の制御に基づいて、前記印刷ジョブ記憶装置34から印刷ジョブを読み出し、前記言語処理手段35により印刷イメージを生成し、前記描画バッファ36に格納し、プリントエンジン37に転送することにより2部目以降の印刷出力を得る。この場合、コンピュータ10側から印刷ジョブを部数分送信してもらう必要がないため、印刷ジョブ受信完了通知手段38により印刷ジョブ受信完了通知をコンピュータ10に送信することにより、前記スプールファイル削除手段19を起動し、前記スプーラ13に印刷ジョブに対応したスプールファイル14を削除するように動作する。
【0022】
一方、印刷ジョブが全て前記印刷ジョブ記憶装置34に保存できない場合には、2部目以降の印刷を前記印刷ジョブ記憶装置34に保存された印刷ジョブで行うことができない。このため、コンピュータ10から印刷ジョブを部数分だけ繰り返して送信してもらう必要がある。従って、前記印刷ジョブ制御手段33の制御に基づいて、前記印刷ジョブ再送要求手段39により前記コンピュータ10に印刷ジョブ再送要求を送信し、これによりコンピュータ10内の前記印刷ジョブ再送手段20から前記スプーラ13に再送指示を行うことで、再送要求の印刷ジョブを前記スプールファイル14から読み出し、前記プリンタ30に転送するように動作する。前記コンピュータ10から送信された印刷ジョブを前記言語処理手段35で印刷イメージを生成し、前記描画バッファ36に格納し、前記プリントエンジン37に転送して印刷を行う。このような制御を部数分繰り返すことによって、複数部数印刷を実現する。
【0023】
本実施例によれば、プリンタに搭載したメモリで構成される前記印刷ジョブ記憶装置34に格納されるサイズの印刷ジョブであれば、一度記憶した印刷ジョブを使用して複数部数印字を実現でき、前記印刷ジョブ記憶装置34に格納できない場合には、前記コンピュータ10の前記スプールファイル14に格納された印刷ジョブを繰り返し再送してもらうことにより複数部数印刷を実現できるという柔軟性を有した印刷システムを実現できるという効果がある。
【実施例2】
【0024】
図2から図9は、第2の実施例を説明するフロー図である。
【0025】
図2、はコンピュータの印刷フロー図である。ステップS100にて、アプリケーション11からプリンタドライバ12に印刷ジョブの生成を依頼し、ステップS101にて、プリンタドライバ12は印刷ジョブの生成を行い、スプーラ13に対してスプールファイル14の生成を要求する。
【0026】
図3は、スプーラ処理フロー図であり、ステップS110にて、スプーラに対する処理の要求解析を行い、ステップS111にて要求解析結果に従って、各処理に分岐する。今プリンタドライバ12から印刷ジョブに対応したスプールファイル14の生成要求がきたため、スプーラ13はステップS112にてスプールファイルの作成を行う。スプールファイル14の作成を完了すると、ステップS113にてスプールファイル14を読み出し、プリンタ30に対応する印刷ジョブを送信する。
【0027】
図4は、コンピュータの受信処理フロー図である。プリンタ30から送信されてきた応答コマンドをインターフェイス16および受信手段17で受信し、ステップS120にて応答コマンドの解析を行い、その解析結果に従って、ステップS121で分岐処理を行う。印刷ジョブの再送要求の場合には、ステップS122でスプーラに印刷ジョブの再送要求指示を行う。この場合、図3で説明したスプーラ処理フロー図のステップS113でスプールファイル114を読み出し、プリンタ30に送信することにより再送要求に応答する。またスプールファイルの削除要求の場合には、ステップS123でスプーラ13にスプールファイルの削除要求をし、図3のスプール処理フロー図のステップS114にて、スプールファイル114の削除処理を実行する。
【0028】
図5は、プリンタの受信フロー図である。プリンタ受信タスクは、コンピュータ10から送信してきた印刷ジョブをインターフェイス31および受信手段32にて、ステップS130でインターフェイスから受信バッファに印刷ジョブを読み込む。次にステップS131にて、印刷ジョブ制御タスクを起動し、以降の処理を行う。
【0029】
図6は、印刷ジョブ制御フロー図を示したもので、印刷ジョブ制御タスクは、例えば、図5のプリンタ受信タスクのステップS131にて起動される。まず起動されると、ステップS140にて、印刷ジョブの解析が実行される。次にステップS154にて、再送要求フラグがONかのチェックを行い、OFFの場合には、ステップS141に進み、ONの場合には、ステップS148に進む。今、OFFであるとすると、ステップS141にて、解析の結果、印刷する部数が複数部数でない場合、ステップS148に進む。一方、ステップS141で複数部数と判定されるとステップS144に進み、受信した印刷ジョブを印刷ジョブ記憶装置34に保存する。ここでステップS145で印刷ジョブ 記憶装置34がフルかどうかをチェックし、フルでない場合には、ステップS148に進む。もしフルの場合には、印刷ジョブを全て保存できなかったということで、複数部数印刷を行うためにはコンピュータ10から印刷ジョブを再送してもらう必要がある。このため、ステップS146で再送要求フラグをONにし、ステップS148に進む。ステップS148では、印刷ジョブはこれで終わりかという判断を行い、もし終わりでない場合には、ステップS153に進み、図7で説明する言語処理タスクを起動し、言語解析および印刷イメージの生成を行う。またステップS148で印刷ジョブは終わりであると判定された場合には、ステップS149で印刷ジョブ終了フラグをONにし、ステップS150で部数カウンタをデクリメントし、ステップS153に進み、言語処理タスクを起動する。
【0030】
図7は、プリンタの言語処理フロー図である。言語処理タスクは、前述したように例えば、図6の印刷ジョブ制御タスクのステップS153にて起動され、このとき渡される印刷ジョブをステップS160でコマンド解析し、ステップS161でコマンド解析結果に基づいて、印刷イメージの生成を行い、描画バッファ36に印刷イメージを格納し、ステップS162でエンジン通信タスクを起動し、プリントエンジン37に印刷データを転送し、印刷出力を行う。
【0031】
図8は、図7の言語処理タスクのステップS162で起動されるエンジン通信タスクの処理を説明するプリンタのエンジン通信フロー図である。エンジン通信タスクは、ステップS170でプリントエンジンに印刷イメージを転送し印刷を行うが、その後、ステップS171で印刷ジョブ終了フラグがONであるかのチェックを行い、もし終わりでないならば、ステップS176に進み、次に印刷すべき印刷データを受信するために、プリンタ受信タスクを起動する。またステップS171で印刷ジョブ終了フラグがONになっており、印刷ジョブが終わりであると判定して場合には、ステップS172で部数カウンタをチェックし、もし部数カウンタが0である場合には、全ての印刷処理を完了したと判断し、ステップS177で印刷ジョブ受信完了通知を送り、ステップS178で印刷ジョブフラグと再送要求フラグを初期化して処理を終了する。一方、ステップS172で部数カウンタが0でなく、まだ印刷すべき部数が残っていると判定された場合には、ステップS173で再送が必要かをチェックするために、再送要求フラグがONかどうかをチェックする。もし印刷ジョブ記憶装置34にすべての印刷ジョブが保存されている場合には、ステップS175で印刷ジョブ記憶装置34から印刷ジョブを読み出すために、図示されていない印刷ジョブ記憶装置読み出しタスクを起動し、印刷ジョブを読み出し、印刷を行う。また印刷ジョブ記憶装置34に印刷ジョブが全て保存できなかった場合には、再送要求フラグがONにセットされているため、ステップS174にて印刷ジョブ再送要求を送信し、続いてステップS176でプリンタ受信タスクを起動し、再度コンピュータ10から印刷ジョブを転送してもらうように動作する。
【0032】
本実施例によれば、プリンタに搭載したメモリで構成される前記印刷ジョブ記憶装置34に格納されるサイズの印刷ジョブであれば、一度記憶した印刷ジョブを使用して複数部数印字を実現でき、前記印刷ジョブ記憶装置34に格納できない場合には、前記コンピュータ10の前記スプールファイル14に格納された印刷ジョブを繰り返し再送してもらうことにより複数部数印刷を実現できるという柔軟性を有した印刷方法を実現できるという効果がある。
【図面の簡単な説明】
【0033】
【図1】本発明の第1の実施例を説明する印刷システム構成図である。
【図2】本発明の第1の実施例を説明するコンピュータの印刷フロー図である。
【図3】本発明の第1の実施例を説明するスプーラ処理フロー図である。
【図4】本発明の第1の実施例を説明するコンピュータの受信フロー図である。
【図5】本発明の第1の実施例を説明するプリンタの受信フロー図である。
【図6】本発明の第1の実施例を説明するプリンタの印刷ジョブ制御フロー図である。
【図7】本発明の第1の実施例を説明するプリンタの言語処理フロー図である。
【図8】本発明の第1の実施例を説明するプリンタのエンジン通信フロー図である。
【符号の説明】
【0034】
10 コンピュータ
11 アプリケーション
12 プリンタドライバ
13 スプーラ
14 スプールファイル
15 送信手段
16 インターフェイス
17 受信手段
18 応答コマンド解析手段
19 スプールファイル削除手段
20 印刷ジョブ再送手段
30 プリンタ
31 インターフェイス
32 受信手段
33 受信データ制御手段
34 印刷ジョブ記憶手段
35 言語処理手段
36 描画バッファ
37 プリントエンジン
38 印刷ジョブ受信完了通知手段
39 印刷ジョブ再送要求手段
40 送信手段

【特許請求の範囲】
【請求項1】
印刷装置と情報処理装置とを含む印刷システムであって、
前記印刷装置は、
印刷ジョブを保存する記憶手段と、
保存した印刷ジョブを複数部数印刷指示に従って印刷する印刷手段を有する印刷装置において、
印刷ジョブの受信が完了したことを前記情報処理装置に通知する通知手段と、
前記情報処理装置に対して印刷ジョブの再送を要求する再送要求手段とを有し、
前記情報処理装置は、
印刷ジョブを前記印刷装置に送信後も当該印刷ジョブをスプールファイルとして保存するスプール手段と、
前記スプール手段に保存されている印刷ジョブを消去する消去手段と、
前記スプール手段に保存されている印刷ジョブを前記印刷装置に再送する印刷ジョブ再送手段とを有することを特徴とする印刷システム。
【請求項2】
前記通知手段は、印刷すべき印刷ジョブを全て受信完了したことを前記情報処理装置に通知することを特徴とする請求項1記載の印刷システム。
【請求項3】
前記再送要求手段は、印刷ジョブを印刷装置内部の記憶装置に全て記憶できない場合に、印刷ジョブを記憶装置に全て保存できないと判断した時点から印刷完了までの所定のタイミングで、印刷ジョブを再送要求することを特徴とする請求項1または2に記載の印刷システム。
【請求項4】
前記消去手段は、前記印刷装置の通知手段による通知に応じて、前記スプール手段に蓄積した印刷ジョブを消去することを特徴とする請求項1乃至3のいずれかに記載の印刷システム。
【請求項5】
前記印刷ジョブ再送手段は、前記印刷装置の再送要求手段からの要求に応じて、前記スプール手段に蓄積した印刷ジョブを再送すること特徴とする請求項1乃至3のいずれかに記載の印刷システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−18741(P2006−18741A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−198004(P2004−198004)
【出願日】平成16年7月5日(2004.7.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】