(57)【要約】【課題】同じデータを複数ページ印刷する場合に１つのプリントバッファを使い回して横方向に複数ページ印刷することで同じデータを複数ページ印刷する場合の処理時間を短縮する。【解決手段】１つのプリントバッファを用いて、同じデータを複数並べて印字することを特徴として、印字を行うためのトリガの設定を単数の印刷のときの複数倍（並べるページ数分）の値を印字トリガ数用レジスタに設定する。単数の印刷データ分のアドレスをインクリメントしたらプリントバッファのスキャン開始アドレスに戻るプリントバッファを有する。次ページ開始位置割り込みにより、プリントバッファのスキャン開始アドレスからデータを再度印字する。位置割り込みを発生させるために横方向に並べたデータの印字開始位置を次ページ開始位置用レジスタに設定する。【選択図】　　　　図１
2004058489.tif 000002
【特許請求の範囲】
【請求項１】
１つのプリントバッファを用いて、同じデータを横方向に複数並べて印字することを特徴とするプリンタ。
【請求項２】
上記請求項１のプリンタにおいて、印字を行うためのトリガ数の設定を単数の印刷のときの複数倍（横方向に並べるデータ分）の値を印字トリガ数用レジスタに設定することを特徴とするプリンタ。
【請求項３】
単数の印刷データ分のアドレスをインクリメントしたらプリントバッファのスキャン開始アドレスに戻ることを特徴とする上記請求項１のプリントバッファを有するプリンタ。
【請求項４】
次ページ開始位置割り込みにより、プリントバッファのスキャン開始アドレスからデータを再度印字することを特徴とするプリンタ。
【請求項５】
上記請求項４の位置割り込みを発生させるために横方向に並べたデータの印字開始位置を次ページ開始位置用レジスタに設定することを特徴とするプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプリンタに関するものである。
【０００２】
【従来の技術】
従来、インクジェットプリンタのようなシリアルプリンタで同じデータを複数印刷する場合に、まずホスト側で印字データを生成してプリンタ側にプリンタの受信バッファ分のデータを転送する。プリンタ側では、受信バッファからデータを取り出して、１枚ずつ給紙をして１スキャン分のデータをプリントバッファに展開して印刷をして、１ページ分のデータが終わるまでこれを繰り返し、１ページ分の印刷が終了すると排紙を行うという処理を印刷したい枚数分繰り返してきた。
【０００３】
【発明が解決しようとする課題】
従来のプリンタでは、同じデータを印刷する場合に横方向に複数枚並べて給紙できるスペースがあるのに１枚ずつのみしか印刷できないために、同じデータを大量に複数印刷するのに時間が掛かっていた。
【０００４】
また、ホスト側で並べたデータを作成するとプリントバッファに同じデータを展開してしまい、バッファの展開時間とメモリの資源を無駄に使用してしまうという問題があった。
【０００５】
【課題を解決するための手段】
本発明は、上記の問題点を解消するためになされたもので、本発明に係わる請求項１の発明〜請求項５の発明の目的は、同じデータを複数ページ印刷する場合に１つのプリントバッファを使い回して横方向に複数ページ印刷することで同じデータを複数ページ印刷する場合の処理時間を短縮する。
【０００６】
本発明に係わる請求項１の発明は、１つのプリントバッファを用いて、同じデータを複数並べて印字することを特徴とする。
【０００７】
本発明に係わる請求項２の発明は、上記のプリンタにおいて、印字を行うためのトリガの設定を単数の印刷のときの複数倍（並べるページ数分）の値を印字トリガ数用レジスタに設定することを特徴とする。
【０００８】
本発明に係わる請求項３の発明は、単数の印刷データ分のアドレスをインクリメントしたらプリントバッファのスキャン開始アドレスに戻ることを特徴とするプリントバッファを有することである。
【０００９】
本発明に係わる請求項４の発明は、次ページ開始位置割り込みにより、プリントバッファのスキャン開始アドレスからデータを再度印字することを特徴とすることである。
【００１０】
本発明に係わる請求項５の発明は、上記の位置割り込みを発生させるために横方向に並べたデータの印字開始位置を次ページ開始位置用レジスタに設定することを特徴とすることである。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００１２】
図１は、本発明の構成を示す図である。１０は、ホストＰＣであり、ホストＰＣには、プリンタドライバがあり、印字コマンドを生成する。１１は、ホストＰＣとプリンタの間のインターフェースである。１２は、本発明のプリンタである。１３はプリンタの処理を行うＣＰＵである。１４は、プリンタの受信ＢＵＦであり、ホストＰＣからの印字コマンドを格納する。１５は、１ページの１スキャン分の印字コマンドを展開した印字データを格納するプリントＢＵＦである。このプリントＢＵＦは単数の印刷データ分のアドレスをインクリメントしたらプリントバッファのスキャン開始アドレスに戻ることを特徴とする。
【００１３】
１６は、プリンタにおいて、印字を行うためのトリガ数を設定するレジスタである。単数の印刷のときの複数倍（横方向に並べるデータ分）の値を設定する。
【００１４】
１７は、横方向に並べた次ページの開始位置を設定するためのレジスタである。
【００１５】
このレジスタに設定した位置をプリントヘッドが通過したときに割り込みが入るようになっている。
【００１６】
図２は、本発明の特徴を示す図である。２０〜２２は、本発明のプリンタで印字を行ったときの様子を示す図であり、２０は、元データの出力結果を示し、２１は、２０と同一のプリントＢＵＦのデータを用いて横方向に並べて印刷したときの出力結果である。２２は、印字を行うためのプリントヘッドである。
【００１７】
２３は、本発明のプリンタの特徴であるプリントＢＵＦを示す図であり、プリントＢＵＦには、Ｓｃａｎ　Ｓｔａｒｔ　ＡｄｄｒとＳｃａｎ　Ｅｎｄ　Ａｄｄｒをもつ。このプリントバッファは、Ｓｃａｎ　Ｅｎｄ　ＡｄｄｒまでインクリメントされるとＳｃａｎ　Ｓｔａｒｔ　Ａｄｄｒに戻るバッファとなっている。元データの１スキャン分のデータを印刷するとＳｃａｎ　Ｓｔａｒｔ　Ａｄｄｒにリードポインタが戻され、横方向に並べられたスキャン開始位置にプリントヘッドを通過したときに割り込みがはいり、横方向に並べられたデータの印刷を開始する。横方向に並べられたデータの１スキャン目の印字が終了するとプリントＢＵＦの中身が２スキャン目データに更新され、１スキャン目と同様の処理を行い、さらに２スキャン目の印字が終了すると３スキャン目データに更新され印字を行い、横方向に複数のデータを単一のプリントバッファで同時に行うことが可能となる。
【００１８】
図３は、本発明の処理の流れを示すフローチャートである。
【００１９】
Ｓ１で、ホストＰＣのプリンタドライバで印字コマンドを生成し、プリンタの受信ＢＵＦへ転送する。次にＳ２で、プリンタの受信ＢＵＦからデータを取得してワークＢＵＦ等にデータ展開を行う。Ｓ３で、展開したデータをもとに、ヒートトリガ数（１スキャン分の元データ数×横方向に並べる数）を計算しヒートトリガ数設定レジスタに設定を行う。Ｓ４で横方向に並べた次ページの開始位置を次ページ開始位置レジスタ設定する。本発明では、プリントヘッドがこのレジスタで設定した位置をプリントヘッドが通過したときに割り込みが入るようになっている。Ｓ５で１スキャン分の印字用データをプリントＢＵＦへ展開を行う。
【００２０】
Ｓ６でｒｅａｄ　ｐｏｉｎｔｅｒがＳｃａｎ　ｓｔａｒｔ　Ａｄｄｒからデータを読み出して印刷処理を行う。
【００２１】
Ｓ７でｒｅａｄ　ｐｏｉｎｔｅｒをインクリメントして読み出しデータを順に印刷する。そして、Ｓ８でｒｅａｄ　ｐｏｉｎｔｅｒがＳｃａｎ　Ｅｎｄ　Ａｄｄｒまでインクリメントしたかチェックする。Ｓｃａｎ　Ｅｎｄ　Ａｄｄｒでないときは、Ｓ７の処理を繰り返す。Ｓｃａｎ　Ｅｎｄ　Ａｄｄｒのときは、Ｓ９の処理へ進む。Ｓ９でヒートトリガ数が設定値を超えたかをチェックする。超えていないときは、まだ横方向に並べたデータの印字があるのでＳ１０の処理へ進む。Ｓ１０では、次ページ開始位置割り込みにより、プリントヘッドが横方向に並べたページの印字開始位置に来たことが通知されるので、割り込みが入ったらＳ６の処理に戻り、横方向に並べたページの印刷を開始する。Ｓ９でヒートトリガ数が設定値を超えた場合は、横方向に並べたデータの１スキャン分のデータまで印刷したことになるので、Ｓ１１の処理へ処理へ進む。Ｓ１１では、印刷終了かチェックを行い印刷終了でないときは、Ｓ１２で紙送り処理を行い、Ｓ２の処理へ戻り次のスキャンに対してもプリントバッファの中身を更新して同様の処理を最後のスキャンまで行う。Ｓ１２で印刷終了の場合は、Ｓ１３で排紙処理を行い処理を終了する。
【００２２】
【発明の効果】
以上説明したように、本発明によれば、同じデータを複数ページ印刷する場合に１つのプリントバッファを使い回して横方向に複数ページ並べて印刷することでプリントバッファを効率良く使用して、同じデータを複数ページ印刷する場合の処理時間を短縮する。
【図面の簡単な説明】
【図１】本発明のプリンタの構成を示す図である。
【図２】本発明のプリンタの特徴を示す図である。
【図３】本発明のプリンタの処理を示すフローチャートである。
【符号の説明】
１０　ホストＰＣ
１１　インターフェース
１２　プリンタ
１３　ＣＰＵ
１４　受信ＢＵＦ
１５　プリントＢＵＦ
【図１】
2004058489.tif 000003
【図２】
2004058489.tif 000004
【図３】
2004058489.tif 000005