(57)【要約】【課題】両面印字プリンタにおいて、ある面についてデータが送信され印字データが生成されなかった場合でも、その後の実際の印字において表裏面の間で不整合が発生しないようにする。【解決手段】印字データ生成手段が両面の印字データを受け取ったにもかかわらず、表面側あるいは裏面側のいずれかの面については印字データが生成できたが、他方の面については印字データが生成できなかった場合に、印字データが生成できなかった他方の面についてダミーデータ生成手段がダミーの印字データを生成して、印字データが生成できた一方の面と合わせて一組の両面の印字データとして印字するように、制御手段が印字部を制御する。【選択図】図１２
2013240995.tif 000002
【特許請求の範囲】
【請求項１】
両面に印字可能な印字用紙の移送にともない、該印字用紙の表面及び裏面の対応する位置に、表面側と裏面側とで一組となるような両面の印字データを印字する印字部を備えた両面印字プリンタであって、
前記表面側と裏面側の印字データとなる少なくとも一組以上の両面のデータを受信する受信手段と、
前記受信した両面のデータを受け取り、該両面のデータから前記表面側と裏面側とからなる一組の両面の印字データを生成する印字データ生成手段と、
前記印字データが生成されなかった場合に、ダミーの印字データを生成するダミーデータ生成手段と、
前記印字データ生成手段、前記ダミーデータ生成手段及び前記印字部を制御する制御手段と、
を備え、前記制御手段は、前記両面のデータを受信したにもかかわらず、前記印字データ生成手段が前記表面側あるいは前記裏面側のいずれか一方の面については印字データが生成できたが、他方の面については印字データが生成できなかった場合に、該印字データが生成できなかった他方の面について前記ダミーデータ生成手段によってダミーの印字データを生成し、前記印字データが生成できた前記一方の面と合わせて一組の両面の印字データとして印字するように前記印字部を制御することを特徴とする両面印字プリンタ。
【請求項２】
前記ダミーの印字データは、白無地のデータであることを特徴とする請求項１に記載の両面印字プリンタ。
【請求項３】
請求項１または２に記載の両面印字プリンタであって、さらに、前記印字データ生成手段が前記両面の印字データを受信したにもかかわらず、前記表面側及び前記裏面側の両面とも印字データが生成できなかった場合には、前記制御手段は、前記表面側及び前記裏面側については印字を行わないように前記印字部を制御することを特徴とする両面印字プリンタ。
【請求項４】
両面に印字可能な印字用紙の移送にともない、該印字用紙の表面及び裏面の対応する位置に、表面側と裏面側とで一組となるような両面の印字データを印字する印字部を備えた両面印字プリンタであって、
前記表面側と裏面側の印字データを構成する少なくとも一組以上の両面のデータを、各両面の印字データを印刷する印刷枚数とともに受信する受信手段と、
前記受信した両面のデータを受け取り、該両面のデータから前記表面側と裏面側とからなる一組の両面の印字データを生成する印字データ生成手段と、
前記印字データが生成されなかった場合に、ダミーの印字データを生成するダミーデータ生成手段と、
前記印字データ生成手段、前記ダミーデータ生成手段及び前記印字部を制御する制御手段と、
を備え、前記制御手段は、前記両面のデータを受信したにもかかわらず、前記印字データ生成手段が前記表面側あるいは前記裏面側のいずれかの印字データが生成できなかった場合に、該印字データが生成できなかった面についてダミーデータ生成手段によって白無地のダミーデータを生成してその面を白紙とし、一方の面が白紙の場合も含めて、前記表面側及び前記裏面側について両面の印字データが存在する場合には該両面の印字データを、前記受信手段で受信した印刷枚数だけ前記印字用紙の両面に印刷するとともに、前記両面の印字データを受信したにもかかわらず、前記表面側及び前記裏面側の両面ともに印字データが生成できず印字データが存在しない場合には、該印字データが存在しない両面については印刷しないように前記印字部を制御することを特徴とする両面印字プリンタ。
【請求項５】
前記制御手段は、前記表面側または前記裏面側のいずれかを白紙とする場合には、前記受信手段で受信した印刷枚数にかかわらず、前記表面側または前記裏面側のいずれかを白紙とした両面の印字データの印刷枚数を１にリセットすることを特徴とする請求項４に記載の両面印字プリンタ。
【請求項６】
両面に印字可能な印字用紙の移送にともない、該印字用紙の表面及び裏面の対応する位置に、表面側と裏面側とで一組となるような両面の印字データを印字する印字部を備えた両面印字プリンタであって、
前記表面側と裏面側の印字データとなる少なくとも一組以上の両面のデータを受信する受信手段と、
前記受信した両面のデータを受け取り、該両面のデータから前記表面側と裏面側とからなる一組の両面の印字データを生成する印字データ生成手段と、
前記印字データ生成手段、及び、前記印字部を制御する制御手段と、
を備え、前記制御手段は、前記両面のデータを受信したにもかかわらず、前記印字データ生成手段が前記表面側あるいは前記裏面側のいずれか一方の面については印字データが生成できたが、他方の面については印字データが生成できなかった場合に、該印字データが生成できなかった他方の面については印字を行わないように前記印字部を制御することを特徴とする両面印字プリンタ。
【請求項７】
前記制御手段は、前記表面側または前記裏面側のいずれかについて印字を行わない場合には、前記受信手段で受信した印刷枚数にかかわらず、前記表面側または前記裏面側のいずれかについて印字を行わない印字データの印刷枚数を１にリセットすることを特徴とする請求項６に記載の両面印字プリンタ。
【請求項８】
前記印字用紙は、その両面にそれぞれ表面側ラベル及び裏面側ラベルを有する両面ラベルであることを特徴とする請求項１〜７のいずれかに記載の両面印字プリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は両面印字プリンタに係るもので、とくに表裏面にそれぞれ印字面を有するラベルを仮着した両面ラベル等の両面印刷用紙に印字する両面印字プリンタに関するものである。
【背景技術】
【０００２】
従来から、両面印字プリンタを用いて、帯状の台紙の表裏両面にラベルを仮着した構成の両面ラベルの表面側ラベル及び裏面側ラベルそれぞれに印字し、印字された表面側ラベル及び裏面側ラベルを各種商品その他の被貼付け体に貼り付け、商品の価格やその他必要な情報を表示することが行われている。
【０００３】
このような両面印字プリンタとしては、例えば、サーマル印字用紙の表裏両面にそれぞれ印字を行うことができる両面印字用サーマルプリンタが知られている（例えば、特許文献１あるいは特許文献２等を参照）。
【０００４】
この種の両面印字プリンタは、印字用紙として基紙の両面にそれぞれ感熱層が形成された両面サーマル用紙を用い、印字用紙に接触して回転可能な上流側プラテンローラ及び下流側プラテンローラと、印字用紙を介して上流側プラテンローラ及び下流側プラテンローラにそれぞれ接触可能な上流側サーマルヘッド及び下流側サーマルヘッドとを有して構成される。
【０００５】
そして、上流側サーマルヘッドは、印字用紙の裏面あるいは表面のいずれか一方の面に感熱発色方式により印字可能であり、下流側サーマルヘッドは、印字用紙の表面あるいは裏面のいずれか他方の面に感熱発色方式により印字可能である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２２８３２４号公報
【特許文献２】特開２０１０−１８４３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の両面印字プリンタにおいては、例えば帯状の台紙の表裏両面にラベルを仮着した構成の両面ラベルに対して両面印字を行う場合に、表面とそれに対応する裏面とを合わせた表裏２面でラベル１枚と見做すため、１枚のラベルを印字する印字動作を実行するためには、表面と裏面の２面分のデータが必要となる。
【０００８】
このため、通常は両面印字プリンタの印字データ生成部において、ホストコンピュータから最初に送信されて来たデータを表面用のデータとして表面の印字データ（描画データ）を生成し、次に送信されて来たデータを裏面用のデータとして裏面の印字データ（描画データ）を生成するようにしている。そして、表裏両面分の印字データが生成できた場合に、印字部において表裏２面からなる１枚の両面ラベルに両面印字を行う印字動作を実行するようにしている。
【０００９】
このとき、仮にホストコンピュータから送信されて来た２面分のデータの内の１面分のデータが、例えばコマンドエラーや、プリンタの機差により発生する印字誤差を調整するための印字レイアウトの基準点を補正する基点補正等の影響により、印字データを全く生成できない場合には、その１面分に該当する表面または裏面の印字データがないために、２面分のデータを受信したにも関わらず１ラベルを構成する表裏２面分の印字データが生成できず、印字動作は実行されない。
【００１０】
例えば、図１６に、両面ラベルの表面側ラベル及び裏面側ラベルを上下に並べた状態の平面図を示す。図１６に示すように、２枚目のラベルの裏面の印字データとなるべき２枚目裏面データにコマンドエラー等が発生して印字データが生成されない場合には、この２枚目のラベルについては印字動作は実行されない。
【００１１】
しかしその後、正常な１面分のデータが送信されて来た場合には、正常に１面分の印字データが生成され、先に生成されていた１面分の印字データと合わせて２面分となり、１ラベルとして印字動作が実行される。
【００１２】
図１６の場合で言うと、コマンドエラー等で印字データが生成されなかった２枚目裏面データの次に来た３枚目表面データから正常な印字データが生成されると、図１６に破線の矢印で示すように、３枚目表面データが２枚目裏面データとされ、先に生成されていた２枚目表面データと３枚目表面データとを合わせて表裏２枚で一組のラベルとして印字されてしまう。
【００１３】
そして、その後は、図１６に破線の矢印で示すように、本来の３枚目裏面データが３枚目表面データとして印字データが生成され、その次の４枚目表面データが３枚目裏面データとして印字データが生成され、次々と１面分のデータがずれた本来意図すべき面とは異なる面（表面のデータが裏面、裏面のデータが表面）となった印字データとして生成されてしまう。
【００１４】
その結果、図１７に示すように、２枚目以降のラベルは表面と裏面の印字データが本来意図した面とは異なって、印字されてしまう。図１７において、２枚目のラベルは、２枚目表面データがラベルの表面に印字され３枚目表面データがラベルの裏面に印字されて一組のラベルが構成されている。また、３枚目ラベルは、３枚目裏面データがラベルの表面に印字され４枚目表面データがラベルの裏面に印字されるようにラベル表面とラベル裏面が反転した状態となっている。このように、従来の両面印字プリンタにおける印字制御においては、データが送られて来たにもかかわらず何らかのエラーが発生して印字データが生成されなかった場合に、本来意図した面とは異なる印字データで構成された両面ラベルとして印字動作が実行されてしまうという問題があった。
【００１５】
本発明は以上のような問題に鑑みてなされたもので、両面印字プリンタにおいて、表裏いずれか１面について、その面のデータが送信されて来たにも関わらず印字データが生成されなかった場合でも、その後送信されて来たデータにより実際に印字される面の表裏で不整合が発生しないように、また両面ラベルにおいて表裏の一組のラベルが不整合とならないようにして両面印字を行うことのできる両面印字プリンタを提供することを課題とする。
【課題を解決するための手段】
【００１６】
本発明は、両面に印字可能な印字用紙の移送にともない、該印字用紙の表面及び裏面の対応する位置に、表面側と裏面側とで一組となるような両面の印字データを印字する印字部を備えた両面印字プリンタであって、前記表面側と裏面側の印字データとなる少なくとも一組以上の両面のデータを受信する受信手段と、前記受信した両面のデータを受け取り、該両面のデータから前記表面側と裏面側とからなる一組の両面の印字データを生成する印字データ生成手段と、前記印字データが生成されなかった場合に、ダミーの印字データを生成するダミーデータ生成手段と、前記印字データ生成手段、前記ダミーデータ生成手段及び前記印字部を制御する制御手段と、を備え、前記制御手段は、前記両面のデータを受信したにもかかわらず、前記印字データ生成手段が前記表面側あるいは前記裏面側のいずれか一方の面については印字データが生成できたが、他方の面については印字データが生成できなかった場合に、該印字データが生成できなかった他方の面について前記ダミーデータ生成手段によってダミーの印字データを生成し、前記印字データが生成できた前記一方の面と合わせて一組の両面の印字データとして印字するように前記印字部を制御することを特徴とする両面印字プリンタである。
これにより、印字データが生成されなかった面についても、ダミーの印字データを生成して、正しく印字データが生成された面と合わせて印字されるため、以後のデータの印字において、実際の印字における表裏面間で不整合が発生するのを防止することができる。また、両面ラベルの場合においても、表裏の一組のラベルが不整合とならないようにして両面印字を行うことが可能となる。
また、前記ダミーの印字データは、白無地のデータであることが好ましい。
印字データが生成されなかった面を白無地のデータとし、白紙で出力することにより、簡単にかつ効率的にエラーの発生を報知することができる。
また、上記両面印字プリンタにおいて、さらに、前記印字データ生成手段が前記両面の印字データを受信したにもかかわらず、前記表面側及び前記裏面側の両面とも印字データが生成できなかった場合には、前記制御手段は、前記表面側及び前記裏面側については印字を行わないように前記印字部を制御することが好ましい。
両面とも印字データが生成されなかった場合には、両面の印字をやめてもその後のデータがずれることはないので、印字動作自体を行わないことで資源の無駄を防ぐことができる。
また、本発明は、両面に印字可能な印字用紙の移送にともない、該印字用紙の表面及び裏面の対応する位置に、表面側と裏面側とで一組となるような両面の印字データを印字する印字部を備えた両面印字プリンタであって、前記表面側と裏面側の印字データを構成する少なくとも一組以上の両面のデータを、各両面の印字データを印刷する印刷枚数とともに受信する受信手段と、前記受信した両面のデータを受け取り、該両面のデータから前記表面側と裏面側とからなる一組の両面の印字データを生成する印字データ生成手段と、前記印字データが生成されなかった場合に、ダミーの印字データを生成するダミーデータ生成手段と、前記印字データ生成手段、前記ダミーデータ生成手段及び前記印字部を制御する制御手段と、を備え、前記制御手段は、前記両面のデータを受信したにもかかわらず、前記印字データ生成手段が前記表面側あるいは前記裏面側のいずれかの印字データが生成できなかった場合に、該印字データが生成できなかった面についてダミーデータ生成手段によって白無地のダミーデータを生成してその面を白紙とし、一方の面が白紙の場合も含めて、前記表面側及び前記裏面側について両面の印字データが存在する場合には該両面の印字データを、前記受信手段で受信した印刷枚数だけ前記印字用紙の両面に印刷するとともに、前記両面の印字データを受信したにもかかわらず、前記表面側及び前記裏面側の両面ともに印字データが生成できず印字データが存在しない場合には、該印字データが存在しない両面については印刷しないように前記印字部を制御することを特徴とする両面印字プリンタである。
これにより、印字データが生成されなかった面についても、ダミーの白無地の印字データを生成して、正しく印字データが生成された面と合わせて印字されるため、以後のデータの印字において、実際の印字における表裏面間で不整合が発生するのを防止することができ、両面とも印字データが生成されなかった場合には、印字動作自体を行わないことで資源の無駄を省くことができる。
また、前記制御手段は、前記表面側または前記裏面側のいずれかを白紙とする場合には、前記受信手段で受信した印刷枚数にかかわらず、前記表面側または前記裏面側のいずれかを白紙とした両面の印字データの印刷枚数を１にリセットすることが好ましい。
これにより、片面が白紙の印刷物を多数出力して資源を無駄にすることを防止することができる。
また、本発明は、両面に印字可能な印字用紙の移送にともない、該印字用紙の表面及び裏面の対応する位置に、表面側と裏面側とで一組となるような両面の印字データを印字する印字部を備えた両面印字プリンタであって、前記表面側と裏面側の印字データとなる少なくとも一組以上の両面のデータを受信する受信手段と、前記受信した両面のデータを受け取り、該両面のデータから前記表面側と裏面側とからなる一組の両面の印字データを生成する印字データ生成手段と、前記印字データ生成手段、及び、前記印字部を制御する制御手段と、を備え、前記制御手段は、前記両面のデータを受信したにもかかわらず、前記印字データ生成手段が前記表面側あるいは前記裏面側のいずれか一方の面については印字データが生成できたが、他方の面については印字データが生成できなかった場合に、該印字データが生成できなかった他方の面については印字を行わないように前記印字部を制御することを特徴とする両面印字プリンタである。
これにより、印字データが生成されなかった面について、ダミーのデータを生成することなく、印字データが生成されなかった面の印刷を行わず、かつ、正しく印字データが生成された面については正常に印字できる。よって、以後のデータの印字において、実際の印字における表裏面間で不整合が発生するのを防止することができる。また、両面ラベルの場合においても、表裏の一組のラベルが不整合とならないようにして印字を行うことが可能となる。また、印字データが生成されなかった面には、印字が行われないので、簡単にかつ効率的にエラーの発生を報知することができる。
また、前記制御手段は、前記表面側または前記裏面側のいずれかについて印字を行わない場合には、前記受信手段で受信した印刷枚数にかかわらず、前記表面側または前記裏面側のいずれかについて印字を行わない印字データの印刷枚数を１にリセットすることが望ましい。
これにより、片面が印字されていない印刷物を多数出力して資源を無駄にすることを防止することができる。
また、前記印字用紙は、その両面にそれぞれ表面側ラベル及び裏面側ラベルを有する両面ラベルであることが好ましい。
とくに印字用紙を両面ラベルとした場合には、表裏の一組のラベルが不整合とならないようにして両面印字を行うことが可能となる。また、無駄なく効率的に両面ラベルを発行することができ、例えばスーパーマーケット等における商品管理において多大の効果を発揮することができる。
【発明の効果】
【００１７】
本発明による両面印字プリンタにおいては、印字データが生成されなかった面についても、ダミーの印字データを生成して、正しく印字データが生成された面と合わせて印字されるため、以後のデータの印字において、実際の印字における表裏面間で不整合が発生するのを防止することができる。また両面ラベルにおいて表裏の一組のラベルが不整合とならないようにして印字することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る両面印字プリンタ１の側面図である。
【図２】両面ラベルの平面図である。
【図３】図２のＩＩＩ−ＩＩＩ線断面図である。
【図４】制御部の回路ブロック図である。
【図５】本実施例に係る両面印字プリンタにおける印字制御方法の処理の全体の流れを示すフローチャートである。
【図６】図５における印字データ生成処理の流れを示すフローチャートである。
【図７】コマンド＜Ａ＞の処理を示すフローチャートである。
【図８】印字データを生成する各コマンド解析処理を示すフローチャートである。
【図９】各コマンド編集処理を示すフローチャートである。
【図１０】コマンド＜Ｑ＞の処理を示すフローチャートである。
【図１１】コマンド＜Ｚ＞の処理を示すフローチャートである。
【図１２】コマンド＜Ｚ＞の処理における関数Ａの処理を示すフローチャートである。
【図１３】コマンド＜Ｚ＞の処理における関数Ｂの処理を示すフローチャートである。
【図１４】第２実施例におけるコマンド＜Ｚ＞の処理を示すフローチャートである。
【図１５】コマンド＜Ｚ＞の処理における関数Ａ２の処理を示すフローチャートである。
【図１６】従来の両面印字プリンタの印字制御における問題を示す説明図である。
【図１７】同じく従来の両面印字プリンタの印字制御における問題を示す説明図である。
【発明を実施するための形態】
【００１９】
本発明は、両面印字プリンタにおいて印字用紙の表裏両面に印字を行う際、ホストコンピュータから表裏いずれか１面分のデータが送信されて来たにも関わらず、コマンドエラーや基点補正等の影響によりその面の印字データが全く生成されなかった場合においても、それ以降に送信されて来るデータや、印字データが生成されなかったデータも含めて、実際の印字において表裏面の間での不整合が発生しないように、また両面ラベルにおいて表裏の一組のラベルが不整合とならないようにして印字制御を行うようにするものである。
【００２０】
以下、本発明の実施例による両面印字プリンタを、帯状の台紙の表裏両面にそれぞれラベルが仮着された両面ラベルに対して両面印字を行う場合を例にとり、添付の図面に基づき説明する。なお、本発明の印字用紙としては、このような台紙を有する両面ラベルに限らず、台紙がなく２枚のラベルを貼り合わせた、いわゆる台紙なしラベルでもよい。
【００２１】
（第１実施例）
図１は、本実施例に係る両面印字プリンタ１の側面図である。図１に示すように、両面印字プリンタ１は、主に、両面ラベル２の供給部３と、移送路４と、用紙センサ５と、印字部（表面側印字部７及び裏面側印字部８）と、入力表示部９と、制御部１０と、ホストコンピュータ１１とを有して構成されている。
【００２２】
ここで、本実施例の両面印字プリンタ１で用いられる両面ラベル２について説明しておく。図２は、両面ラベル２の平面図、図３は、図２のＩＩＩ−ＩＩＩ線に沿った両面ラベル２の断面図である。両面ラベル２は、とくに図３に示すように、両面印字プリンタ１においてこれが移送されるその長さ方向（図２、図３において両面ラベル２の移送方向を矢印で示す）に帯状に延びる台紙１２（剥離紙）と、台紙１２の表面側に仮着する表面側ラベル１３と、台紙１２の裏面側に仮着する裏面側ラベル１４とを有する。
【００２３】
図３に示すように、表面側ラベル１３及び裏面側ラベル１４のそれぞれの裏面には粘着剤層１５を形成し、台紙１２の表裏面に設けた剥離剤層（図示せず）を介して表面側ラベル１３及び裏面側ラベル１４を台紙１２に仮着可能としている。
【００２４】
また、表面側ラベル１３及び裏面側ラベル１４は、台紙１２の長手方向に一定間隔を空けて複数仮着されている。裏面側ラベルの仮着されていない台紙１２端部近傍に、位置検出マーク（図示せず）が設けられていても良い。
【００２５】
再び図１に戻って、上述の両面ラベル２は、図１に示すようにつづら折り状のファンフォールドタイプとすることもできるし、図に仮想線で示したようにこれをロール状に巻いた状態とすることもできるもので、両面ラベル２の供給部３は、両面ラベル２をつづら折り状あるいはロール状に装填するとともに、移送路４に繰り出し可能とする。
【００２６】
用紙センサ５は、印字部（表面側印字部７及び裏面側印字部８）の上流側に設けられ、両面ラベル２が仮着されていない間隔部分と両面ラベルが仮着されている部分の透過率の差によって両面ラベル２の相対的位置を検出可能とする光透過型のセンサを備えている。また、用紙センサ５は、両面ラベルに位置検出マークを設けた場合に、その位置検出用マークを検出する両面ラベル２の相対的位置を検出可能とする光反射型のセンサであっても良い。
【００２７】
表面側印字部７及び裏面側印字部８は、制御部１０内の印字制御部(後述する表面側印字制御部及び裏面側印字制御部)によって制御され、両面ラベル２の移送にともない表面側ラベル１３（表面側ラベル片１７）及び裏面側ラベル１４（裏面側ラベル片１９）にそれぞれの面の印字データを印字する。
【００２８】
表面側印字部７は、表面用サーマルヘッド２８及び表面用プラテンローラ２９、さらに駆動用ステッピングモータ３０を有し、表面用サーマルヘッド２８及び表面用プラテンローラ２９の間に両面ラベル２を挟持し、駆動用ステッピングモータ３０により表面用プラテンローラ２９を回転駆動して表面用サーマルヘッド２８により表面側ラベル１３側に印字する。
【００２９】
裏面側印字部８は、裏面用サーマルヘッド３１及び裏面用プラテンローラ３２、さらに駆動用ステッピングモータ３０を有し、裏面用サーマルヘッド３１及び裏面用プラテンローラ３２の間に両面ラベル２を挟持し、駆動用ステッピングモータ３０により裏面用プラテンローラ３２を回転駆動して裏面用サーマルヘッド３１により裏面側ラベル１４側に印字する。
【００３０】
入力表示部９は、両面印字プリンタ１の動作設定を行う入力キー及び入力キーで入力された情報を表示するＬＣＤを備えている。また、ＬＣＤには各種エラー等を表示することができる。
【００３１】
図４に制御部１０の回路ブロック図を示す。制御部１０は、図４に示すように、ＣＰＵ３３と、ＲＯＭ３４と、ＲＡＭ３５と、モータ制御部３６と、表面側印字制御部３７と、裏面側印字制御部３８と、入力表示部９に接続している内部インターフェイス部３９と、ホストコンピュータ１１に接続してデータを受信する受信手段としての外部インターフェイス部４０と、用紙センサ５と接続している位置制御部４１とを有している。
【００３２】
制御部１０は、ホストコンピュータ１１から送信されたコマンド（データ）を外部インターフェイス部４０を介して受け取り、両面ラベル２に対する印字データ（描画データ）を生成し、両面ラベル２の移送にともない、表面側印字制御部３７及び裏面側印字制御部３８により、印字部（表面側印字部７、裏面側印字部８）による表面側ラベル１３及び裏面側ラベル１４への印字を制御する。なお、このとき用紙センサ５の検出信号に基づいて、位置制御部４１により表面側ラベル片１７及び裏面側ラベル片１９への印字位置が制御される。
【００３３】
ホストコンピュータ１１は、必要に応じて外部機器としてこれを設けることができ、表面側印字部７、裏面側印字部８及び制御部１０などへの必要なデータ及びコマンドを供給する。
【００３４】
本実施例は、以上のように構成された両面印字プリンタ１において、両面ラベルの表裏両面のラベル片に印字を行う際、ホストコンピュータから表裏いずれか１面分のデータが送信されて来たにもかかわらず、コマンドエラーや基点補正等の影響によりその面の印字データが全く生成されなかった場合においても、それ以降に送信されて来るデータや、印字データが生成されなかったデータも含めて、実際に印字される面における表裏面の間での不整合が発生しないように、また両面ラベルにおいて表裏の一組のラベルが不整合とならないようにして印字制御を行うものである。
【００３５】
以下、フローチャートに沿って本実施例の印字制御方法について説明する。
【００３６】
図５に、本実施例に係る両面印字プリンタにおける印字制御方法の処理全体の大まかな流れを示す。
【００３７】
図５に示すように、本実施例の両面印字プリンタ１で両面ラベル２に対して両面印字を行う場合には、作成したい両面ラベルに必要なデータをコマンドとして入力すると（ステップＳ１０）、両面印字プリンタ１は入力されたコマンド（データ）から表裏各面の印字データを生成し、さらに表裏２面からなる１ラベル分のデータとして編集し（ステップＳ１２）、各両面ラベル毎に必要枚数を印刷する（ステップＳ１４）ようにしている。
【００３８】
まずステップＳ１０において、操作者は、両面ラベル２の作成に必要なコマンド（データ）をホストコンピュータ１１付属の入力手段（図示せず）から入力する。
【００３９】
入力するコマンドとしては、表面及び裏面それぞれについて＜Ａ＞から＜Ｚ＞まである。＜Ａ＞コマンドは、１面分のデータの開始を示すものである。＜Ｂ＞コマンド以降＜Ｙ＞コマンドまでの各コマンドは、印字データを生成するためのコマンドであり、一つ一つのコマンドがそれぞれ「罫線」、「文字」、「バーコード」等に対応している。また、とくに＜Ｑ＞コマンドは、その両面ラベル２を何枚発行するかという印刷枚数を指定するためのコマンドである。また、最後の＜Ｚ＞コマンドは、１面分のデータの終了を示すものである。
【００４０】
コマンド（データ）の入力に際しては、表面及び裏面それぞれについて＜Ａ＞〜＜Ｚ＞のコマンドの入力が行われる。このとき、＜Ａ＞コマンドと＜Ｚ＞コマンドの入力は必須であるが、＜Ｂ＞〜＜Ｙ＞の各コマンドについては必ずしもすべて入力する必要はなく、それぞれ表面及び裏面の印字に必要なデータのみを入力すればよい。例えば、印刷枚数を指定する＜Ｑ＞コマンドは、表面についてのデータを入力する際に入力しても、裏面についての＜Ｑ＞コマンドで入力された印刷枚数で上書きされ、表面についての＜Ｑ＞コマンドは無視されることとなるので、表面のコマンド入力の際には＜Ｑ＞コマンドは入力せず、裏面のコマンド入力における＜Ｑ＞コマンドで枚数の入力をすればよい。
【００４１】
このように、表面についてコマンド＜Ａ＞〜＜Ｚ＞が入力され、裏面についてコマンド＜Ａ＞〜＜Ｚ＞の入力が終わると、表裏両面合わせて２枚一組の両面ラベル２のデータが揃うこととなり、操作者の指示により、この一組の両面ラベル２の印字データがまとめて外部インターフェイス部４０に向けて送信される。
【００４２】
なお、一組毎の両面ラベル２の間で内容の異なる両面ラベル２を複数種類作成する場合には、これら複数種類の両面ラベル２のそれぞれについて両面分のデータが送信される。
【００４３】
次に、ステップＳ１２において、上記入力されたコマンド（データ）を受信し、この受信したコマンド（データ）に基づいて、両面ラベル２の印字データ（描画データ）が生成され編集される。このステップＳ１２の印字データ生成処理の流れを図６に示す。図６に示すように、印字データ生成処理においては、まずステップＳ２０において、入力表示部９は、１枚分の両面ラベル２に係る表面についてのコマンド＜Ａ＞〜＜Ｚ＞及び裏面についてのコマンド＜Ａ＞〜＜Ｚ＞を受信すると、これらを表示するとともに、制御部１０に送信する。制御部１０では、これら表面及び裏面についてのコマンド＜Ａ＞〜＜Ｚ＞をメモリに保存する。前述したように、印字データの異なる複数種類の両面ラベルを印字する場合には、その種類毎に表裏１組分の両面ラベルのコマンド（データ）が受信され、順番に制御部１０のメモリに保存される。
【００４４】
次のステップＳ２２において、制御部１０は、まず表面についてのコマンド＜Ａ＞〜＜Ｚ＞の解析処理を行い、次いで裏面についてのコマンド＜Ａ＞〜＜Ｚ＞の解析処理を行う。すなわち、制御部１０は、メモリから各両面ラベルについて、両面ラベル１組分毎に、表面及び裏面のコマンドを一つずつ順番に取り出して、それがどのような内容のコマンドなのか、その解析を行い、フラグのＯＮ、ＯＦＦや印字データの生成及び裏面についての＜Ｑ＞コマンドによる印刷枚数の設定等を行う。
【００４５】
そして、ステップＳ２４において、これらのコマンド（データ）に基づいて生成された表面及び裏面それぞれの印字データを、１枚分の両面ラベルの印字データとして編集する。編集された１枚分の両面ラベルの印字データは、制御部１０内のメモリに保存される。そして、図５のステップＳ１４における印刷時に、制御部１０内のメモリからこの保存された印字データが読み出されて印字部において印字動作が行われる。
【００４６】
以下、制御部１０のメモリに保存されている表裏面の各コマンド＜Ａ＞〜＜Ｚ＞を読み出して、制御部１０が行う各コマンド処理について説明する。
【００４７】
図７に、コマンド＜Ａ＞の処理（解析処理）を示す。制御部１０は、表面についてのコマンド処理において、まずコマンド＜Ａ＞を受け取る。このときコマンド＜Ａ＞は表面のデータの開始を示すものであり、図７に示すように、表面のフラグをＯＦＦにする。また、制御部１０が、裏面についてのコマンド処理においてコマンド＜Ａ＞を受け取った場合、コマンド＜Ａ＞は裏面のデータの開始を示すものであり、この場合には裏面のフラグをＯＦＦにする。
【００４８】
図８に、コマンド＜Ｂ＞以下の各コマンドの処理（解析処理）を示す。制御部１０は、表面の処理あるいは裏面の処理において、コマンド＜Ａ＞に続いてコマンド＜Ｂ＞以降のその他のコマンドを受け取った場合には、罫線、文字、バーコード等の印字データを生成するコマンドであれば、図８に示すように、表面あるいは裏面のフラグをＯＮにする。そして、各コマンドを解析した結果に基づいて、罫線、文字、バーコード等の印字データを生成する。
【００４９】
一方、コマンド＜Ｂ＞以降のその他のコマンドを全く受け取らなかった場合には、表面あるいは裏面のフラグがコマンド＜Ａ＞の処理でＯＦＦにされたままとなる。従って、表面あるいは裏面のフラグがＯＮであることは、表面あるいは裏面の印字データを生成するためのデータを受信したことを示し、表面あるいは裏面のフラグがＯＦＦであることは、表面あるいは裏面のデータが何らかのミスあるいはトラブルで受信できなかったことを示す。
【００５０】
図９に各コマンドの編集処理を示す。ここでは、コマンド＜Ｂ＞以下の各コマンドについて、コマンドを一つ受信する毎にそのコマンドの処理を実行し、各コマンドの解析に引き続き編集処理がコマンド単位で行われ、印字データが生成される。
【００５１】
図１０にコマンド＜Ｑ＞の処理を示す。コマンド＜Ｑ＞は特殊なコマンドであり、印字データを示すものではなく、その両面ラベル２を何組発行するかを示す印刷枚数を設定するためのコマンドである。コマンド＜Ｑ＞で指定された印刷枚数が制御部１０の所定のメモリにその両面ラベル２に対応付けて保存される。なお、表面についてのコマンドでは、このコマンド＜Ｑ＞はとくに指定する必要はなく、仮に指定して、その指定枚数が制御部１０のメモリに保存されたとしても、次の裏面についてのコマンドの処理におけるコマンド＜Ｑ＞で指定された印刷枚数によってメモリに保存される印刷枚数が置き換えられる。
【００５２】
図１１にコマンド＜Ｚ＞の処理を示す。コマンド＜Ｚ＞は表面及び裏面それぞれのデータの終了を示すコマンドであり、コマンド＜Ｚ＞を受け取った場合には、図１１に示す処理が実行される。
【００５３】
図１１のステップＳ３０において、今回のコマンド＜Ｚ＞の処理が裏面における＜Ｚ＞の処理であるか否かを判断する。まず、今回のコマンド＜Ｚ＞の処理が表面における＜Ｚ＞の処理の場合には、裏面の＜Ｚ＞の処理ではないので、Ｎｏと判断され、直ちにこの処理を終了する。
【００５４】
また今回のコマンド＜Ｚ＞の処理が裏面の＜Ｚ＞の処理の場合には、Ｙｅｓと判断され、次のステップＳ３２で関数Ａの処理を行った後、ステップＳ３４で関数Ｂの処理が行われる。詳しくは後述するが、関数Ａの処理は、簡単に言うと、コマンドを受け取ったにも関わらずその面の印字データが生成されなかった場合に白無地のダミーデータを生成して印字を行わずにその面を白紙で発行する処理である。また、関数Ｂの処理は、簡単に言うと、片面が白無地の場合も含めて両面にデータが生成されている場合にはそのラベルを発行するように指示を出すとともに、両面ともデータが生成されず両面を白紙とした場合にはエラー処理としてそのラベルは発行しないようにするための処理である。
【００５５】
図１２は、関数Ａの処理の流れを示すフローチャートであり、図１３は、関数Ｂの処理の流れを示すフローチャートである。上述したように、関数Ａ及び関数Ｂの処理は裏面についてのコマンド＜Ｚ＞の処理において行われる。
【００５６】
裏面についてのコマンド＜Ｚ＞の処理を行うときには、表面及び裏面のデータをすべて受け取り表面及び裏面の印字データが生成され、１枚分の両面ラベル２の印字データが編集されており、両面ラベル２を発行するための準備が完了している。
【００５７】
ここで、本来印字データが生成されるはずの１面分のデータ（表面あるいは裏面についてのコマンド＜Ａ＞〜＜Ｚ＞）を受け取っていても、コマンドエラーや基点補正等の影響により、印字データが生成されない場合もある。本実施例は、コマンドを受け取っていて印字データが生成されないような場合であっても、正常に生成できた別の印字データに影響を与えず（印字すべき表裏の順序が変わらないよう）に印字制御を行うものである。そこで裏面についてのコマンド＜Ｚ＞の処理を行う場合、次の４通りが考えられる。
【００５８】
すなわち両面ともにデータを受け取った場合に、まず第１に、両面ともに印字データが正常に生成された通常の場合、次に第２に、表面のみ印字データが生成されなかった場合、次に第３に、裏面のみ印字データが生成されなかった場合、最後に第４に、両面ともに印字データが生成されなかった場合の４通りが考えられる。以下、この４通りのそれぞれについて裏面についてのコマンド＜Ｚ＞の処理における関数Ａ及び関数Ｂの処理について説明する。
【００５９】
まず、第１の、両面ともにデータを受け取り、かつ両面ともに印字データが正常に生成された通常の場合について説明する。図１２のステップＳ４０で、「表面のみデータが生成されず、かつ、表面のフラグがＯＮか否か」判断されるが、今表面についての印字データが正常に生成されているので、ステップＳ４０の判断でＮｏと判断され、ステップＳ４６に進む。
【００６０】
ステップＳ４６では、「裏面のみデータが生成されず、かつ、裏面のフラグがＯＮか否か」判断される。しかし今裏面についてもデータが正常に生成されているので、ステップＳ４６の判断でもＮｏと判断され、ステップＳ５２に進む。
【００６１】
ステップＳ５２では、「両面ともにデータが生成されず、かつ、両面ともフラグがＯＮか否か」判断される。今両面ともにデータが正常に生成されているので、このステップＳ５２の判断でも、Ｎｏと判断され、ステップＳ５８に進む。
【００６２】
ステップＳ５８では、関数Ａの処理を抜ける際の関数の値（戻り値Ａ）である「処理結果Ａ」を「変更なし」に設定し、関数Ａの処理を終了する。「処理結果Ａ」を「変更なし」に設定するのは、表面裏面とも正常に印字データが生成されているので、そのデータにより両面ラベル２を発行するために、その印字データを変更することなくそのまま用いるという意味である。
【００６３】
次に、第２の、両面ともにデータを受け取ったにもかかわらず、表面のみ印字データが生成されなかった場合について説明する。図１２のステップＳ４０で、「表面のみデータが生成されず、かつ、表面のフラグがＯＮか否か」判断されるが、この場合は、表面についてのみ印字データが生成されておらず、かつデータを受け取っているので表面のフラグはＯＮであるから、ステップＳ４０の判断ではＹｅｓと判断され、ステップＳ４２に進む。
【００６４】
ステップＳ４２では、データを受け取っているにもかかわらず表面についてのみ印字データが生成されていないので、表面について白無地のダミーデータを生成して表面を白紙とする。このとき、裏面は正しい印字データであるが表面が白紙のラベルを多数発行することのないように、コマンド＜Ｑ＞で指定された印刷枚数を１枚にリセットすることが好ましい。操作者は、後に発行される表面のみが白無地の両面ラベルを目視して、表面ラベルの印字データ不良を認識することができる。
【００６５】
そして、次のステップＳ４４において、関数Ａの処理を抜ける際の関数の値（戻り値Ａ）である「処理結果Ａ」を「表を白紙にした」に設定して、関数Ａの処理を終了する。
【００６６】
次に、第３の、両面ともにデータを受け取ったにもかかわらず、裏面のみ印字データが生成されなかった場合について説明する。図１２のステップＳ４０で、「表面のみデータが生成されず、かつ、表面のフラグがＯＮか否か」判断されるが、この場合は、表面については印字データが生成されているので、Ｎｏと判断され、ステップＳ４６に進む。
【００６７】
ステップＳ４６では、「裏面のみデータが生成されず、かつ、裏面のフラグがＯＮか否か」判断されるが、今の場合、データを受け取っているので裏面フラグはＯＮであるが、裏面のみ印字データが生成されていないのでＹｅｓと判断され、ステップＳ４８に進む。
【００６８】
ステップＳ４８では、データを受け取っているにもかかわらず裏面についてのみ印字データが生成されていないので、裏面について白無地のダミーデータを生成して裏面を白紙とする。このとき、表面は正しい印字データであるが裏面が白紙のラベルを多数発行することのないように、コマンド＜Ｑ＞で指定された印刷枚数を１枚にリセットすることが好ましい。操作者は、後に発行される裏面のみが白無地の両面ラベルを目視して、表面ラベルの印字データ不良を認識することができる。そして、次のステップＳ５０において、関数Ａの処理を抜ける際の関数の値（戻り値Ａ）である「処理結果Ａ」を「裏を白紙にした」に設定して、関数Ａの処理を終了する。
【００６９】
次に、第４の、両面ともデータを受け取ったにもかかわらず、両面ともに印字データが生成されなかった場合について説明する。
【００７０】
この場合、両面ともに印字データが生成されていないので、「表面のみデータが生成されず」にも、「裏面のみデータが生成されず」にも該当しないので、ステップＳ４０及びステップＳ４６の判断はいずれもＮｏとなり、ステップＳ５２に進む。
【００７１】
ステップＳ５２において、「両面ともにデータが生成されず、かつ、両面ともフラグがＯＮか否か」判断される。今両面ともデータを受け取っているので両面ともフラグＯＮであり、かつ、両面ともにデータが生成されていないので、ステップＳ５２の判断においてＹｅｓと判断され、ステップＳ５４に進む。
【００７２】
ステップＳ５４では、今両面ともにデータが生成されていないので、印字を行わず両面ラベル２の発行を行わないようにするために、表面と裏面の各種描画制御情報をクリアする。ここで、各種描画制御情報とは、印字データ（描画データ）用メモリエリアの管理情報及び印字枚数管理情報を言う。
【００７３】
印字データ用メモリエリアの管理情報は、受信した印字アイテムのデータを、プリンタ内部に確保されている８面分の印字データ用メモリエリアのどのエリアに展開すればよいかを示す管理情報である。また、印字枚数管理情報は、上記に関連して各印字アイテムに付随した印字枚数情報も８面分存在しているが、上記同様に、次に受信した印字アイテムの印字枚数情報をどのエリアに展開すればよいかを示す管理情報である。
【００７４】
次に、ステップＳ５６において、関数Ａの処理を抜ける際の関数の値（戻り値Ａ）である「処理結果Ａ」を「両面を白紙にした」に設定し、関数Ａの処理を終了する。
【００７５】
このように、上記４つの場合に、それぞれの関数Ａの「処理結果Ａ」は、第１の両面ともに印字データが正常に生成された通常の場合には「変更なし」に、第２の表面のみ印字データが生成されなかった場合には「表を白紙にした」に、第３の裏面のみ印字データが生成されなかった場合には「裏を白紙にした」に、そして第４の両面ともに印字データが生成されなかった場合には「両面を白紙にした」に設定される。
【００７６】
図１３に、関数Ｂの処理を示す。関数Ｂは、関数Ａの結果である戻り値Ａを引数Ｂとする。上述したように、引数Ｂの値は、「変更なし」、「表を白紙にした」、「裏を白紙にした」、及び「両面を白紙にした」の４通りがある。
【００７７】
関数Ｂの処理は、まず図１３のステップＳ６０において、関数Ｂの引数Ｂが上記の４通りのうち「両面を白紙にした」以外か否か判断する。この判断で、「両面を白紙にした」以外の場合、すなわち、引数Ｂが「変更なし」、「表を白紙にした」、「裏を白紙にした」のいずれかである場合にはステップＳ６２に進む。なお、この「変更なし」、「表を白紙にした」、「裏を白紙にした」の３つの場合は、片面が白無地のダミーの印字データの場合も含めて両面とも印字データが生成されている場合である。
【００７８】
ステップＳ６２において、このように片面が白紙の場合も含めて両面とも印字データが生成されている場合には、両面ラベル２を印字して発行するために、印字制御部(表面側印字制御部３７、裏面側印字制御部３８)に対する各種情報を調整し、発行指示が出される。
【００７９】
ステップＳ６２における各種情報の調整では、この場合両面ラベル２を発行することとなるので、印字データ（描画データ）用メモリエリアの管理情報及び印字枚数管理情報を、現在使用中のエリアを１つ後に（とくに現在が最終位置なら最初に戻るように）する。
【００８０】
また、ステップＳ６０における判断でＮｏ、すなわち「両面を白紙にした」と判断された場合には、ステップＳ６４に進み、両面ラベル２を無発行とし発行しないようにするために、印字制御部（表面側印字制御部３７、裏面側印字制御部３８）に対する各種情報を調整する。
【００８１】
ステップＳ６４における各種情報の調整では、この場合両面ラベル２は発行しないので、印字データ（描画データ）用メモリエリアの管理情報及び印字枚数管理情報を、現在使用中のエリアの１つ前に（現在が先頭位置なら、最後に戻るように）する。
【００８２】
このようにして、図５のステップＳ１２において、両面ラベル２について、両面とも正常に印字データが生成された場合にはその印字データで印字するように、また表面のみ印字データが生成されなかった場合には表面を白紙として印字するように、また裏面のみ印字データが生成されなかった場合には裏面を白紙として印字するようにそれぞれの面の印字データが生成され、一方、両面とも印字データが生成されなかった場合には印字自体行わないように、それぞれ印字（発行）あるいは印字なし（無発行）の設定がなされる。また、印字なしの場合には入力表示部９によってエラーを報知するようにしても良い。
【００８３】
図５のステップＳ１４においては、以上の準備の下、両面ラベル２を印字する場合には、制御部１０の表面側印字制御部３７及び裏面側印字制御部３８によって印字部（表面側印字部７、裏面側印字部８）を制御して印字動作が実行され、コマンド＜Ｑ＞によって設定された枚数だけ、ステップＳ１２で編集された両面の印字データにより両面ラベル２が印刷され発行される。ただし、片面が白紙の両面ラベル２については、上述したように、印刷枚数を１枚にリセットして、１枚だけ発行するようにすることが好ましい。これによりエラー内容を確認することができるとともに、片面が白紙の両面ラベルを無駄に発行することを防止することができる。
【００８４】
このように本実施例においては、データが生成されるはずのデータであることを認識できるようにするとともに、表裏面の印字データが本来のものからずれて不整合が発生しないようにすることを可能としている。
【００８５】
本実施例では、裏面分のアイテムに対するコマンド処理が終了する時点、すなわち裏面についてのコマンド＜Ｚ＞の処理において、データを受け取っているにもかかわらず表面か裏面かいずれかの面について印字データが生成されていなかった場合には、その面については白無地のダミーの印字データを生成して白紙で印字するようにし、さらに表面裏面ともに印字データが生成されなかった場合には、そのラベル自体発行しないようにしている。
【００８６】
なお、上記実施例では、表面か裏面かいずれかの面について印字データが生成できなかった場合には、その面について白無地のダミーの印字データを生成してその面を白紙にしているが、ダミーの印字データは必ずしも白無地に限定されるものではなく、何らかの原因によって印字データが生成できなかった旨を示すエラーメッセージを生成して印字するようにしてもよい。
【００８７】
このように、本実施例によれば、両面印字プリンタにおいて、表裏いずれか１面について、その面のデータが送信されて来たにも関わらず印字データが生成されなかった場合でも、その後送信されて来たデータと実際に印字される面との間に不整合が発生しないようにして両面印字を行うことが可能となる。
【００８８】
（第２実施例）
次に、本発明の第２実施例を説明する。
第２実施例の両面印字プリンタは、ダミーデータの生成を行わずに、第１実施例と同様な効果を得る形態であり、処理動作の一部が異なる他は、第１実施例と同様な形態をしている。よって、ここでは、第２実施例に特有の処理についてのみ説明を行うこととし、また、前述した第１実施例と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
【００８９】
第１実施例の図１０までの説明内容については、第２実施例においても同様である。よって、以下、コマンド＜Ｚ＞の処理以降について説明する。
図１４は、第２実施例におけるコマンド＜Ｚ＞の処理を示すフローチャートである。
コマンド＜Ｚ＞は表面及び裏面それぞれのデータの終了を示すコマンドであり、コマンド＜Ｚ＞を受け取った場合には、図１４に示す処理が実行される。
【００９０】
図１４のステップＳ２３０において、今回のコマンド＜Ｚ＞の処理が裏面における＜Ｚ＞の処理であるか否かを判断する。まず、今回のコマンド＜Ｚ＞の処理が表面における＜Ｚ＞の処理の場合には、裏面の＜Ｚ＞の処理ではないので、Ｎｏと判断され、直ちにこの処理を終了する。
【００９１】
また今回のコマンド＜Ｚ＞の処理が裏面の＜Ｚ＞の処理の場合には、Ｙｅｓと判断され、次のステップＳ２３２で関数Ａ２の処理を行った後、処理を終了する。詳しくは後述するが、第２実施例における関数Ａ２の処理は、簡単に言うと、コマンドを受け取ったにも関わらずその面の印字データが生成されなかった場合に、該当する面の印刷を行わないように設定する処理である。なお、第２実施例では、第１実施例における関数Ｂに相当する処理は行わない。
【００９２】
図１５は、コマンド＜Ｚ＞の処理における関数Ａ２の処理を示すフローチャートである。上述したように、関数Ａ２の処理は裏面についてのコマンド＜Ｚ＞の処理において行われる。
【００９３】
裏面についてのコマンド＜Ｚ＞の処理を行うときには、表面及び裏面のデータをすべて受け取り表面及び裏面の印字データが生成され、１枚分の両面ラベル２の印字データが編集されており、両面ラベル２を発行するための準備が完了している。
【００９４】
ここで、本来印字データが生成されるはずの１面分のデータ（表面あるいは裏面についてのコマンド＜Ａ＞〜＜Ｚ＞）を受け取っていても、コマンドエラーや基点補正等の影響により、印字データが生成されない場合もある。本第２実施例は、コマンドを受け取っていて印字データが生成されないような場合であっても、正常に生成できた別の印字データに影響を与えず（印字すべき表裏の順序が変わらないよう）に、第１実施例とは異なる手法によって印字制御を行うものである。そこで裏面についてのコマンド＜Ｚ＞の処理を行う場合、第１実施例の場合と同様に、次の４通りが考えられる。
【００９５】
すなわち両面ともにデータを受け取った場合に、まず第１に、両面ともに印字データが正常に生成された通常の場合、次に第２に、表面のみ印字データが生成されなかった場合、次に第３に、裏面のみ印字データが生成されなかった場合、最後に第４に、両面ともに印字データが生成されなかった場合の４通りが考えられる。以下、この４通りのそれぞれについて裏面についてのコマンド＜Ｚ＞の処理における関数Ａ及び関数Ｂの処理について説明する。
【００９６】
まず、第１の、両面ともにデータを受け取り、かつ両面ともに印字データが正常に生成された通常の場合について説明する。図１５のステップＳ２４０で、「表面のみデータが生成されず、かつ、表面のフラグがＯＮか否か」判断されるが、今表面についての印字データが正常に生成されているので、ステップＳ２４０の判断でＮｏと判断され、ステップＳ２４４に進む。
【００９７】
ステップＳ２４４では、「裏面のみデータが生成されず、かつ、裏面のフラグがＯＮか否か」判断される。しかし今裏面についてもデータが正常に生成されているので、ステップＳ２４４の判断でもＮｏと判断され、ステップＳ２４８に進む。
【００９８】
ステップＳ２４８では、「両面ともにデータが生成されず、かつ、両面ともフラグがＯＮか否か」判断される。今両面ともにデータが正常に生成されているので、このステップＳ２４８の判断でも、Ｎｏと判断され、ステップＳ２５２に進む。
【００９９】
ステップＳ２５２では、関数Ａ２の処理を抜ける際の関数の値（戻り値Ａ２）である「処理結果Ａ２」を「表面印字フラグ：オン、裏面印字フラグ：オン」に設定し、関数Ａ２の処理を終了する。「処理結果Ａ２」を「表面印字フラグ：オン、裏面印字フラグ：オン」に設定するのは、表面裏面とも正常に印字データが生成されているので、そのデータにより両面ラベル２を発行するために、その印字データを変更することなくそのまま用いて、両面に印刷を行わせるためである。
【０１００】
次に、第２の、両面ともにデータを受け取ったにもかかわらず、表面のみ印字データが生成されなかった場合について説明する。図１５のステップＳ２４０で、「表面のみデータが生成されず、かつ、表面のフラグがＯＮか否か」判断されるが、この場合は、表面についてのみ印字データが生成されておらず、かつデータを受け取っているので表面のフラグはＯＮであるから、ステップＳ２４０の判断ではＹｅｓと判断され、ステップＳ２４２に進む。
【０１０１】
ステップＳ２４２では、データを受け取っているにもかかわらず表面についてのみ印字データが生成されていないので、表面については、印字を行わず、裏面についてのみ印字を行うこととする。そのために、関数Ａ２の処理を抜ける際の関数の値（戻り値Ａ２）である「処理結果Ａ２」を「表面印字フラグ：オフ、裏面印字フラグ：オン」に設定し、関数Ａ２の処理を終了する。このとき、裏面は正しい印字データであるが表面が白紙のラベルを多数発行することのないように、コマンド＜Ｑ＞で指定された印刷枚数を１枚にリセットすることが好ましい。操作者は、後に発行される表面のみが印字されていない両面ラベルを目視して、表面ラベルの印字データ不良を認識することができる。
【０１０２】
次に、第３の、両面ともにデータを受け取ったにもかかわらず、裏面のみ印字データが生成されなかった場合について説明する。図１５のステップＳ２４０で、「表面のみデータが生成されず、かつ、表面のフラグがＯＮか否か」判断されるが、この場合は、表面については印字データが生成されているので、Ｎｏと判断され、ステップＳ２４４に進む。
【０１０３】
ステップＳ２４４では、「裏面のみデータが生成されず、かつ、裏面のフラグがＯＮか否か」判断されるが、今の場合、データを受け取っているので裏面フラグはＯＮであるが、裏面のみ印字データが生成されていないのでＹｅｓと判断され、ステップＳ２４６に進む。
【０１０４】
ステップＳ２４６では、データを受け取っているにもかかわらず裏面についてのみ印字データが生成されていないので、表面について印字を行い、裏面については、印字を行わないこととする。そのために、関数Ａ２の処理を抜ける際の関数の値（戻り値Ａ２）である「処理結果Ａ２」を「表面印字フラグ：オン、裏面印字フラグ：オフ」に設定し、関数Ａ２の処理を終了する。このとき、表面は正しい印字データであるが裏面が白紙のラベルを多数発行することのないように、コマンド＜Ｑ＞で指定された印刷枚数を１枚にリセットすることが好ましい。操作者は、後に発行される裏面のみが印字されていない両面ラベルを目視して、裏面ラベルの印字データ不良を認識することができる。
【０１０５】
次に、第４の、両面ともデータを受け取ったにもかかわらず、両面ともに印字データが生成されなかった場合について説明する。
【０１０６】
この場合、両面ともに印字データが生成されていないので、「表面のみデータが生成されず」にも、「裏面のみデータが生成されず」にも該当しないので、ステップＳ２４０及びステップＳ２４４の判断はいずれもＮｏとなり、ステップＳ２４８に進む。
【０１０７】
ステップＳ２４８において、「両面ともにデータが生成されず、かつ、両面ともフラグがＯＮか否か」判断される。今両面ともデータを受け取っているので両面ともフラグＯＮであり、かつ、両面ともにデータが生成されていないので、ステップＳ２４８の判断においてＹｅｓと判断され、ステップＳ２５０に進む。
【０１０８】
ステップＳ２５０では、今両面ともにデータが生成されていないので、印字を行わず両面ラベル２の発行を行わないようにする。そのために、関数Ａ２の処理を抜ける際の関数の値（戻り値Ａ２）である「処理結果Ａ２」を「表面印字フラグ：オフ、裏面印字フラグ：オフ」に設定し、関数Ａ２の処理を終了する。なお、第１実施例と同様に、表面と裏面の各種描画制御情報をクリアしてもよい。
【０１０９】
このように、上記４つの場合に、それぞれの関数Ａ２の「処理結果Ａ２」は、第１の両面ともに印字データが正常に生成された通常の場合には「表面印字フラグ：オン、裏面印字フラグ：オン」に、第２の表面のみ印字データが生成されなかった場合には「表面印字フラグ：オフ、裏面印字フラグ：オン」に、第３の裏面のみ印字データが生成されなかった場合には「表面印字フラグ：オン、裏面印字フラグ：オフ」に、そして第４の両面ともに印字データが生成されなかった場合には「表面印字フラグ：オフ、裏面印字フラグ：オフ」に設定される。
【０１１０】
このようにして、図５のステップＳ１２において、両面ラベル２について、両面とも正常に印字データが生成された場合にはその印字データで印字するように、また表面のみ印字データが生成されなかった場合には表面の印字を行わないように、また裏面のみ印字データが生成されなかった場合には裏面の印字を行わないように設定する。一方、両面とも印字データが生成されなかった場合には両面ともに印字を行わないように、設定がなされる。また、印字なしの場合には入力表示部９によってエラーを報知するようにしても良い。
【０１１１】
図５のステップＳ１４においては、以上の準備の下、両面ラベル２を印字する場合には、表面印字フラグ及び裏面印字フラグの設定にしたがって、制御部１０の表面側印字制御部３７及び裏面側印字制御部３８によって印字部（表面側印字部７、裏面側印字部８）を制御して印字動作が実行され、コマンド＜Ｑ＞によって設定された枚数だけ、ステップＳ１２で編集された両面の印字データにより両面ラベル２が印刷され発行される。ただし、片面のみ印字を行わない両面ラベル２については、上述したように、印刷枚数を１枚にリセットして、１枚だけ発行するようにすることが好ましい。これによりエラー内容を確認することができるとともに、片面が白紙の両面ラベルを無駄に発行することを防止することができる。
【０１１２】
このように本第２実施例においても、データが生成されるはずのデータであることを認識できるようにするとともに、表裏面の印字データが本来のものからずれて不整合が発生しないようにすることを可能としている。
【０１１３】
本第２実施例では、裏面分のアイテムに対するコマンド処理が終了する時点、すなわち裏面についてのコマンド＜Ｚ＞の処理において、データを受け取っているにもかかわらず表面か裏面かいずれかの面について印字データが生成されていなかった場合には、その面について印字を行わないように設定している。
【０１１４】
このように、本第２実施例によれば、両面印字プリンタにおいて、表裏いずれか１面について、その面のデータが送信されて来たにも関わらず印字データが生成されなかった場合でも、その後送信されて来たデータと実際に印字される面との間に不整合が発生しないようにして両面印字を行うことが可能となる。
【０１１５】
なお、上記各実施例では、コマンドを一つ受信する毎にコマンド単位でそのコマンドの処理を実行して、コマンドの受信と並行して印字データを生成して行くようにしていたが、両面ラベル１枚分のコマンド（表面についての＜Ａ＞〜＜Ｚ＞及び裏面についての＜Ａ＞〜＜Ｚ＞）をまとめて受信してメモリに貯えておき、その後このメモリからコマンドを一つずつ取り出して処理するようにしてもよい。
【０１１６】
以上、本発明の両面印字プリンタにおける印字制御方法について詳細に説明したが、本発明は、以上の例には限定されず、本発明の要旨を逸脱しない範囲において、各種の改良や変形を行ってもよいのはもちろんである。
【符号の説明】
【０１１７】
１  両面印字プリンタ
２  両面ラベル
３  供給部
４  移送路
５  用紙センサ
７  表面側印字部
８  裏面側印字部
９  入力表示部
１０  制御部
１１  ホストコンピュータ
１２  台紙
１３  表面側ラベル
１４  裏面側ラベル
１５  粘着層
１７  表面側ラベル片
１９  裏面側ラベル片
２８  表面用サーマルヘッド
２９  表面用プラテンローラ
３０  駆動用ステッピングモータ
３１  裏面用サーマルヘッド
３２  裏面用プラテンローラ
３３  ＣＰＵ
３４  ＲＯＭ
３５  ＲＡＭ
３６  モータ制御部
３７  表面側印字制御部
３８  裏面側印字制御部
３９  内部インターフェイス部
４０  外部インターフェイス部
４１  位置制御部
【図１】
2013240995.tif 000003
【図２】
2013240995.tif 000004
【図３】
2013240995.tif 000005
【図４】
2013240995.tif 000006
【図５】
2013240995.tif 000007
【図６】
2013240995.tif 000008
【図７】
2013240995.tif 000009
【図８】
2013240995.tif 000010
【図９】
2013240995.tif 000011
【図１０】
2013240995.tif 000012
【図１１】
2013240995.tif 000013
【図１２】
2013240995.tif 000014
【図１３】
2013240995.tif 000015
【図１４】
2013240995.tif 000016
【図１５】
2013240995.tif 000017
【図１６】
2013240995.tif 000018
【図１７】
2013240995.tif 000019