説明

プリンタ及びプリンタの制御方法

【課題】表面用バッファ及び裏面用バッファにそれぞれ全ての印刷データが展開されるのを待たずに、両面印刷処理を開始することによって印刷処理開始までのスループットを高めること、表面用バッファと裏面用バッファとをそれぞれ備えなくとも印刷対象物に対する両面印刷処理を実行すること、片面印刷処理と両面印刷処理とを所定の指示に応じて切り換えて実行することができるサーマルプリンタ及びサーマルプリンタの制御方法を提供する。
【解決手段】表面301に対する片面印刷処理、裏面302に対する片面印刷処理、表面301及び裏面302に対する両面印刷処理、表面301及び裏面302に対して同一の展開データを印刷する両面同一印刷処理、のうちの何れかの印刷処理を実行するよう指示する印刷処理選択コマンドを受信するステップS11と、印刷データを展開するステップS14と、印刷処理選択コマンドによって指示された印刷処理を実行するステップS19と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷対象物の片面あるいは両面に印刷処理を実行するプリンタ及びプリンタの制御方法に関する。
【背景技術】
【0002】
2つの印刷対象物に対して同一の印刷を同時に行うサーマルプリンタが提案されている(特許文献1参照)。特許文献1によれば、2つの印刷対象物であるレシート紙及びジャーナル紙は、紙送りローラが回転することによってサーマルヘッドに密着しながら搬送される。サーマルヘッドの両面の発熱抵抗体に同一の制御信号を与えることによって、発熱抵抗体の対応する発熱素子が選択的に同時に発熱し、レシート紙及びジャーナル紙上に同一の印刷画像が同時に形成されるようになっている。
【0003】
また、1つの印刷対象物を挟むように両側に印刷ヘッドを配置し、その両面から同一パターンを印打するよう構成されたドットプリンタが提案されている(特許文献2参照)。特許文献2によれば、複数の印刷ワイヤを有する印刷ヘッドを相対向して一対配設し、両印刷ヘッド間に位置する印刷用紙を表裏両面から同一パターンにて同期して印打させる。インクリボンを介して印刷用紙を印打する印刷ヘッドの印刷ワイヤのインパクト力は、印刷用紙の裏面を直接印打する印刷ヘッドの印刷ワイヤのインパクト力より大きくする。このように構成することによって、コピー性能を向上させ、かつ印刷用紙の損傷を防止するようにしている。
【0004】
また、レシートのような連続紙の表裏面に両面印刷するサーマルプリンタも提案されている(特許文献3〜6参照)。通常、両面印刷を行う場合は、プリンタは少なくとも表面データが展開される表面用バッファと裏面データが展開される裏面用バッファとを備えている。そして、表面用バッファと裏面用バッファのそれぞれに印刷データが展開され、両面印刷に必要な表裏面の展開データが揃ってから印刷処理を開始する。また、特許文献7には、表面用バッファと裏面用バッファを備え両面印刷を行うインクジェットプリンタが記載されている。
【0005】
【特許文献1】特開平03−027434号公報
【特許文献2】特開平04−001067号公報
【特許文献3】特開昭59−068268号公報
【特許文献4】特開平03−0234560号公報
【特許文献5】特開2007−320087号公報
【特許文献6】特開2008−006802号公報
【特許文献7】特開2004−058488号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
このように、印刷対象物の表面に対して印刷を行う場合は、通常表面用バッファに印刷データを展開し、裏面に対する印刷を行う場合は裏面用バッファに印刷データを展開する。両面同時に印刷を行う場合は、それぞれのバッファに表裏面の印刷データを展開してから、印刷処理の実行を開始する。このため、片面印刷のみ実行するサーマルプリンタに比べて、大きなバッファ容量を必要とする。
【0007】
また、表面用バッファ及び裏面用バッファに全ての印刷データが展開されるのを待って印刷処理を開始すると、片面印刷のみ実行する場合と比べて印刷処理開始までのスループットが低下する。特に、表裏面とも同一の印刷結果を出力したい場合などは、表面用バッファと裏面用バッファとに同一の印刷データをそれぞれ展開しなければならない。同じ印刷データをそれぞれのバッファに展開する時間を短縮できれば、印刷処理開始までのスループットをさらに高めることができる。
【0008】
本発明は、上記課題を解決するためになされたものであって、表面用バッファ及び裏面用バッファにそれぞれ全ての印刷データが展開されるのを待たずに、両面印刷処理を開始することによって印刷処理開始までのスループットを高めたプリンタ及びプリンタの制御方法を提供することを目的とする。
【0009】
また本発明は、表面用バッファと裏面用バッファとをそれぞれ備えなくとも印刷対象物に対する両面印刷処理を実行することができ、かつ片面印刷処理と両面印刷処理とを所定の指示に応じて切り換えて実行することができるプリンタを提供することを目的とする。また、表裏面とも同一の印刷結果を出力したい場合は、印刷データの展開時間を短縮して印刷処理開始までのスループットを高めることを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決することのできる本発明は、印刷対象物の片面あるいは両面に印刷処理を実行するプリンタにおいて、
少なくとも前記印刷対象物の片面の印刷処理を実行するために必要な展開容量を備えたデータ展開領域と、前記印刷対象物の第1の面に対して前記データ展開領域に展開された展開データを印刷する片面印刷処理、前記印刷対象物の第2の面に対して前記展開データを印刷する片面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された異なる展開データを印刷する両面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された同一の展開データを印刷する両面同一印刷処理、のうちの何れかの印刷処理を実行するよう指示する印刷処理選択指示を受信する受信部と、前記印刷処理選択指示によって指示された印刷処理を実行する印刷制御部と、を有することを特徴とする。
また、上記課題を解決することのできる本発明は、少なくとも印刷対象物の片面の印刷処理を実行するために必要な展開容量を備えたデータ展開領域を備え、前記印刷対象物の片面あるいは両面に印刷処理を実行するプリンタの制御方法であって、
前記印刷対象物の第1の面に対して前記データ展開領域に展開された展開データを印刷する片面印刷処理、前記印刷対象物の第2の面に対して前記展開データを印刷する片面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された異なる展開データを印刷する両面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された同一の展開データを印刷する両面同一印刷処理、のうち何れかの印刷処理を実行するよう指示する印刷処理選択指示を受信するステップと、前記データ展開領域に印刷データを展開するステップと、前記印刷処理選択指示によって指示された印刷処理を実行するステップと、を有することを特徴とする。
【0011】
上記構成によれば、第1の面に対する片面印刷処理、第2の面に対する片面印刷処理、両面印刷処理及び両面同一印刷処理の何れかの印刷処理を、印刷処理選択指示によって切り替えることができる。
【0012】
また本発明のプリンタにおいて、前記データ展開領域は、前記第1の面に印刷される印刷データが展開される第1の展開領域と、前記第2の面に印刷される印刷データが展開される第2の展開領域と、を備え、
前記印刷制御部は、前記印刷処理選択指示ごとに対応する展開領域を切り替えて印刷データを展開し、印刷契機に応じて前記第1の展開領域及び前記第2の展開領域に展開された展開データに基づき前記両面印刷処理を実行することを特徴とする。
また、本発明のプリンタの制御方法において、前記データ展開領域は、前記第1の面に印刷される印刷データが展開される第1の展開領域と、前記第2の面に印刷される印刷データが展開される第2の展開領域を備え、
前記印刷処理選択指示ごとに、対応する展開領域を切り替えて印刷データを展開するステップと、印刷契機に応じて前記第1の展開領域及び前記第2の展開領域に展開された展開データに基づき前記両面印刷処理を実行するステップと、を有することを特徴とする。
【0013】
上記構成によれば、第1の展開領域及び第2の展開領域のうち、印刷処理選択指示ごとに展開領域を切り替え、対応する展開領域に印刷データを展開する。印刷データを展開する展開領域を印刷処理選択指示によって切り替えることができる。例えば、まず第1の面に対する片面印刷処理が選択されると第1の展開領域に印刷データが展開され、次に第2の面に対する片面印刷処理が選択されると展開領域を第1の展開領域から第2の展開領域へ切り替えて印刷データが展開される。再び第1の面に対する片面印刷処理が選択されると展開領域を第2の展開領域から第1の展開領域に切り替えて印刷データが展開される。
上記印刷処理選択指示によって展開領域を1行毎に切り替えるよう構成すれば、第1の面の1行分に相当する印刷データを第1の展開領域に展開した後、第2の面の印刷データを第2の展開領域に展開するよう切り替えることができる。したがって、従来のように表面用バッファ及び裏面用バッファにそれぞれ全ての印刷データが展開されるのを待つ必要がなく、少なくとも第1の展開領域及び第2の展開領域にそれぞれ1行分の印刷データが展開された時点で、両面印刷処理を開始することができる。これにより、印刷処理開始までのスループットを高めることができる。
【0014】
また本発明のプリンタにおいて、前記印刷制御部は、
前記第1の面に対する片面印刷処理が選択されると展開領域を前記第1の展開領域に切り替えて印刷データを展開し、前記第2の面に対する片面印刷処理が選択されると展開領域を前記第2の展開領域に切り替えて印刷データを展開し、前記印刷処理選択指示に対応する方の展開領域がフル状態となると、前記フル状態を前記印刷契機として前記両面印刷処理を実行することを特徴とする。
【0015】
上記構成によれば、印刷処理選択指示に対応する方の展開領域がフル状態になると、両面印刷処理を開始する。したがって、例えば印刷処理選択指示によって展開領域を1行毎に切り替えるよう構成すれば、第1の面の1行分に相当する印刷データを第1の展開領域に展開した後、展開領域を切り替え、第2の面の印刷データを第2の展開領域に展開し、選択された第2の展開領域がフル状態になると、印刷処理を開始する。これにより、第1の展開領域及び第2の展開領域にそれぞれ少なくとも1行分の印刷データを展開する容量を備えれば、フル状態を印刷契機に1行毎に両面印刷処理を実行することができる。
【0016】
また本発明のプリンタにおいて、前記印刷制御部は、前記両面印刷処理が選択されると前記第1の展開領域及び第2の展開領域にそれぞれ対応する印刷データを展開し、前記第1の展開領域及び第2の展開領域を合わせた展開領域がフル状態となると、前記フル状態を前記印刷契機として前記両面印刷処理を実行することを特徴とする。
【0017】
上記構成によれば、第1の展開領域及び第2の展開領域を合わせた展開領域がフル状態となると、両面印刷処理を開始する。したがって、例えば印刷処理選択指示によって展開領域を1行毎に切り替えるよう構成すれば、第1の面の1行分に相当する印刷データを第1の展開領域に展開した後、第2の面の印刷データを第2の展開領域に展開し、第1の展開領域及び第2の展開領域を合わせた展開領域がフル状態になると、印刷処理を開始する。これにより、第1の展開領域及び第2の展開領域にそれぞれ少なくとも1行分の印刷データを展開する容量を備えれば、最大で2行分の印刷データを展開し、フル状態を印刷契機に1行毎に両面印刷処理を実行することができる。
【0018】
また、本発明のプリンタにおいて、前記印刷制御部は、印刷データの改行を指示する改行指示を前記印刷契機として両面印刷処理を実行することを特徴とする。
【0019】
上記構成によれば、展開領域のフル状態を印刷契機とするほか改行指示を印刷契機とすることができる。したがって、印刷データの所望の位置に改行指示を含めることによって、展開領域のフル状態を待たずに印刷処理を実行することができる。これにより、ユーザが意図する行数で改行された印刷結果を出力することも可能となる。
【0020】
また本発明のプリンタにおいて、前記印刷制御部は、
前記両面同一印刷処理が指示されると、前記データ展開領域に展開された展開データに基づき前記第1の面及び前記第2の面に対して両面同一印刷を同時に行い、
前記第1の面に対する片面印刷処理が指示されると、前記データ展開領域に展開された展開データに基づき前記印刷対象物の第1の面に対して片面印刷し、
前記第2の面に対する片面印刷処理が指示されると、前記データ展開領域に展開された展開データに基づき前記印刷対象物の第2の面に対して片面印刷することを特徴とする。
【0021】
上記構成によれば、両面同一印刷処理が指示されると、第1の面及び第2の面に対して両面同一印刷を同時に行う。したがって、データ展開領域を節約しながらも両面同一印刷を行うことができるので、少なくとも従来の印刷速度をそのまま維持することができる。
また、第1の面に対する印刷処理あるいは第2の面に対する印刷処理が指示されると、データ展開領域に展開された展開データに基づきそれぞれ第1の面あるいは第2の面に対して片面印刷を行う。したがって、従来のように表面用バッファと裏面用バッファとを備えなくとも、データ展開領域を表面印刷処理と裏面印刷処理とで兼用することができる。
【0022】
また、本発明のプリンタにおいて、前記印刷制御部は、前記データ展開領域の展開容量がフル状態になると、前記フル状態を契機に印刷処理を開始することを特徴とする。
【0023】
上記構成によれば、データ展開領域のフル状態を契機に印刷処理を開始する。また、上述した通り、データ展開領域の展開容量は片面印刷処理を実行するために必要な展開容量である。このため少なくとも片面印刷処理と同間隔の印刷契機で印刷処理を実行する。したがって、少なくとも従来の片面印刷処理と同等の印刷速度を保持しながら、片面あるいは両面印刷処理をすることができる。
【発明を実施するための最良の形態】
【0024】
<第1の実施形態>
以下、本発明を実施するための好適な実施の形態について、図面を参照して詳細に説明する。
【0025】
図1は、本発明の第1の実施形態に係るサーマルプリンタの概略構成を示すブロック図である。図1に示すように、本実施形態のプリンタ1は、ホストコンピュータ20から送信された印刷データを受信してロール紙のような連続紙(印刷対象物)に対して片面印刷または両面印刷を行うラインサーマルプリンタである。
【0026】
本実施形態のプリンタ1は、主として通信インターフェース2、データ受信部3、データ解析部4、アクティブシート選択部5、印刷制御部6、データ記憶部7及び印刷部8を備えている。データ受信部3は、ホストコンピュータ20から送信される印刷データを受信してデータ解析部4へ入力する。データ解析部4は、受信した印刷データを解析して、印刷処理選択コマンドCA(印刷処理選択指示)が含まれていれば、そのコマンドをアクティブシート選択部5へ入力する。また、印刷データを解析した結果、カットコマンドや改行コマンド等が含まれていれば、そのコマンドを印刷制御部6を介して印刷部8に入力する。
【0027】
アクティブシート選択部5は、データ解析部4から印刷処理選択コマンドCAが入力されると、その指示に応じた印刷処理を選択する。具体的には、印刷処理選択コマンドCAによってアクティブシートにロール紙表面が指示されると表面印刷処理が選択される。また、アクティブシートにロール紙裏面が指示されると裏面印刷処理が選択される。また、アクティブシートにロール紙表面及び裏面が指示されると両面印刷処理が選択される。
【0028】
データ記憶部7(データ展開領域)は、RAM等の揮発性メモリである。データ記憶部7の特定の領域には、ロール紙30の表面に印刷される印刷データが展開される表面印刷展開バッファ領域12(第1の展開領域)、ロール紙30の裏面に印刷される印刷データが展開される裏面印刷展開バッファ領域13(第2の展開領域)が設定されている。データ解析部4によるデータ解析の結果、コマンド以外の印刷データであると解析されるとそのデータは各展開領域12,13に振り分けて展開される。なお、本実施形態の各印刷領域12,13は、少なくとも1行分の印刷データを記憶する容量を備えている。また、連続して印刷処理を実行する場合は2行分以上の記憶容量を備える必要がある。
【0029】
印刷制御部6は、印刷部8の動作を制御する。印刷処理選択コマンドCAによって選択された印刷処理に応じて、表面印刷展開バッファ領域12あるいは裏面印刷展開バッファ領域13の何れかに展開領域を切り替え、印刷データを展開する。印刷契機があると表面印刷展開バッファ領域12、裏面印刷展開バッファ領域13に展開された展開データに基づき両面印刷処理を実行する。具体的には、表面印刷処理が選択されると展開領域を表面印刷展開バッファ領域12に切り替えて印刷データを展開し、裏面印刷処理が選択されると展開領域を裏面印刷展開バッファ領域13に切り替えて印刷データを展開する。また、表面及び裏面印刷処理が選択されると表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13にそれぞれ対応する印刷データを展開する。
なお、表面印刷処理が選択されてから印刷契機があるまでの間に他の印刷処理選択コマンドCAがなければ、印刷データは表面印刷展開バッファ領域12のみに展開され、表面印刷処理(片面印刷)を行うこともできる。同様に、裏面印刷処理が選択されてから印刷契機があるまでの間に他の印刷処理選択コマンドCAがなければ、印刷データは裏面印刷展開バッファ領域13のみに展開され、裏面印刷処理(片面印刷)を行うこともできる。
さらに、表面及び裏面印刷処理が選択されてから印刷契機があるまでの間に他の印刷処理選択コマンドCAがなければ、印刷データはそのまま表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13に展開され、両面印刷処理を行う。
また、印刷制御部6は、展開領域の展開容量がフル状態になると、前記フル状態を契機に印刷処理を開始するよう印刷部8を制御する。また、印刷データの改行を指示する改行コマンドを印刷契機として印刷処理を開始するよう印刷部8を制御する。
【0030】
印刷部8は、印刷制御部6からの指示に応じてロール紙30に対して片面印刷処理または両面印刷処理を行う。印刷部8は、ロール紙30を挟む形で対向配置された2つの印刷ヘッドと、ロール紙30をカットするカット部11とを有する。表面印刷ヘッド9はロール紙30の表面301(第1の面)に印刷し、裏面印刷ヘッド10はロール紙30の裏面302(第2の面)に印刷する。印刷ヘッド9,10にはラインサーマル式の印刷ヘッドが用いられ、印刷ヘッドの1ライン分の印刷を行うとロール紙30を1ライン分に相当する搬送量だけ印刷紙送り方向X(図3参照)へ搬送する。1ライン分の印刷処理と搬送処理とを繰り返し、ロール紙30の両面に同時に連続印刷処理を行う。また、片面印刷処理を実行する場合には、印刷ヘッド9,10のいずれか一方を駆動させて片面印刷を実行する。なお、連続紙30としては感熱紙が用いられる。連続紙30は帯状の用紙を円筒状に巻回したものであり、印刷部8に装着して使用される。ロール紙30に対する片面印刷または両面印刷が終了すると、印刷制御部6はカット部11を制御してロール紙30をカットする。
【0031】
次に、本実施の形態のプリンタ1の印刷処理を説明する。
上述したように、本実施形態におけるアクティブシート選択部5は、ホストコンピュータ20から印刷処理選択コマンドCAが送信されると、その指示に応じた印刷処理を選択する。以下では、ホストコンピュータ20が印刷処理選択コマンドCAである表面選択コマンド及び裏面選択コマンドを印刷データに含めてプリンタ1へ送信したときに、プリンタ1が実行する両面印刷処理を説明する。また、変形例としてホストコンピュータ20が印刷処理選択コマンドCAである表面及び裏面選択コマンドを印刷データに含めてプリンタ1へ送信したときに、プリンタ1が実行する両面印刷処理を説明する。
【0032】
(アクティブシートを表面と裏面に切り替えながら両面印刷する場合)
図2は、本実施形態のプリンタが行う印刷処理を説明するためのフローチャートであり、図3は、本実施形態のプリンタが行う両面印刷処理におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
本実施形態では、上位アプリケーションで作成した印刷情報d1を、ホストコンピュータ20側でプリンタ1に対応した印刷データD1へ変換する。プリンタ1は、変換された印刷データD1に基づき印刷処理を実行する。
【0033】
まず、データ受信部3がホストコンピュータ20から印刷処理選択コマンドCAを含む印刷データD1を受信すると(ステップS11)、データ解析部4は印刷データD1を解析する(ステップS12)。データ解析部4が印刷データD1を解析した結果、印刷処理選択コマンドCAであると解析すると(ステップS13:No,ステップS15:Yes)、アクティブシート選択部5へ入力する。アクティブシート選択部5は、印刷処理選択コマンドCAによって指示されたアクティブシートを選択する。ここで、アクティブシートにロール紙表面が選択されると印刷処理として表面印刷処理が選択され、印刷制御部6は選択されたアクティブシートに対応する印刷展開バッファ領域を指定する。ここで裏面印刷展開バッファ領域13が指定されている場合は、表面印刷展開バッファ領域12に切り替える(ステップS16)。また、アクティブシートにロール紙裏面が選択されると印刷処理として裏面印刷処理が選択される。表面印刷展開バッファ領域12が指定されている場合は、裏面印刷展開バッファ領域13に切り替える(ステップS16)。
ここでは、印刷データD1の最初に表面選択コマンドが含まれているため、アクティブシート選択部5は表面印刷処理を選択する。
【0034】
データ解析部4が解析したデータが印刷契機でなく(ステップS18:No)、続けて印刷データD1を解析した結果、コマンド以外の印刷データであると解析すると(ステップS13:Yes)、ステップS16で選択したアクティブシートに対応する印刷展開バッファ領域に印刷データを展開する。図3に示すように、ホストコンピュータ20から送信された印刷データ[abcdefgh]を表面印刷展開バッファ領域12に展開する(ステップS14)。表面印刷展開バッファ領域12がバッファフル状態でなく、印刷契機となる改行コマンド<LF>を受信しない場合は、ステップS11に戻る(ステップS18:No)。
【0035】
続けて、データ解析部4が印刷データD1を解析した結果、印刷処理選択コマンドCAであると解析すると(ステップS13:No,ステップS15:Yes)、アクティブシート選択部5へ入力する。アクティブシート選択部5は、印刷処理選択コマンドCAによって指示されたアクティブシートを選択する。印刷データD1に含まれる次の印刷処理選択コマンドは裏面選択コマンドであるため、アクティブシート選択部5は裏面印刷処理を選択し、印刷制御部6は展開バッファとして表面印刷展開バッファ領域12が指定されているので、裏面印刷展開バッファ領域13に切り替える(ステップS16)。
【0036】
データ解析部4は、次の印刷データD1を解析した結果、コマンド以外の印刷データであると解析すると(ステップS13:Yes)、指定した裏面印刷展開バッファ領域13へ印刷データを展開する。図3に示すように、ホストコンピュータ20から送信された印刷データ[ABCDEFGHIJKLMNO]を裏面印刷展開バッファ領域13に展開する(ステップS14)。裏面印刷展開バッファ領域13がバッファフル状態である場合は、印刷制御部6はバッファフル状態を印刷契機として(ステップS18:Yes)、表面印刷ヘッド9によってロール紙の表面301に印刷データ[abcdefgh]を印刷するとともに、裏面印刷ヘッド10によってロール紙の裏面302に印刷データ[ABCDEFGHIJKLMNO]を印刷し、両面同時印刷処理を行う(ステップS19)。
【0037】
データ解析部4がカットコマンドを解析するまでデータ解析、展開処理を繰り返し実行する(ステップS20:No)。データ解析部4は、続けて印刷データD1を解析した結果、コマンド以外の印刷データであると解析すると(ステップS13:Yes)、対応する展開バッファ領域へ印刷データを展開する。このとき展開バッファ領域は、前回アクティブシート選択部5が選択した裏面印刷処理にしたがって、切り替えられることなく裏面印刷展開バッファ領域13に指定されている。図3に示すように、ホストコンピュータ20から送信された印刷データ[PQRSTUVWXYZ]を裏面印刷展開バッファ領域13に展開する(ステップS14)。裏面印刷展開バッファ領域13がバッファフル状態でなく、改行コマンド<LF>を受信しない場合は、再びステップS11に戻る(ステップS18:No)。
【0038】
続けて、データ解析部4が印刷データD1を解析した結果、印刷処理選択コマンドCAであると解析すると(ステップS15:Yes)、アクティブシート選択部5へ入力する。アクティブシート選択部5は、印刷処理選択コマンドCAによって指示されたアクティブシートを選択する。印刷データD1に含まれる次の印刷処理選択コマンドCAは表面選択コマンドであるため、アクティブシート選択部5は表面印刷処理を選択する。
【0039】
このとき印刷制御部6は、アクティブシート選択部5が選択した表面印刷処理にしたがって、展開バッファ領域を表面印刷展開バッファ領域12に切り替える(ステップS16)。図3に示すように、続けてホストコンピュータ20から送信された印刷データ[ijklmnopq]を表面印刷展開バッファ領域12に展開する(ステップS14)。表面印刷展開バッファ領域12はバッファフル状態ではないが、印刷データ[ijklmnopq]に続く改行コマンド<LF>を印刷契機として(ステップS18:Yes)、表面印刷ヘッド9によってロール紙の表面301に印刷データ[ijklmnopq]を印刷するとともに、裏面印刷ヘッド10によってロール紙の裏面302に印刷データ[PQRSTUVWXYZ]を印刷し、両面同時印刷処理を行う(ステップS19)。
【0040】
データ解析部4がカットコマンドを解析するまでデータ解析、展開処理を繰り返し実行する(ステップS20:No)。データ解析部4は、続けて印刷データD1を解析した結果、コマンド以外の印刷データであると解析すると、対応する展開領域へ印刷データを展開する。このとき展開バッファ領域は、前回アクティブシート選択部5が選択した表面印刷処理にしたがって、切り替えられることなく表面印刷展開バッファ領域12に指定されている。図3に示すように、ホストコンピュータ20から送信された印刷データ[rstuvwxyz]を表面印刷展開バッファ領域12に展開する(ステップS14)。表面印刷展開バッファ領域12はバッファフル状態ではないが、印刷データ[rstuvwxyz]に続くカットコマンドを印刷契機として(ステップS18:Yes)、表面印刷ヘッド9及び裏面印刷ヘッド10を駆動させ両面同時に印刷処理を行う(ステップS19)。なお、ここでは、裏面印刷展開バッファ領域13には印刷データが展開されていないため、表面印刷ヘッド9によって表面301に対して印刷データ[rstuvwxyz]が印刷される。
【0041】
データ解析部4が、印刷データD1の最後に含まれているカットコマンドを解析すると(ステップS20:Yes)、印刷制御部6がカット部11を駆動させてロール紙30をカットする(ステップS21)。
【0042】
このように、アクティブシートを表面と裏面に切り替えながら両面印刷する場合を説明したが、印刷処理選択コマンドCAに対応する方の展開バッファ領域がバッファフル状態となると、バッファフル状態を印刷契機として両面印刷処理を実行する。つまり、表面選択コマンドによって表面印刷処理が選択された場合は、表面印刷展開バッファ領域12がバッファフル状態になると、バッファフル状態を印刷契機として両面印刷処理を実行する。また、裏面選択コマンドによって裏面印刷処理が選択された場合は、裏面印刷展開バッファ領域13がバッファフル状態になると、バッファフル状態を印刷契機として両面印刷処理を実行するよう設定されている。
【0043】
したがって、本実施形態のように展開領域を1行毎に切り替えるよう構成すれば、ロール紙の表面301に印刷する1行分の印刷データを表面印刷展開バッファ領域12に展開した後、展開バッファ領域を切り替え、裏面302に印刷する1行分の印刷データを裏面印刷展開バッファ領域13に展開し、選択された裏面印刷展開バッファ領域13がバッファフル状態になると、印刷処理を開始する。これにより、表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13にそれぞれ少なくとも1行分の印刷データを展開する容量を備えれば、バッファフル状態を印刷契機に1行毎の両面印刷処理を実行することができる。
【0044】
(変形例:アクティブシートに表面及び裏面を選択して両面印刷する場合)
次に、表面及び裏面選択コマンドを印刷データに含めてプリンタ1へ送信したときに、プリンタ1が実行する両面印刷処理を図4及び図5を参照して説明する。図4は、本実施形態のプリンタが行う印刷処理の変形例を説明するためのフローチャートであり、図5は、本実施形態のプリンタが行う両面印刷処理の変形例におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
本実施形態では、上位アプリケーションで作成した印刷情報d2を、ホストコンピュータ20側でプリンタ1に対応した印刷データD2へ変換する。プリンタ1は、変換された印刷データD2に基づき印刷処理を実行する。
【0045】
まず、データ受信部3がホストコンピュータ20から印刷処理選択コマンドCAを含む印刷データD2を受信すると(ステップS31)、データ解析部4は印刷データD2を解析する(ステップS32)。データ解析部4が印刷データD2を解析した結果、印刷処理選択コマンドCAであると解析すると(ステップS33:No)、アクティブシート選択部5へ入力する。アクティブシート選択部5は、印刷処理選択コマンドCAによって指示されたアクティブシートを選択する。ここでは、印刷データD2の最初には表面及び裏面選択コマンドが含まれているため、アクティブシート選択部5は両面印刷処理を選択する。このとき印刷制御部6は、アクティブシート選択部5が選択した両面印刷処理にしたがって、展開バッファ領域を表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13の両方に設定する。
【0046】
一方データ解析部4は、印刷データD2を解析した結果、コマンド以外の印刷データであると解析すると(ステップS33:Yes)、対応する展開領域へ印刷データを展開する。図5に示すように、ホストコンピュータ20から送信された最初の印刷データ[abcdefgh]を表面印刷展開バッファ領域12に展開する(ステップS34)。バッファフル状態とならず改行コマンド<LF>を受信しない場合は、印刷契機がないのでステップS21に戻る(ステップS36:No)。
【0047】
続けて、データ解析部4が印刷データD2を解析した結果、次の1行分の印刷データを裏面印刷展開バッファ領域13の先頭から展開するよう指示するコマンド<裏面の先頭へ移動するコマンド>であると解析すると(ステップS33:No)、印刷制御部5は、展開バッファ領域を裏面印刷展開バッファ領域13に指定する(ステップS35)。そして、裏面印刷展開バッファ領域13へ印刷データ[ABCDEFGHIJKLMNO]を展開する(ステップS34)。裏面印刷展開バッファ領域13がバッファフル状態である場合は、印刷制御部6はバッファフル状態を印刷契機として(ステップS36:Yes)、表面印刷ヘッド9によってロール紙の表面301に印刷データ[abcdefgh]を印刷するとともに、裏面印刷ヘッド10によってロール紙の裏面302に印刷データ[ABCDEFGHIJKLMNO]を印刷し、両面同時印刷処理を行う(ステップS37)。
【0048】
データ解析部4がカットコマンドを解析するまでデータ解析、展開処理を繰り返し実行する(ステップS38:No)。データ解析部4は、続けて印刷データD2を解析した結果(ステップS32)、コマンド以外の印刷データであると解析すると(ステップS33:No)、対応する展開バッファ領域へ印刷データを展開する。このとき印刷制御部6は、アクティブシート選択部5が選択した両面印刷処理にしたがって、展開バッファ領域を表面印刷展開バッファ領域12に指定する。図5に示すように、次にホストコンピュータ20から受信した印刷データ[ijklmnopq]を表面印刷展開バッファ領域12に展開する(ステップS34)。印刷契機となる改行コマンド<LF>を受信しない場合は、印刷契機がないので再びステップS32に戻る(ステップS36:No)。
【0049】
続けて、データ解析部4が印刷データD2を解析した結果、次の1行分の印刷データを裏面印刷展開バッファ領域13の先頭から展開するよう指示するコマンド<裏面の先頭へ移動するコマンド>であると解析すると(ステップS33:No)、印刷制御部5は、展開バッファ領域に指定されていた表面印刷展開バッファ領域12を裏面印刷展開バッファ領域13に切り替える(ステップS35)。
次に受信した印刷データ[PQRSTUVWXYZ]を裏面印刷展開バッファ領域13に展開する(ステップS34)。印刷データ[PQRSTUVWXYZ]に続く改行コマンド<LF>を印刷契機として(ステップS36:Yes)、表面印刷ヘッド9によってロール紙の表面301に印刷データ[ijklmnopq]を印刷するとともに、裏面印刷ヘッド10によってロール紙の裏面302に印刷データ[PQRSTUVWXYZ]を印刷し、両面同時印刷処理を行う(ステップS37)。
【0050】
さらに、データ解析部4がカットコマンドを解析するまでデータ解析、展開処理を繰り返し実行する(ステップS38:No)。データ解析部4は、続けて印刷データD2を解析した結果(ステップS32)、コマンド以外の印刷データであると解析すると(ステップS33:Yes)、対応する展開バッファ領域へ印刷データを展開する。このとき印刷制御部6は、アクティブシート選択部5が選択した両面印刷処理にしたがって、展開バッファ領域を表面印刷展開バッファ領域12に指定する。図5に示すように、ホストコンピュータ20から送信された印刷データ[rstuvwxyz]を表面印刷展開バッファ領域12に展開する(ステップS34)。印刷データ[rstuvwxyz]に続くカットコマンドを印刷契機として(ステップS36:Yes)、表面印刷ヘッド9によってロール紙の表面301に印刷データ[rstuvwxyz]を印刷する(ステップS37)。なお、ここでは、裏面印刷展開バッファ領域13には印刷データが展開されていないため、表面印刷ヘッド9によって表面301に対して印刷処理が行われる。
【0051】
データ解析部4が、印刷データD2の最後に含まれているカットコマンドを解析すると(ステップS38:Yes)、印刷制御部6がカット部11を駆動させてロール紙30をカットする(ステップS39)。
【0052】
このように変形例では、アクティブシートに表面及び裏面を選択して両面印刷する場合を説明したが、表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13を合わせた展開領域がバッファフル状態となると、バッファフル状態を印刷契機として両面印刷処理を実行する。つまり、表面印刷展開バッファ領域12あるいは裏面印刷展開バッファ領域13の何れかがバッファフル状態になっても両面印刷処理は実行されないよう設定されている。
【0053】
したがって、展開領域を1行毎に切り替えるよう構成すれば、ロール紙の表面301に印刷する1行分に相当する印刷データを表面印刷展開バッファ領域12に展開した後、展開領域を切り替え、裏面302に印刷する1行分の印刷データを裏面印刷展開バッファ領域13に展開し、表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13を合わせた展開領域がバッファフル状態になると、印刷処理を開始する。これにより、表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13にそれぞれ少なくとも1行分の印刷データを展開する容量を備えれば、最大で2行分の印刷データを展開し、バッファフル状態を印刷契機に1行毎に両面印刷処理を実行することができる。
【0054】
また、先に説明した本実施形態のプリンタ1によれば、表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13のうち、印刷処理選択コマンドCAごとに展開バッファ領域を切り替え、対応する展開バッファ領域に印刷データを展開する。印刷データを展開する展開領域を印刷処理選択コマンドCAによって切り替えることができる。したがって、まずロール紙30の表面301に対する表面印刷処理が選択されると表面印刷展開バッファ領域12に印刷データが展開され、次に裏面302に対する裏面印刷処理が選択されると展開領域を裏面印刷展開バッファ領域13に切り替えて印刷データが展開される。再び表面301に対する表面印刷処理が選択されると展開領域を表面印刷展開バッファ領域12に切り替えて印刷データが展開される。
【0055】
さらに展開領域を1行毎に切り替えるよう設定されているので、表面301に印刷する1行分に相当する印刷データを表面印刷展開バッファ領域12に展開した後、裏面302に印刷する印刷データを裏面印刷展開バッファ領域13に展開するよう切り替えることができる。したがって、従来のように表面用バッファ及び裏面用バッファにそれぞれ全ての印刷データが展開されるのを待つ必要がなく、少なくとも表面印刷展開バッファ領域12及び裏面印刷展開バッファ領域13にそれぞれ1行分の印刷データが展開された時点で、両面印刷処理を開始することができる。これにより、印刷処理開始までのスループットを高めることができる。
【0056】
また、展開領域のバッファフル状態を印刷契機とするほか改行コマンド<LF>を印刷契機とすることができる。したがって、印刷データの所望の位置に改行コマンドを含めることによって、展開領域のバッファフル状態を待たずに印刷処理を実行することができる。これにより、ユーザが意図する行数で改行した印刷結果を出力することも可能となる。
【0057】
<第2の実施形態>
次に、本発明を実施するための好適な他の実施形態について、図面を参照して詳細に説明する。
【0058】
図6は、本発明の一実施の形態に係るサーマルプリンタの概略構成を示すブロック図である。図6に示すように、本実施形態のプリンタ100は、ホストコンピュータ20から送信された印刷データを受信してロール紙のような連続紙(印刷対象物)に対して片面印刷または両面印刷を行うラインサーマルプリンタである。
【0059】
本実施形態のプリンタ100は、主として通信インターフェース2、データ受信部3、データ解析部4、アクティブシート選択部5、印刷制御部6、データ記憶部7及び印刷部8を備えている。データ受信部3は、ホストコンピュータ20から送信される印刷データを受信してデータ解析部4へ入力する。データ解析部4は、受信した印刷データを解析して、印刷処理選択コマンドCA(印刷処理選択指示)が含まれていれば、そのコマンドをアクティブシート選択部5へ入力する。また、印刷データを解析した結果、カットコマンドや改行コマンド等が含まれていれば、そのコマンドを印刷制御部6を介して印刷部8に入力する。
【0060】
アクティブシート選択部5は、データ解析部4から印刷処理選択コマンドCAが入力されると、その指示に応じた印刷処理を選択する。具体的には、印刷処理選択コマンドCAによってアクティブシートにロール紙表面が指示されると表面印刷処理が選択される。また、アクティブシートにロール紙裏面が指示されると裏面印刷処理が選択される。また、アクティブシートにロール紙表面及び裏面が指示されると表裏同一印刷処理が選択される。ここで表裏同一印刷処理(両面同一印刷処理)とは、ロール紙30の表面301(第1の面)及び裏面302(第2の面)に対して同一の印刷結果を印刷する処理である。
【0061】
印刷制御部6は、印刷部8の動作を制御し、印刷処理選択コマンドCAによって指示されアクティブシート選択部5によって選択された印刷処理を実行する。具体的には、表裏同一印刷処理が選択されると、印刷展開バッファ領域14(データ展開領域)に展開された展開データに基づきロール紙30の表面及び裏面に対して両面同一印刷を同時に行う。また、表面印刷処理が選択されると、印刷展開バッファ領域14に展開された展開データに基づきロール紙30の表面に対して片面印刷処理を行う。さらに、裏面印刷処理が指示されると、印刷展開バッファ領域14に展開された展開データに基づきロール紙30の裏面に対して片面印刷処理を行う。
また、印刷制御部6は、印刷展開バッファ領域14の展開容量がフル状態になると、フル状態を契機に印刷処理を開始するよう印刷部8を制御する。
【0062】
データ記憶部7は、RAM等の揮発性メモリである。印刷展開バッファ領域14は、データ記憶部7の特定の領域であって印刷データが展開される領域である。データ解析部4によるデータ解析の結果、コマンド以外の印刷データであると解析されるとそのデータは印刷展開バッファ領域14に展開される。
なお、本実施形態の印刷展開バッファ領域14は、少なくとも表面あるいは裏面印刷処理(片面印刷処理)を実行するために必要な記憶容量(展開容量)を備えている。したがって、ラインサーマルプリンタの場合は、少なくとも1行分の記憶容量を備えている。また、連続して印刷処理を実行する場合は2行分以上の記憶容量を備える必要がある。
【0063】
印刷部8は、印刷制御部6からの指示に応じてロール紙30に対して片面印刷処理または両面印刷処理を行う。印刷部8は、ロール紙30を挟む形で対向配置された2つの印刷ヘッドと、ロール紙30をカットするカット部11とを有する。印刷部8は、表面印刷ヘッド9はロール紙30の表面301に印刷し、裏面印刷ヘッド10はロール紙30の裏面302に印刷する。印刷ヘッド9,10にはラインサーマル式の印刷ヘッドが用いられ、印刷ヘッドの1ライン分の印刷を行うとロール紙30を1ライン分に相当する搬送量だけ印刷紙送り方向X(図8参照)へ搬送する。1ライン分の印刷処理と搬送処理とを繰り返し、ロール紙30の両面に同時に連続印刷処理を行う。また、片面印刷処理を実行する場合には、印刷ヘッド9,10のいずれか一方を駆動させて片面印刷を実行する。なお、連続紙30としては感熱紙が用いられる。連続紙30は帯状の用紙を円筒状に巻回したものであり、印刷部8に装着して使用される。ロール紙30に対する片面印刷または両面印刷が終了すると、印刷制御部6はカット部11を制御してロール紙30をカットする。
【0064】
次に、本実施の形態のプリンタ100の印刷処理を説明する。
本実施形態におけるアクティブシート選択部5は、ホストコンピュータ20から印刷処理選択コマンドCAが送信されると、その指示に応じた印刷処理を選択する。以下では、アクティブシートとしてロール紙表面が指示された場合の表面印刷処理、アクティブシートとしてロール紙裏面が指示された場合の裏面印刷処理、アクティブシートとしてロール紙表面及び裏面が指示された場合の表裏同一印刷処理について説明する。
【0065】
(表面印刷処理及び裏面印刷処理について)
図7は、本実施形態のプリンタが行う印刷処理を説明するためのフローチャートであり、図8は、表面あるいは裏面印刷処理におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
【0066】
データ受信部3がホストコンピュータ20から印刷処理選択コマンドCAを受信し、データ解析部4が印刷処理選択コマンドCAであると解析すると、アクティブシート選択部5へ入力する。アクティブシート選択部5は、印刷処理選択コマンドCAによって指示されたアクティブシートを選択する(ステップS41)。ここで、アクティブシートにロール紙表面が選択されると印刷処理として表面印刷処理が選択され、ロール紙裏面が選択されると印刷処理として裏面印刷処理が選択され、ロール紙表面及び裏面が選択された場合は印刷処理として表裏面印刷処理が選択される。
【0067】
次に、データ受信部3がホストコンピュータ20から印刷データD3を受信すると(ステップS42)、データ解析部4は印刷データD3を解析する(ステップS43)。データ解析部4は、印刷データD3を解析した結果、コマンド以外の印刷データであると解析すると(ステップS44:Yes)、印刷展開バッファ領域14へ印刷データを展開する(ステップS45)。図8に示すように、ホストコンピュータ20から送信された印刷データ[abcdef・・・・・ABCDEF・・・Z]が印刷展開バッファ領域14に展開される。そして、印刷展開バッファ領域14がバッファフル状態になると、バッファフル状態を印刷契機として(ステップS47:Yes)、印刷処理を開始する。このとき、印刷制御部6は、アクティブシート選択部5が選択したアクティブシートに基づき、印刷部8による印刷処理を制御する。ロール紙表面が選択されている場合は(ステップS48:表面)、印刷部8の表面印刷ヘッド9を駆動させ表面印刷処理を実行する(ステップS49)。印刷展開バッファ領域14に展開された展開データ(図8では、[abcdefghijklmno])がロール紙表面301の1行目に印刷される。ロール紙裏面が選択されている場合は(ステップS48:裏面)、印刷部8の裏面印刷ヘッド10を駆動させ裏面印刷処理を実行する(ステップS50)。印刷展開バッファ領域14に展開された展開データ(図8では、[abcdefghijklmno])がロール紙裏面302の1行目に印刷される。
【0068】
データ解析部4がカットコマンドを解析するまで上記展開処理を実行し(ステップS52:No)、次の印刷契機があるまで印刷展開バッファ領域14に印刷データを展開する(ステップS47:No,ステップS45)。図8に示すように、1行目[abcdefghijklmno]に続き、2行目[pqrstuvwxyzABCD]、3行目[EFGHIJKLMNOPQRS]までは、印刷展開バッファ領域14のバッファフル状態を印刷契機として表面あるいは裏面印刷処理が行われる。印刷データD3には、4行目に相当する印刷データ[TUVWXYZ]の次に改行コマンド<LF>が含まれているため、データ解析部4が改行コマンドであると解析すると(ステップS44:No)、印刷制御部6は改行コマンドに応じて印刷展開バッファ領域14を1行分改行する(ステップS46)。また、印刷制御部6は、改行コマンドを印刷契機として表面印刷ヘッド9(裏面印刷ヘッド10)を駆動させ、4行目の印刷処理を行う(ステップS47:Yes,ステップS48:表面(裏面),ステップS49(ステップS20))。
【0069】
データ解析部4がカットコマンドを解析するまで再び展開処理を実行し(ステップS52:No)、次の印刷契機があるまで印刷展開バッファ領域14に印刷データを展開する(ステップS47:No,ステップS45)。
印刷データD3の最後には<カットコマンド>が含まれているため、データ解析部4がカットコマンドであると解析すると(ステップS44:No)、印刷制御部6は、カットコマンドを印刷契機として印刷制御部6が表面印刷ヘッド9(裏面印刷ヘッド10)を駆動させ、最終行の印刷処理を行う(ステップS47:Yes,ステップS48:表面(裏面),ステップS49(ステップS50))。
【0070】
印刷制御部6は、印刷処理が終了するとカットコマンドに応じてロール紙30をカットする(ステップS52:Yes,ステップS53)。このようにして片面印刷処理されたロール紙片30aが得られる。
【0071】
(表裏同一印刷処理について)
次に図7及び図9を参照して表裏同一印刷処理について説明する。図9は、表裏同一印刷処理におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
【0072】
データ受信部3がホストコンピュータ20から印刷処理選択コマンドCAを受信し、データ解析部4が印刷処理選択コマンドCAであると解析すると、アクティブシート選択部5へ入力する。アクティブシート選択部5は、印刷処理選択コマンドCAによって指示されたアクティブシートを選択する(ステップS41)。ここで、表面及び裏面選択コマンドによってアクティブシートとしてロール紙表面及び裏面が選択されると印刷処理として表裏同一印刷処理が選択される。
【0073】
次に、データ受信部3がホストコンピュータ20から印刷データD4を受信すると(ステップS42)、データ解析部4は印刷データD4を解析する(ステップS43)。データ解析部4は、印刷データD4を解析した結果、コマンド以外の印刷データであると解析すると(ステップS44:Yes)、印刷展開バッファ領域14へ印刷データを展開する(ステップS45)。図9に示すように、ホストコンピュータ20から送信された印刷データ[abcdef・・・・・ABCDEF・・・Z]が印刷展開バッファ領域14に展開される。そして、印刷展開バッファ領域14がバッファフル状態になると、バッファフル状態を印刷契機として(ステップS47:Yes)、印刷処理を開始する。このとき、印刷制御部6は、アクティブシート選択部5が選択したアクティブシートに基づき、印刷部8による印刷処理を制御する。ロール紙表面及び裏面が選択されているので(ステップS48:表面及び裏面)、印刷部8の表面印刷ヘッド9及び裏面印刷ヘッド10を駆動させ表裏同一印刷処理を実行する(ステップS51)。印刷展開バッファ領域14に展開された展開データ(図9では、[abcdefghijklmno])が表面印刷ヘッド9によってロール紙表面301の1行目に印刷されるとともに、印刷展開バッファ領域14に展開された表面と同一の展開データ[abcdefghijklmno]が裏面印刷ヘッド10によってロール紙裏面302の1行目に印刷される。
【0074】
データ解析部4がカットコマンドを解析するまで上記展開処理を実行し(ステップS52:No)、次の印刷契機があるまで印刷展開バッファ領域14に印刷データを展開する(ステップS47:No,ステップS45)。図9に示すように、1行目[abcdefghijklmno]に続き、2行目[pqrstuvwxyzABCD]、3行目[EFGHIJKLMNOPQRS]までは、印刷展開バッファ領域14のバッファフル状態を印刷契機として表裏同一印刷処理が行われる。そして4行目に相当する印刷データ[TUVWXYZ]の次に改行コマンド<LF>が含まれているため、データ解析部4が改行コマンドであると解析すると(ステップS44:No)、印刷制御部6は改行コマンドに応じて印刷展開バッファ領域14を1行分改行する(ステップS46)。また、印刷制御部6は、改行コマンドを印刷契機として表面印刷ヘッド9及び裏面印刷ヘッド10を駆動させ、4行目の印刷処理を行う(ステップS47:Yes,ステップS48:表面及び裏面,ステップS51)。
【0075】
データ解析部4がカットコマンドを解析するまで再び展開処理を実行し(ステップS52:No)、次の印刷契機があるまで印刷展開バッファ領域14に印刷データを展開する(ステップS47:No,ステップS45)。
印刷データD4の最後には<カットコマンド>が含まれているため、データ解析部4がカットコマンドであると解析すると(ステップS44:No)、印刷制御部6は、カットコマンドを印刷契機として印刷制御部6が表面印刷ヘッド9及び裏面印刷ヘッド10を駆動させ、最終行の印刷処理を行う(ステップS47:Yes,ステップS48:表面及び裏面,ステップS51)。
【0076】
印刷制御部6は、印刷処理が終了するとカットコマンドに応じてロール紙30をカットする(ステップS52:Yes,ステップS53)。このようにして両面同一印刷処理されたロール紙片30aが得られる。
【0077】
このように、本実施形態のサーマルプリンタ100によれば、印刷処理選択コマンドCAである表面選択コマンド、裏面選択コマンド及び表面及び裏面選択コマンドに応じて、ロール紙30の表面に対する片面印刷処理、ロール紙30の裏面に対する片面印刷処理、ロール紙30の表面及び裏面に対する両面同一印刷処理の何れかを実行させることができる。したがって、片面印刷処理と両面同一印刷処理とを自在に切り換えて実行することができる。さらに、両面同一印刷処理が選択されると、印刷展開バッファ領域14に展開された展開データに基づき、両面同一印刷を行う。そして、印刷展開バッファ領域14の展開容量は、片面印刷処理を実行するために必要な展開容量である。つまり、片面印刷のみ実行するサーマルプリンタに比べてデータ記憶容量の容量を増やさずに、ロール紙の片面あるいは両面に印刷処理を実行することができる。
【0078】
また、表裏面とも同一の印刷結果を出力したい場合は、従来のように表面用バッファ及び裏面用バッファのそれぞれに印刷データを展開することがなく、印刷展開バッファ領域14に展開された展開データに基づき表面と裏面に同一の印刷結果を出力することができる。したがって、印刷展開バッファ領域14を節約しつつ、印刷データの展開時間を短縮して印刷処理開始までのスループットを高めることができる。
【0079】
さらに、両面同一印刷処理が指示されると、表面及び裏面に対して同時に両面同一印刷を行う。したがって、印刷展開バッファ領域14を節約しながらも両面に対して同時に同一印刷を行うことができるので、少なくとも従来の印刷速度をそのまま維持することができる。また表面に対する印刷処理あるいは裏面に対する印刷処理が指示されると、印刷展開バッファ領域14に展開された展開データに基づきそれぞれ表面あるいは裏面に対して片面印刷を行う。したがって、従来のように表面用バッファと裏面用バッファとを備えなくとも、印刷展開バッファ領域14を表面印刷処理と裏面印刷処理とで兼用することができる。
【0080】
また、本実施形態のサーマルプリンタ100は、印刷展開バッファ領域14のバッファフル状態を契機に印刷処理を開始する。また、上述した通り、印刷展開バッファ領域14の展開容量は片面印刷処理を実行するために必要な展開容量である。このため少なくとも片面印刷処理と同間隔の印刷契機で印刷処理を実行する。したがって、少なくとも従来の片面印刷処理と同等の印刷速度を保持しながら、片面あるいは両面印刷処理を実行するサーマルプリンタを提供することができる。
【0081】
なお、上記第1の実施形態及び第2の実施形態では、本発明に係るプリンタの一例としてサーマルプリンタを例示したが、これに限定されない。すなわち、本発明はインクジェット方式やドットインパクト方式のプリンタにも適用することができる。
【図面の簡単な説明】
【0082】
【図1】本発明の第1の実施形態に係るサーマルプリンタの概略構成を示すブロック図である。
【図2】第1の実施形態のプリンタが行う印刷処理を説明するためのフローチャートである。
【図3】第1の実施形態のプリンタが行う両面印刷処理におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
【図4】第1の実施形態のプリンタが行う印刷処理の変形例を説明するためのフローチャートである。
【図5】第1の実施形態のプリンタが行う両面印刷処理の変形例におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
【図6】本発明の第2の実施形態に係るサーマルプリンタの概略構成を示すブロック図である。
【図7】第2の実施形態のサーマルプリンタが行う印刷処理を説明するためのフローチャートである。
【図8】第2の実施形態のサーマルプリンタが行う表面あるいは裏面印刷処理におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
【図9】第2の実施形態のサーマルプリンタが行う表裏同一印刷処理におけるデータ展開処理及び印刷処理の経過状態を模式的に示した図である。
【符号の説明】
【0083】
1,100:サーマルプリンタ、2:通信インターフェース、3:データ受信部、4:データ解析部、5:アクティブシート選択部、6:印刷制御部、7:データ記憶部、8:印刷部、9:表面印刷ヘッド、10:裏面印刷ヘッド、11:カット部、12:表面印刷展開バッファ領域、13:裏面印刷展開バッファ領域、14:印刷展開バッファ領域(データ展開領域)、30:ロール紙、301:ロール紙表面、302:ロール紙裏面、D1,D2,D3,D4:印刷データ

