(57)【要約】【課題】ホストよりプリンタに転送した、ファイルに間違いがあった場合に訂正後のファイルを再送信するが、再プリントによる紙のムダを減少する。【解決手段】プリントドライバは、プリンタに転送したデータのバイト数のカウントを行う。印刷中止命令がきた時点で、カウントしたバイト数Ｎを元に、プリンタに転送済みの印字データを検出する。新たに送られていき印字データの先頭から、Ｎバイトまでの印字データの、プリンタに転送済みの印字データのコンペアを行うことを特徴とする。【選択図】　　　　図１
2004038239.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータ上で、印刷中に印刷を中止する命令と印刷を停止する命令を実行可能な、シリアルラインプリンタ用の印字データ転送ドライバにおいて、プリンタに転送した印刷データのバイト数を計測する手段と、既に転送済みの第１の印字データと、新たに印刷が実行された印刷データの内、先頭データから前記計測バイト数までの第２の印字データを比較する手段を持つ事を特徴とする印刷データ転送ドライバ。
【請求項２】
前記第１の印字データと前記第２の印字データが、一致した場合には第２の印字データが格納されているバッファの続きから、プリンタに印字データの転送を行い、不一致であった場合には、記録装置に対して第一印字データの印刷終了を報知し、第２の印字データの先頭データからプリンタにデータを転送することを特徴とする印刷データ転送ドライバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はシリアルラインプリンタ方式の記録装置に対して、印刷データの転送制御を行う、印刷データ転送ドライバに関するものである。
【０００２】
【従来の技術】
図２は、従来のプリンタにおいて印刷途中で、印刷中止を行った場合の、プリンタ側の動作フロー図である。
【０００３】
ホストコンピュータ上で、作成した文書に対して印刷を実行すると、プリンタドライバは、印刷データをビットマップ形式のラスターデータに展開してハードディスクにスプールを行う。スプールされたラスターデータは、通信ドライバによって、プリンタに転送される（Ｓ２）。ここで、ホストコンピュータから送っているデータ、例えば文書に、誤記等の間違いが発見された場合、ユーザーは、プリンタドライバ上で印刷中止を行う（Ｓ３）。印刷中止命令は通信ドライバによってプリンタに転送され、印刷中止命令を受け取るとプリンタは現在の印刷を中止し、用紙の排紙する（Ｓ４）。そして、ユーザーがホストコンピュータ上で文書を訂正した後に、再度プリンタドライバ上から印刷データを再送すると（Ｓ５）、プリンタは新たな用紙の給紙を行い、先ほどの用紙とは、別の用紙に印刷を行う。この後、再び印刷中止がなければ（Ｓ６）、印刷データを最後まで印刷して、終了となる。
【０００４】
【発明が解決しようとする課題】
図３の（ａ）は、印刷中止命令がきた時点で、プリンタが印刷済みの用紙であり、図３（ｂ）、（ｃ）はユーザーがホストコンピュータ上で作成した文書である。又、図３（ｂ）は印刷中止前の文章であり、（ｃ）は誤記を訂正後（ここでは、日付を訂正）の文章である。この場合、印刷中止命令がホストコンピュータから送られてきた時点では、プリンタが印刷済みのデータには、後に訂正される部分（日付）は含まれていない。しかし、プリンタは印刷中止命令を受けた時点で、用紙を排紙してしまう。そして、ユーザーが文書の日付を修正後に、印刷データを再度転送すると、新たな用紙に、再び印刷を開始する。
【０００５】
このように、従来では、ホストコンピュータから印刷中止命令が送られてくると、印刷済みのデータの中に修正する部分が含まれていない場合でも、用紙を排紙して、新たな用紙に再印刷を開始するため、用紙がムダとなってしまう。
【０００６】
本発明は、以上に点に着目して成されたもので、ホストよりプリンタに転送した、ファイルに間違いがあった場合に訂正後のファイルを再送信するが、再プリントによる紙のムダを減少する印刷データ転送ドライバを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために本発明は、以下の様な構成からなる。
【０００８】
プリンタドライバは、データ通信ドライバ対して、印刷の中止命令と印刷停止命令を持ち、データ通信ドライバは第１の印字データをプリンタに転送中に、印刷停止命令を受けた場合、印刷データの転送停止を行う。データ通信ドライバはプリンタに転送済みの印字データのバイト数Ｎをカウントする手段を持ち、印刷停止命令を受けた時点で、プリンタへのデータ転送を中断し、第１の印字データの先頭データから、バイト数Ｎまでの印字データと、新たにスプールが行われた第二の印字データの比較を行う。
【０００９】
更にこれを要約すれば、以下の構成に集約できる。
【００１０】
（１）ホストコンピュータ上で、印刷中に印刷を中止する命令と印刷を停止する命令を実行可能な、シリアルラインプリンタ用の印字データ転送ドライバにおいて、プリンタに転送した印刷データのバイト数を計測する手段と、既に転送済みの第１の印字データと、新たに印刷が実行された印刷データの内、先頭データから前記計測バイト数までの第２の印字データを比較する手段を持つ事を特徴とする印刷データ転送ドライバ。
【００１１】
（２）前記第１の印字データと前記第２の印字データが、一致した場合には第２の印字データが格納されているバッファの続きから、プリンタに印字データの転送を行い、不一致であった場合には、記録装置に対して第一印字データの印刷終了を報知し、第２の印字データの先頭データからプリンタにデータを転送することを特徴とする印刷データ転送ドライバ。
【００１２】
【発明の実施の形態】
以下、添付図面を参照して本発明の公的な実施の形態について詳細に説明する。
【００１３】
図４は本発明の代表的な実施形態であるインクジェット方式に従って記録を行う記録ヘッドを備えたプリンタ装置の外観斜視図である。
【００１４】
図４において、１は記録用紙（或は、プラスチックシートなどの記録媒体）、２，３は記録用紙１の記録領域の上下に配置され矢印Ａの方向に記録用紙１を搬送する搬送ローラ、４は搬送ローラ２，３を駆動するシート送りモータ、５は搬送ローラ２と３との間に位置し搬送ローラ２，３の回転軸に平行に設けられたガイドシャフト、６はガイドシャフト５に沿って往復移動（矢印Ｂ）するキャリッジ、７はキャリッジを移動させるキャリッジモータ、８はキャリッジモータ７の駆動力をキャリッジ６に伝達するベルトである。
【００１５】
さて、キャリッジ６には、インクジェット方式に従ってインク液滴を吐出して記録を行う記録ヘッド９Ａ〜９Ｄ（以下、これら４つの記録ヘッドを総称して言及するときには、記録ヘッド９とする）が搭載されている。記録ヘッド９はカラー画像記録用であり、キャリッジ６の移動方向に配置され、それぞれ、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｂｋ）の各色のインクに対応させて設けた４個の記録ヘッド（Ｋヘッド）９Ａ、記録ヘッド（Ｃヘッド）９Ｂ、記録ヘッド（Ｍヘッド）９Ｃ、記録ヘッド（Ｙヘッド）９Ｄからなっている。記録ヘッド９Ａ〜９Ｄ各々の前面、即ち、記録用紙１の記録面と所定間隔を於いて対抗する面には複数（例えば、６４個）のインク吐出口をキャリッジ６の走査方向と交差させる方向に縦一列に配置している。そして、記録ヘッド９Ａ〜９Ｄのロジック回路は同じ構成を持っている。
【００１６】
又、このプリンタ装置の外装ケース（不図示）に取り付けられる操作パネル６４には、オンライン／オフライン切り替えキー６０Ａ、ラインフィードキー６０Ｂ、記録モード切り替えキー６０Ｃ、リセットキー６０Ｄ等のキー設定部の他、アラームランプ６１Ａや電源ランプ６１Ｂの警告ランプなどのＬＥＤランプや各種メッセージを表示するＬＣＤ６５が設けられている。
【００１７】
なお、９１は記録用紙１に所望の画像を記録するためのインクを貯溜するインクタンクである。インクタンク９１は、記録ヘッド９Ａ〜９Ｄに対応して４色（シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｂｋ））のインクを貯溜する４つのコンパートメントから構成されている。
【００１８】
以下に詳述するが、プリンタ装置のＣＰＵやこれに併設されたＲＯＭ，ＲＡＭ等を含む制御部は、ホストコンピュータ（以下、ホストという）１００から指令信号やデータ信号（記録情報）を受信し、これに基づいて、各種モータ等の駆動をするとともに、記録ヘッド９Ａ〜９Ｄに含まれる電気熱変換体（ヒータ）に駆動電源（ヒート電源）を印加し通電する。
【００１９】
図５は、図４に示すプリンタ装置の制御回路の概略構成を示すブロック図である。
【００２０】
マイクロプロセッサ形態のＣＰＵ２１は、インターフェース２２を介してホスト１００に接続されており、制御プログラムを格納したＲＯＭ２４や更新可能な制御プログラムや処理プログラムや各種定数データなどを格納したＥＥＰＲＯＭ２３、及び、ホスト１００からインターフェース２２を介して受信した指令信号（コマンド）や記録情報信号を格納するＲＡＭ２５をアクセスし、これらのメモリに格納された情報に基づいて記録動作を制御する。さらに、ＣＰＵ２１は、出力ポート２６及びキャリッジモータ制御回路４２を介してキャリッジモータ７を動作させることによりキャリッジ６を移動させたり、出力ポート２６及びシート送りモータ制御回路４４を介してシート送りモータ４を動作させることにより搬送ローラ２，３などの搬送機構を動作させる。さらに、ＣＰＵ２１は、ＲＡＭ２５に格納されている記録情報に基づきヘッド駆動回路２９を介して記録ヘッド９Ａ〜９Ｄを駆動することにより、記録用紙１上に所望の画像を記録することができる。
【００２１】
また、電源回路２８からは、ＣＰＵ２１を動作させるためのロジック駆動電圧Ｖｃｃ（例えば５Ｖ）、各種モータ駆動電圧Ｖｍ（例えば３０Ｖ）、記録ヘッド９を駆動させるためのヒート電圧Ｖｈ（例えば２５Ｖ）、及び、記録ヘッド９を制御するための、記録ヘッド制御回路２９に電圧ＶＤＤＨが印加される。
【００２２】
さらに、操作キー６０Ａ〜６０Ｄから入力される指示は入力ポート３２を介してＣＰＵ２１に伝えられ、ＣＰＵ２１からの命令が出力ポート３６を介してブザー発生制御回路６２に伝えられるとブザー６３が鳴動したり、表示制御回路６６に伝えられるとＬＣＤ６５にメッセージが表示される。なお、図５において、７０は上述した種々の構成要素を互いに接続するＣＰＵバスである。
【００２３】
図１は本実施例の動作フロー図であり、図７はホストコンピュータ内の概略図である。又、図６は、スプール後のデータの概略図である。
【００２４】
以下図１、図６、図７を用いて本実施例の説明を行う。
【００２５】
ホストコンピュータ１００上で、アプリケーション７０１によって作成された印刷データ（例えば文書）は、プリンタドライバ上の印刷（Ｓ２）命令によって、ビットマップ形式のラスターデータに変換された印字データがスプールバッファ７０４（例えばハードディスク）にスプールされる（Ｓ３）。通信ドライバ７０３はプリンタ７０５とインターフェース２２を介して、ＣＰＵ２２と接続され、双方向通信をしている。通信ドライバ７０３は、スプールバッファ７０４から第１の印字データの先頭データ、アドレスＮからデータを読み出し、プリンタ１００に印字データの転送を行う（Ｓ４）。通信ドライバ７０３は、プリンタ１００への印字データの転送を行う際に、転送バイト数のカウントを行う。プリンタドライバ上で印刷ＳＴＯＰの命令が実行されない場合には（Ｓ６）、印刷は終了され（Ｓ７）、プリンタへの転送済みデータのカウントを行っていた転送バイト数はクリアされ（Ｓ８）、用紙の排紙が行われる（Ｓ９）。プリンタドライバ上で印刷ＳＴＯＰの命令が実行された場合に、それが印刷中止であった場合には（Ｓ１１）、プリンタへの転送済みデータのカウントを行っていた転送バイト数はクリアされ（Ｓ８）、プリンタに対して用紙の排紙命令を転送する（Ｓ１６）。
【００２６】
Ｓ１１で印刷中止命令でない場合には、印刷停止命令と判断し（Ｓ１２）、プリンタへの印字データ転送を停止を行う（Ｓ１３）。停止した時点での転送済みデータのカウント数をＮとすると、通信ドライバ７０３は転送バイト数をＮを元に、転送済みデータ領域Ａを検出する。次に、ユーザーによって変更された第二のデータの印刷が、プリンタドライバ上（Ｓ１５）で、実行され、ビットマップ形式のラスターデータに変換された印字データがスプールバッファ７０４（例えばハードディスク）にスプールされる（Ｓ１６）。通信ドライバ７０３は転送バイト数をＮを元に、第二の印字データの領域Ｂの検出を行い、領域Ａと領域Ｂのデータの比較（Ｓ１７）を行う。領域Ａと領域Ｂのデータが一致した場合には、通信ドライバ７０３がプリンタに転送済み印字データの中に、ユーザーによって変更された文書内容含まれていないと判断する。次に第二の印字データがスプールされているバッファのアドレスＭ＋αから、プリンタにデータの転送を再開し（Ｓ１９）、転送バイト数をＮから続きでカウントを行う。Ｓ１８で領域Ａと領域Ｂのデータが不一致であった場合には、通信ドライバ７０３がプリンタに転送済み印字データの中に、ユーザーによって変更された文書内容含まれていると判断しプリンタに対して、排紙命令を実行する（Ｓ２０）。その後、給紙命令と共に、第二の印字データがスプールされているバッファのアドレスＭ（先頭データ）からプリンタにデータの転送を行う。
【００２７】
【発明の効果】
ホストコンピュータがプリンタに転送した印字データのバイト数Ｎのカウントを行うことで、印字データを転送中にプリンタドライバによって印刷停止命令が実行された場合、既にプリンタに転送済みの印刷データＮバイトと、新たにスプールされた印刷データの先頭からＮバイトまでのデータのコンペアを行い、一致した場合には、新たにスプールされた印刷データの先頭からＮバイト後から、プリンタに転送を行うことにより、ユーザーが印刷途中で、印刷データに間違いを発見した場合の、印刷用紙のムダを削減することが可能となる。
【図面の簡単な説明】
【図１】実施例の制御を示すフローチャート
【図２】従来例の制御を示すフローチャート
【図３】従来例における、印刷データを示す図
【図４】本発明の代表的な実施形態であるインクジェットプリンタ装置の構成を示す外観斜視図
【図５】インクジェットプリンタの制御回路の概略構成を示すブロック図
【図６】実施例における、スプールバッファ内の概略図
【図７】実施例における、ホストコンピュータとプリンタの概略図
【符号の説明】
１　記録媒体
２，３　搬送ローラ
４　シート送りモータ
５　ガイドシャフト
６　キャリッジ
７　キャリッジモータ
８　ベルト
９　記録ヘッド
２１　ＣＰＵ
２２　インターフェース
２３　ＥＥＰＲＯＭ
２４　ＲＯＭ
２５　ＲＡＭ
２６　出力ポート
２８　電源装置
２９　記録ヘッド制御回路
３２　入力ポート
３６　出力ポート
４２　キャリッジモータ制御回路
４３　搬送機構
４４　シート送りモータ
６０Ａ　オンライン／オフライン切り替えキー
６０Ｂ　ラインフィードキー
６０Ｃ　記録モード切り替えキー
６０Ｄ　リセットキー
６１Ａ　アラームＬＥＤ
６１Ｂ　オンライン／オフライン表示様ＬＥＤ
６２　ブザー発生制御回路
６３　ブザー
６４　操作パネル
６５　ＬＣＤ
６６　表示制御回路
７０　ＣＰＵバス
７０１　アプリケーション
７０２　プリンタドライバ
７０３　通信ドライバ
７０４　スプールバッファ
７０５　プリンタ
【図１】
2004038239.tif 000003
【図２】
2004038239.tif 000004
【図３】
2004038239.tif 000005
【図４】
2004038239.tif 000006
【図５】
2004038239.tif 000007
【図６】
2004038239.tif 000008
【図７】
2004038239.tif 000009