(57)【要約】【課題】改ページオーダに関して当否判定可能とし、ひいては多ページにわたる連続出力エラーを確実に回避できるようにする。【解決手段】出力すべきデータ本体、データ本体をページ単位に分けるための改ページオーダ、および改ページオーダごとに付加された連続番号コードを、ＰＣ１から受け付ける印刷要求受付部２１と、データ本体をページ単位で出力する際に、改ページオーダに基づいてデータ本体をページ単位に分け、１ページごとに出力データを生成する印刷データ生成部２２と、当該出力データのページ数をカウントするページ数計数部２３と、印刷データ生成部２２で１ページ分の出力データが生成されると、当該出力データに対応する連続番号コードをページ数計数部２３でカウントされたページ数と照合して当該連続番号コードがページ数に対して不正か否かを確認するコードチェック部２４とを有する。【選択図】  図１
2004195661.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からのデータ出力要求に応じてページ単位でデータを出力するデータ出力装置であって、
上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加された連続番号コードを、上記ホスト装置から受け付けるデータ出力要求受付手段と、
上記データ本体をページ単位で出力する際に、上記改ページオーダに基づいて上記データ本体をページ単位に分け、１ページごとに出力データを生成する出力データ生成手段と、
上記出力データ生成手段で生成された出力データのページ数をカウントするページ数計数手段と、
上記出力データ生成手段で１ページ分の出力データが生成されると、当該出力データに対応する連続番号コードを上記ページ数計数手段でカウントされたページ数と照合して当該連続番号コードが上記ページ数に対して不正か否かを確認するコードチェック手段と、
を有することを特徴とする、データ出力装置。
【請求項２】
上記コードチェック手段により上記連続番号コードが上記ページ数に対して不正であることを検出されると、上記出力データをページ単位で出力する動作を停止させるデータ出力停止手段を有する、請求項１に記載のデータ出力装置。
【請求項３】
上記コードチェック手段により上記連続番号コードが上記ページ数に対して不正であることを検出されると、その旨のエラーを上記ホスト装置に対して通知するエラー通知手段を有する、請求項１または２に記載のデータ出力装置。
【請求項４】
ページ単位でデータを出力可能なデータ出力装置に対してデータ出力要求を行うホスト装置であって、
上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加された連続番号コードを、上記データ出力装置に対して発行するデータ出力要求発行手段を有することを特徴とする、ホスト装置。
【請求項５】
上記データ出力要求の発行後、上記データ出力装置から上記連続番号コードに基づくエラー通知を受けると、その旨を報知するエラー報知手段を有する、請求項４に記載のホスト装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえばページ単位で印刷可能なプリンタなどのデータ出力装置、およびプリンタに対して印刷要求を行うコンピュータなどのホスト装置に関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータ（以下、「ＰＣ」と呼ぶ）などの上位装置からプリンタに文書データを送信し、当該プリンタにて文書データをページ単位で印字させる構成において、プリンタへの印字データとして文書データに改ページコード（改ページオーダ）を加えて送信する方法が知られている。
【０００３】
このような送信方法によれば、ＰＣからプリンタに印字データとして改ページコード含む文書データを送信し、プリンタ側で受信した文書データ中における改ページコードおよび改行コードの出現状態を監視することにより白紙ページ、１ページ中に印字される行数、ページ頭の空行数、１ページ中の空行数を検出し、その検出情報からページ毎に印字される文字列の状態を判断し、異常であると考えられる印字が複数ページ連続したとき、エラーの発生と判断している（たとえば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００１−１７５４４３号公報
【０００５】
【発明が解決しようとする課題】
ところで、改ページオーダは、ＰＣとプリンタとの間でデータをやり取りする際の通信ノイズや、通信インターフェース上の設定ミスなどによって不正な内容に改変されてしまうことがある。ところが、上記した従来のプリンタには、改ページオーダそのものについて不正か否かをチェックする機能が設けられていない。上記特許文献１に記載の技術にしても、不正な改ページオーダを実際に処理しなければならず、改ページ処理後の複数ページにわたる印字結果を得た上で印刷エラーと判定するにすぎない。
【０００６】
つまり、従来のプリンタでは、ＰＣからの改ページオーダに基づいて出力すべきデータをページ単位に分けるのに伴い、不正な改ページオーダをチェックすることもなくそのまま処理するので、空白ページや文字化けなどの本来の印刷内容とは異なる多数枚の用紙が連続出力されてしまう問題があった。
【０００７】
【発明の開示】
そこで、本発明は、上記した事情のもとで考え出されたものであって、改ページオーダに関して当否判定可能とし、ひいては多ページにわたる連続出力エラーを確実に回避できるデータ出力装置およびホスト装置を提供することを、その課題としている。
【０００８】
上記課題を解決するため、本発明では、次の技術的手段を講じている。
【０００９】
本発明の第１の側面によれば、ホスト装置からのデータ出力要求に応じてページ単位でデータを出力するデータ出力装置であって、上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加された連続番号コードを、上記ホスト装置から受け付けるデータ出力要求受付手段と、上記データ本体をページ単位で出力する際に、上記改ページオーダに基づいて上記データ本体をページ単位に分け、１ページごとに出力データを生成する出力データ生成手段と、上記出力データ生成手段で生成された出力データのページ数をカウントするページ数計数手段と、上記出力データ生成手段で１ページ分の出力データが生成されると、当該出力データに対応する連続番号コードを上記ページ数計数手段でカウントされたページ数と照合して当該連続番号コードが上記ページ数に対して不正か否かを確認するコードチェック手段とを有することを特徴とする、データ出力装置が提供される。
【００１０】
好ましい実施の形態としては、上記コードチェック手段により上記連続番号コードが上記ページ数に対して不正であることを検出されると、上記出力データをページ単位で出力する動作を停止させるデータ出力停止手段を有する構成とすることができる。
【００１１】
他の好ましい実施の形態としては、上記コードチェック手段により上記連続番号コードが上記ページ数に対して不正であることを検出されると、その旨のエラーを上記ホスト装置に対して通知するエラー通知手段を有する構成とすることができる。
【００１２】
本発明の第２の側面によれば、ページ単位でデータを出力可能なデータ出力装置に対してデータ出力要求を行うホスト装置であって、上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加された連続番号コードを、上記データ出力装置に対して発行するデータ出力要求発行手段を有することを特徴とする、ホスト装置が提供される。
【００１３】
好ましい実施の形態としては、上記データ出力要求の発行後、上記データ出力装置から上記連続番号コードに基づくエラー通知を受けると、その旨を報知するエラー報知手段を有する構成とすることができる。
【００１４】
本発明によれば、たとえばプリンタなどのデータ出力装置では、ホスト装置から、出力すべきデータ本体、改ページオーダおよび連続番号コードからなるデータ出力要求が送信されると、出力すべきデータ本体が改ページオーダに基づいて１ページごとに分離され、順次、ページ単位で出力（プリント）される。そして、各ページの出力データが生成される際、当該出力データのページ数（何ページ目の出力データであるかの情報）がカウントされ、さらにこのページ数が当該出力データに対応して付加された連続番号コード（データ本体におけるページ数に相当）に対して不正か否か（一致しているか否か）が確認される。すなわち、出力データを出力した際、正しいページ数になるか否かがチェックされる。
【００１５】
これにより、データ出力装置では、受信したデータ出力要求に含まれる改ページオーダのうち、連続番号コードに一致しなかった改ページオーダは、通信ノイズなどによって生じた不正な情報であると判定することができるので、その不正な改ページオーダを検出した場合は、たとえばその検出時点でデータ出力を停止したり、データ出力要求元のホスト装置に対してエラー通知を行うことにより、不適切にページ単位として分割された出力データを多ページに渡って連続出力するという不都合を確実に回避することができる。
【００１６】
本発明のその他の特徴および利点は、図面を参照して以下に行う詳細な説明から、より明らかとなるであろう。
【００１７】
【発明の実施の形態】
以下、本発明の好ましい実施の形態を、図面を参照して具体的に説明する。
【００１８】
図１は、本発明に係る装置を含むシステム全体のブロック図である。システムは、ホスト装置としてのＰＣ１と、データ出力装置としてページ単位で印刷可能なプリンタ２とを接続した構成からなる。ＰＣ１は、通信制御部１０、印刷元データ作成部１１、印刷要求発行部１２、エラー報知部１３などを備える。プリンタ２は、通信制御部２０、印刷要求受付部２１、印刷データ生成部２２、ページ数計数部２３、コードチェック部２４、印刷部２５、印刷動作停止部２６、ステータス情報通知部２７などを備える。
【００１９】
ＰＣ１に関し、通信制御部１０は、たとえばＵＳＢ、セントロニクスインターフェース、ＳＣＳＩ、あるいはＬＡＮといった通信インターフェースに対応するハードウェアにより構成され、プリンタ２の通信制御部２０との間で各種の情報をやり取りする。印刷元データ作成部１１は、たとえばワープロ、グラフィックス、表計算などといったソフトウェアにより構成され、ユーザによって作成されたワープロデータ、グラフィックスデータ、表計算データなどを印刷元データとして印刷要求発行部１２に伝える。印刷要求発行部１２は、プリンタドライバと呼ばれるソフトウェアにより構成され、印刷元データ作成部１１から印刷元データを受けると、その印刷元データをページ単位に振り分けて後述する印刷要求のデータを作成し、プリンタ２に送信する。エラー報知部１３は、プリンタドライバの一機能であって、プリンタ２から送られてくるステータス情報としてエラー通知を受けると、その旨のエラーメッセージをＰＣ１のディスプレイの画面上に表示させる。
【００２０】
図２は、印刷要求の内容を説明するための説明図、図３は、ステータス情報の内容を説明するための説明図である。まず、図２に示すように、印刷要求とは、プリンタ２に印刷元データを送るための送信フレームであって、ページ単位で印刷元データを連続させたデータ構造からなる。印刷要求には、ページ単位の印刷元データとして印刷すべきデータ本体１００、データ本体１００をページ単位で区別するための改ページオーダ（以下、略して「ｎｐｏ」と呼ぶ）２００、および改ページオーダ２００ごとに連続コードとして割り当てられたページ番号３００が含まれる。データ本体１００、ｎｐｏ２００、ページ番号３００は、ページ単位にまとめられ、１ページ目から最終ページまでページ順に連続した構成とされる。データ本体１００は、ワープロ形式、グラフィックス形式、表計算形式などからなる印刷元データを印刷要求発行部１２がページ単位に分割することで得られ、各データ本体１００は、１ページ分の印刷制御用コードを含む印刷データからなる。ｎｐｏ２００は、あらかじめ定められた共通のコード列からなり、数バイト程度のデータサイズである。ページ番号３００は、ｎｐｏ２００と一対一に対応させられ、１から順に連続的に割り当てられる。図２において、「0x00000001」、「0x00000002」、「0x00000009」、「0x0000000A」の最下位桁はページ番号を示し、それぞれ１ページ目、２ページ目、９ページ目、１０ページ目の改ページオーダに対応している。なお、ページ番号３００は、１６進数で構成されるため、１０ページ目のページ番号は、「Ａ」となっている。
【００２１】
また、ステータス情報とは、プリンタ２が１ページ分のデータ処理を終えるごとにプリンタ２からＰＣ１に対して送られるもので、その処理結果の内容を示すものである。図３に示すように、ステータス情報には、その送信時点でデータ処理を完了したページ数を示すページ数情報４００と、データ処理が正常であったかエラーであったかを伝える情報５００が含まれる。エラー報知部１３は、ステータス情報の情報５００の内容がデータ処理エラーを伝えるものであるとき、エラーメッセージをＰＣ１のディスプレイの画面上に表示させる。
【００２２】
再び図１を参照してプリンタ２について説明すると、通信制御部２０は、たとえばＵＳＢ、セントロニクスインターフェース、ＳＣＳＩ、あるいはＬＡＮといった通信インターフェースに対応するハードウェアにより構成され、ＰＣ１の通信制御部１０との間で各種の情報をやり取りする。印刷部２５は、たとえば電子写真方式により印刷動作を実行するメインユニットであって、印刷制御用コードを含む印刷データに基づいて１ページずつ印刷を行う。印刷要求受付部２１、印刷データ生成部２２、ページ数計数部２３、コードチェック部２４、印刷動作停止部２６、およびステータス情報通知部２７は、いわゆるプリンタエンジンとしてのマイクロコンピュータにより構成される。
【００２３】
印刷要求受付部２１は、ＰＣ１からの印刷要求データを受け、その印刷要求データに含まれるデータ本体１００、ｎｐｏ２００、ページ番号３００を印刷データ生成部２２に対してページ順に伝える。印刷データ生成部２２は、ｎｐｏ２００を検出するごとに１ページ分のデータ本体１００を抽出し、抽出したデータ本体１００から印刷制御用コードを含む印刷データを生成する。また、印刷データ生成部２２は、生成した印刷データや、ｎｐｏ２００に付随して検出したページ番号３００をコードチェック部２４に送る。ページ数計数部２３は、上記印刷データの生成ごとに生成済みとしたページ数を１つずつカウントアップする。そうしてカウントアップされたページ数は、コードチェック部２４に送られる。コードチェック部２４は、上記印刷データの生成ごとにページ数とページ番号３００とを比較し、双方が一致する場合には、ページ番号３００を正常と判断してそのページの印刷データを印刷部２５に送る。そして、印刷動作も正常に完了すれば、そのページの印刷処理を正常に終えた旨をステータス情報通知部２７に伝える。一方、ページ数とページ番号３００とが一致しない場合、コードチェック部２４は、ページ番号３００を不正と判断するとともに、そのページ番号３００に対応するｎｐｏ２００を不正なコード列とみなし、その旨を印刷動作停止部２６やステータス情報通知部２７に伝える。印刷動作停止部２６は、不正なｎｐｏ２００が伝えられると、そのｎｐｏ２００に対応するページの印刷動作を印刷部２５が行わないように停止（中止）させる。ステータス情報通知部２７は、不正なｎｐｏ２００が伝えられると、そのｎｐｏ２００に対応するページの印刷エラーを伝えるためのステータス情報を生成してＰＣ１に送る。なお、ステータス情報通知部２７は、コードチェック部２４から印刷処理を正常に終えた旨が伝えられると、その旨を内容とするステータス情報を生成してＰＣ１に送る。
【００２４】
次に、印刷動作について説明する。
【００２５】
図４は、印刷時のデータの流れを説明するためのデータフロー図である。この図に示すように、印刷する際には、まず、ＰＣ１からプリンタ２に対して印刷要求がなされる。この印刷要求には、上記データ本体１００、ｎｐｏ２００、ページ番号３００が含まれ、これらがページ順に連続して送信される。
【００２６】
プリンタ２では、上記データ本体１００、ｎｐｏ２００、ページ番号３００が順次受信され、図示省略のバッファメモリに一時記憶される。そして、ｎｐｏ２００をバッファメモリから読み出すごとに１ページ分のデータ本体１００が印刷データに変換され、変換後の印刷データに基づいて１ページ分の印刷を行う直前に、ページ数計数部２３でカウントされたページ数と当該印刷データに対応するページ番号３００の内容（ページ番号）との照合確認が行われる。
【００２７】
たとえば、図４に一例として示すように、１ページ目のページ数とページ番号３００とを照合した結果、その時点でのページ数（この場合、ページ数＝１）とページ番号３００とが一致する場合、１ページ目の印刷データを基にして印刷が行われる。
【００２８】
その後、１ページ目の印刷処理を正常に終えると、その旨を内容とした１ページ目のステータス情報がプリンタ２からＰＣ１に対して送られる。なお、ＰＣ１は、１ページ目の印刷処理を正常に終えた旨のステータス情報を受信すると、１ページ目の印刷元データを削除できる。もちろん、全ページの印刷が正常に完了するまで全ページ分の印刷元データを保持した状態としても良い。
【００２９】
２ページ目以降は、上記１ページ目と同様に一連の処理を繰り返すようにして印刷が行われる。なお、ＰＣ１からプリンタ２に対して送られるデータ量がバッファの容量をオーバする場合には、印刷要求を受けながら同時に印刷が行われる。
【００３０】
一方、図４に一例として示すように、ｎページ目のページ数とページ番号３００とを照合した結果、その時点でのページ数（この場合、ページ数＝ｎ）とページ番号３００とが一致しないことがある。これは、ＰＣ１とプリンタ２との間でデータをやり取りする際の通信ノイズや、プリンタドライバあるいは通信プロトコルなどの設定ミスによって印刷要求が不正な内容に改変され、正しい位置とは異なる位置にｎｐｏ２００と同じコード列が含まれてしまうことが原因である。
【００３１】
このような場合、ｎページ目の印刷データを基にした印刷が行われることなく、そのｎページ目以降の印刷が中止される。したがって、すでに印刷されたｎ−１ページについては正常な印刷結果が得られ、ｎページ以降の空白ページや文字化けした内容のページは印刷されることはない。また、ｎページ目に印刷エラーがある旨のステータス情報がプリンタ２からＰＣ１に対して送られる。その結果、ＰＣ１の画面上には、ｎページ目に印刷エラーが生じた旨のメッセージが表示される。それを確認したユーザは、再度、ｎページ目からの印刷要求をプリンタ２に対して行うための所要の操作を行うことができる。
【００３２】
もちろん、上記したような印刷エラーは、１ページ目から発生することもある。特に、プリンタドライバあるいは通信プロトコルなどの設定ミスによって当初から印刷要求が不正な内容の場合には、１ページ目から印刷エラーになってしまう。そうした場合も、上記ｎページ目と同様の処理を経て１ページ目以降の印刷が中止され、すなわち印刷動作は全く行われず、１ページ目に印刷エラーがある旨のステータス情報がプリンタ２からＰＣ１に対して送られることになる。その後、ユーザは、プリンタドライバあるいは通信プロトコルなどの設定を変更した後、再び１ページ目からの印刷要求をプリンタ２に対して行うための所要の操作を行うことができる。
【００３３】
したがって、上記実施形態によれば、ＰＣ１からｎｐｏ２００とともに送られてきたページ番号３００が不正な場合、そのページ番号３００に対応するｎｐｏ２００を不正とみなせるので、ページ番号３００を用いてｎｐｏ２００の当否判定を行うことができる。そして、不正なｎｐｏ２００（ページ番号３００）を検出した場合には、その検出時点のページについて印刷中止したり、ＰＣ１に対してエラー通知を行うことができるので、多ページにわたって空白ページや文字化けする連続的な印刷エラーを確実に回避することができる。
【００３４】
ひいては、無駄に排出される用紙をなくすことができるとともに、トナーなどの消耗品も無駄に消費することなく、プリンタ２を効率良く運用することができる。
【００３５】
また、ユーザは、プリンタ２で生じた印刷エラーをＰＣ１上で確認することができ、印刷結果を直に確認する手間などもいらずにプリンタ２の使い勝手を良くすることができる。
【００３６】
なお、本発明は、上記の実施形態に限定されるものではない。
【００３７】
データ出力装置としては、たとえばファクシミリ装置でも良い。その場合、ホスト装置としては、送信元のファクシミリ装置などが該当する。
【００３８】
印刷エラーが生じた場合には、ユーザの操作によって印刷エラーに該当するページから再開できるとしたが、たとえば何ページか正常に印刷している途中で印刷エラーが生じた場合、その印刷エラーに該当するページでページ数とページ番号とのチェックを再試行し、正常な結果が得られると、自動的に該当ページから印刷を再開するようにしても良い。また、途中で印刷エラーが生じても、最初の１ページ目から印刷を行うようにしても良い。
【００３９】
（付記１）  ホスト装置からのデータ出力要求に応じてページ単位でデータを出力するデータ出力装置であって、
上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加された連続番号コードを、上記ホスト装置から受け付けるデータ出力要求受付手段と、
上記データ本体をページ単位で出力する際に、上記改ページオーダに基づいて上記データ本体をページ単位に分け、１ページごとに出力データを生成する出力データ生成手段と、
上記出力データ生成手段で生成された出力データのページ数をカウントするページ数計数手段と、
上記出力データ生成手段で１ページ分の出力データが生成されると、当該出力データに対応する連続番号コードを上記ページ数計数手段でカウントされたページ数と照合して当該連続番号コードが上記ページ数に対して不正か否かを確認するコードチェック手段と、
を有することを特徴とする、データ出力装置。
【００４０】
（付記２）  上記コードチェック手段により上記連続番号コードが上記ページ数に対して不正であることを検出されると、上記出力データをページ単位で出力する動作を停止させるデータ出力停止手段を有する、付記１に記載のデータ出力装置。
【００４１】
（付記３）  上記コードチェック手段により上記連続番号コードが上記ページ数に対して不正であることを検出されると、その旨のエラーを上記ホスト装置に対して通知するエラー通知手段を有する、付記１または２に記載のデータ出力装置。
【００４２】
（付記４）  ページ単位でデータを出力可能なデータ出力装置に対してデータ出力要求を行うホスト装置であって、
上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加された連続番号コードを、上記データ出力装置に対して発行するデータ出力要求発行手段を有することを特徴とする、ホスト装置。
【００４３】
（付記５）  上記データ出力要求の発行後、上記データ出力装置から上記連続番号コードに基づくエラー通知を受けると、その旨を報知するエラー報知手段を有する、付記４に記載のホスト装置。
【００４４】
（付記６）  ページ単位でデータを出力可能なデータ出力装置に対してデータ出力要求を行うためのコンピュータプログラムであって、
上記データ出力要求として、出力すべきデータ本体、上記データ本体をページ単位に分けるための改ページオーダ、および上記改ページオーダごとに付加した連続番号コードを、上記データ出力装置に対して発行する手段としてコンピュータを機能させることを特徴とする、コンピュータプログラム。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、受信したデータ出力要求に含まれる改ページオーダのうち、連続番号コードに一致しなかった改ページオーダは、通信ノイズなどによって生じた不正な情報であると判定することができるので、その不正な改ページオーダを検出した場合は、たとえばその検出時点でデータ出力を停止したり、データ出力要求元のホスト装置に対してエラー通知を行うことにより、不適切にページ単位として分割された出力データを多ページに渡って連続出力するという不都合を確実に回避することができる。
【図面の簡単な説明】
【図１】本発明に係る装置を含むシステム全体のブロック図である。
【図２】印刷要求の内容を説明するための説明図である。
【図３】ステータス情報の内容を説明するための説明図である。
【図４】印刷時のデータの流れを説明するためのデータフロー図である。
【符号の説明】
１      パーソナルコンピュータ（ＰＣ）
２      プリンタ
１０    通信制御部
１１    印刷元データ作成部
１２    印刷要求発行部（印刷要求発行手段）
１３    エラー報知部（エラー報知手段）
２０    通信制御部
２１    印刷要求受付部（出力要求受付手段）
２２    印刷データ生成部（出力データ生成手段）
２３    ページ数計数部（ページ数計数手段）
２４    コードチェック部（コードチェック手段）
２５    印刷部
２６    印刷動作停止部（データ出力停止手段）
２７    ステータス情報通知部（エラー通知手段）
１００  データ本体
２００  改ページオーダ（ｎｐｏ）
３００  ページ番号（連続番号コード）
【図１】
2004195661.tif 000003
【図２】
2004195661.tif 000004
【図３】
2004195661.tif 000005
【図４】
2004195661.tif 000006