【特許請求の範囲】
【請求項1】
印刷対象物の片面あるいは両面に印刷処理を実行するプリンタにおいて、
少なくとも前記印刷対象物の片面の印刷処理を実行するために必要な展開容量を備えたデータ展開領域と、
前記印刷対象物の第1の面に対して前記データ展開領域に展開された展開データを印刷する片面印刷処理、前記印刷対象物の第2の面に対して前記展開データを印刷する片面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された異なる展開データを印刷する両面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された同一の展開データを印刷する両面同一印刷処理、のうちの何れかの印刷処理を実行するよう指示する印刷処理選択指示を受信する受信部と、
前記印刷処理選択指示による印刷処理を実行する印刷部と、を有することを特徴とするプリンタ。
【請求項2】
前記データ展開領域は、前記第1の面に印刷される印刷データが展開される第1の展開領域と、前記第2の面に印刷される印刷データが展開される第2の展開領域と、を備え、
前記印刷制御部は、前記印刷処理選択指示ごとに対応する展開領域を切り替えて印刷データを展開し、印刷契機に応じて前記第1の展開領域及び前記第2の展開領域に展開された展開データに基づき前記両面印刷処理を実行することを有することを特徴とする請求項1に記載のプリンタ。
【請求項3】
前記印刷制御部は、前記第1の面に対する片面印刷処理が選択されると展開領域を前記第1の展開領域に切り替えて印刷データを展開し、前記第2の面に対する片面印刷処理が選択されると展開領域を前記第2の展開領域に切り替えて印刷データを展開し、前記印刷処理選択指示に対応する方の展開領域がフル状態となると、前記フル状態を前記印刷契機として前記両面印刷処理を実行することを特徴とする請求項2に記載のプリンタ。
【請求項4】
前記印刷制御部は、前記両面印刷処理が選択されると前記第1の展開領域及び第2の展開領域にそれぞれ対応する印刷データを展開し、前記第1の展開領域及び第2の展開領域を合わせた展開領域がフル状態となると、前記フル状態を前記印刷契機として前記両面印刷処理を実行することを特徴とする請求項2に記載のプリンタ。
【請求項5】
前記印刷制御部は、印刷データの改行を指示する改行指示を前記印刷契機として前記両面印刷処理を実行することを特徴とする請求項2に記載のプリンタ。
【請求項6】
前記印刷制御部は、
前記両面同一印刷処理が指示されると、前記データ展開領域に展開された展開データに基づき前記第1の面及び前記第2の面に対して両面同一印刷を同時に行い、
前記第1の面に対する片面印刷処理が指示されると、前記データ展開領域に展開された展開データに基づき前記第1の面に対して片面印刷し、
前記第2の面に対する片面印刷処理が指示されると、前記データ展開領域に展開された展開データに基づき前記第2の面に対して片面印刷することを特徴とする請求項1に記載のプリンタ。
【請求項7】
前記印刷制御部は、前記データ展開領域の展開容量がフル状態になると、印刷処理を開始することを特徴とする請求項6に記載のプリンタ。
【請求項8】
少なくとも印刷対象物の片面の印刷処理を実行するために必要な展開容量を備えたデータ展開領域を備え、前記印刷対象物の片面あるいは両面に印刷処理を実行するプリンタの制御方法であって、
前記印刷対象物の第1の面に対して前記データ展開領域に展開された展開データを印刷する片面印刷処理、前記印刷対象物の第2の面に対して前記展開データを印刷する片面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された異なる展開データを印刷する両面印刷処理、前記第1の面及び前記第2の面に対して前記データ展開領域に展開された同一の展開データを印刷する両面同一印刷処理、のうち何れかの印刷処理を実行するよう指示する印刷処理選択指示を受信するステップと、
前記データ展開領域に印刷データを展開するステップと、
前記印刷処理選択指示によって指示された印刷処理を実行するステップと、を有することを特徴とするプリンタの制御方法。
【請求項9】
前記データ展開領域は、前記第1の面に印刷される印刷データが展開される第1の展開領域と、前記第2の面に印刷される印刷データが展開される第2の展開領域を備え、
前記印刷処理選択指示ごとに、対応する展開領域を切り替えて印刷データを展開するステップと、
印刷契機に応じて前記第1の展開領域及び前記第2の展開領域に展開された展開データに基づき前記両面印刷処理を実行するステップと、を有することを特徴とする請求項8に記載のプリンタの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−202572(P2009−202572A)
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2008−287889(P2008−287889)
【出願日】平成20年11月10日(2008.11.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】