レシートプリンター、レシートプリンターの制御方法および記録媒体
【課題】ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに印刷可能なレシートプリンターおよびレシートプリンターの制御方法を提供する。
【解決手段】次のレシートのトップマージンに印刷する前印刷用データを記憶する前印刷用データ記憶部と、印刷データを取得する印刷データ取得部と、取得した印刷データのトップマージン分のデータであるヘッダーデータと前印刷用データとが同一であるか否かを判別するヘッダー判別部と、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、印刷制御部は、判別結果が「同一」であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、判別結果が「非同一」であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行う。
【解決手段】次のレシートのトップマージンに印刷する前印刷用データを記憶する前印刷用データ記憶部と、印刷データを取得する印刷データ取得部と、取得した印刷データのトップマージン分のデータであるヘッダーデータと前印刷用データとが同一であるか否かを判別するヘッダー判別部と、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、印刷制御部は、判別結果が「同一」であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、判別結果が「非同一」であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷位置の下流側に用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの一部となる所定の印刷を行い、用紙カットを行うレシートプリンター、レシートプリンターの制御方法および記録媒体に関するものである。
【背景技術】
【0002】
従来、印刷ヘッドと、印刷ヘッドの下流側にカッターマージンを隔てて設けられたカッターと、を備え、受信した印刷データの印刷後、カットコマンドの受信をトリガとして予め記憶している所定のロゴデータを印刷し、その後、用紙のカットを行うレシート印刷装置が知られている(特許文献1参照)。このように、カッターマージンを有する印刷装置では、次の印刷に備えて用紙カットの前にカッターマージンに相当する長さの印刷を行うことにより、次の印刷結果の先端部分にカッターマージンに相当する長さの余白領域(トップマージン)が発生するのを防ぐことができる。なお、当該レシート印刷装置は、予めトップロゴデータを上位装置から受信し、記憶しておく。このトップロゴデータの送信は、トップロゴデータの印刷内容を更新する場合や、レシート印刷装置の記憶が失われた場合にのみ実行され、通常のレシート印刷においては、トップロゴデータを除いたデータのみ送信される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−047898号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、レシートプリンターは、例えば、領収書、クレジット決済控え書、クーポンなど必要に応じてレシート以外の印刷を行う場合がある。これらのイレギュラーな印刷は、ヘッダー(トップロゴ)の内容がレシートと異なったり、ヘッダー自体が無いこともある。しかし、上記の構成では、ヘッダーの有無やヘッダーの内容を変更したい場合、印刷を実行する前に、予め記憶されているヘッダー印刷用の印刷データの書き換え処理を行わなければならない。また、ヘッダー印刷用の印刷データを受信した場合は、必ず印刷データを書き換えるため、同一のヘッダー印刷用の印刷データを受信した場合は、不要な書き換え処理を行ってしまう。
【0005】
本発明は、上記の点に鑑み、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに印刷可能なレシートプリンター、レシートプリンターの制御方法および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のレシートプリンターは、印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターであって、次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶部と、上位装置から、印刷データを取得する印刷データ取得部と、取得した印刷データのトップマージン分のデータであるヘッダーデータと、前印刷用データと、が同一であるか否かを判別するヘッダー判別部と、ヘッダー判別部の判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、印刷制御部は、ヘッダー判別部の判別結果が「同一」であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、ヘッダー判別部の判別結果が「非同一」であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行うことを特徴とする。
【0007】
本発明のレシートプリンターの制御方法は、印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターの制御方法であって、レシートプリンターが、次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶ステップと、上位装置から、印刷データを取得する印刷データ取得ステップと、取得した印刷データのトップマージン分のデータであるヘッダーデータと、前印刷用データと、が同一であるか否かを判別するヘッダー判別ステップと、ヘッダー判別ステップの判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御ステップと、を備え、印刷制御ステップにおいて、レシートプリンターは、ヘッダー判別部の判別結果が「同一」であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、ヘッダー判別部の判別結果が「非同一」であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行うことを特徴とする。
【0008】
本発明の記録媒体は、コンピューターに上記のレシートプリンターの制御方法における各ステップを実行させるためのプログラムをコンピューター読み取り可能に記録したことを特徴とする。
【0009】
これらの構成によれば、受信した印刷データに含まれるヘッダーデータと、予め記憶している前印刷用データと、を比較し、「非同一」であった場合にのみ、印刷データに含まれるヘッダーデータを印刷するため、ヘッダーの印刷内容が変更された場合であっても、個別に前印刷用データを送信して書き換えを行うことなく、所望のレシート印刷を行うことができる。よって、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに所望のレシートを印刷することができる。また、用紙カット前には、予め記憶されている前印刷用データが印刷されるため、当該印刷のみヘッダーの印刷内容が異なっているイレギュラーな印刷であった場合、ヘッダーデータを元のデータに書き換える処理を省略できる。
【0010】
この場合、ヘッダー判別部の判別結果が「非同一」であった場合、印刷制御部による印刷開始前に、前印刷用データを、取得した印刷データのヘッダーデータに書き換えるデータ書き換え部をさらに備えていることが好ましい。
【0011】
この構成によれば、個別に前印刷用データを送信して書き換えを行うことなく、印刷データの送信によって、当該印刷におけるヘッダーの印刷内容を変更させると共に、次回以降のヘッダーの印刷内容も変更させることができる。
【0012】
この場合、ヘッダー判別部の判別結果が連続して「非同一」であった回数をカウントするカウント部をさらに備え、データ書き換え部は、カウント部のカウント数が所定回数以上となった場合に、前印刷用データを書き換えることが好ましい。
【0013】
この構成によれば、例えば、1度だけヘッダーの印刷内容が異なっているイレギュラーな印刷であった場合などに、次回以降のヘッダーの印刷データである前印刷用データが書き換えられないため、利便性が良い。
なお、「所定回数」の数を設定する設定部をさらに備えることが好ましい。
【0014】
上記のレシートプリンターにおいて、印刷制御部は、判別結果が「非同一」であった場合、取得した印刷データの印刷において、ヘッダーデータを印刷した後、用紙カットを行い、印刷データからヘッダーデータを除いた残データを印刷することが好ましい。
【0015】
この構成によれば、前印刷された不要部分を自動で切り取ることができる。
【0016】
上記のレシートプリンターにおいて、ヘッダーデータに、レシート幅方向に伸びる少なくとも1ドット幅の空白ラインが含まれる場合、ヘッダーデータを、当該ヘッダーデータの先端から空白ラインの下端までの第1ヘッダーデータと、空白ラインの下端から当該ヘッダーデータのまでの第2ヘッダーデータと、に分割し、第1ヘッダーデータの先端に第2ヘッダーデータの長さに相当する空白データを付加する印刷データ編集部をさらに備え、データ書き換え部は、前印刷用データを、空白データが付加された第1ヘッダーデータに書き換えることが好ましい。
【0017】
この構成によれば、レシートに印刷される定型部分(第1ヘッダーデータに相当する)がトップマージンよりも短い場合、空白データが先端に付加された第1ヘッダーデータが前印刷されるため、前印刷終了後、定型部分の下端が印刷位置に一致する。これにより、次回の印刷が定型部分と定型部分以外の印刷部分との境界から開始されるため、定型部分以外の印刷部分内に用紙送りのピッチズレなどによる印字線の発生を防ぐことができる。
【0018】
上記のレシートプリンターにおいて、ヘッダー判別部の判別結果が「非同一」であった場合であって、ヘッダーデータおよび前印刷用データの一部分が一致する場合、ヘッダーデータにおける一致部分以外の残データを空白データに変換した変換済みヘッダーデータを生成するデータ生成部をさらに備え、データ書き換え部は、前印刷用データを、変換済みヘッダーデータに書き換えることが好ましい。
【0019】
この場合、ヘッダー判別部の判別結果が「非同一」であった場合であって、ヘッダーデータおよび前印刷用データの一部分が一致する場合、一致部分を共通データとして記憶する共通データ記憶部をさらに備え、ヘッダー判別部は、共通データ記憶部にデータが記憶されている場合、取得した印刷データのヘッダーデータに前記共通データが含まれているか否かを判別し、印刷制御部は、印刷データから共通データを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行うことが好ましい。
【0020】
この構成によれば、ヘッダーデータおよび前印刷用データの一致部分のみを前印刷するため、次回の印刷においてヘッダーデータおよび前印刷用データがすべて一致しなくても、前印刷した印刷結果を次回の印刷に利用することができる。なお、一致部分(同一データ)は、ヘッダーデータおよび前印刷用データの上端部分であって、一致部分の先端に、ヘッダーデータから同一データを除いた不一致部分の長さに相当する空白データを付加することが好ましい。これによれば、前印刷されるヘッダーデータの一致部分と、次の印刷において印刷される不一致部分との間に、空白が発生するのを防ぐことができる。
【0021】
上記のレシートプリンターにおいて、印刷制御部は、用紙交換処理、用紙送り処理および電源ON処理のいずれかが実行された直後の印刷において、ヘッダー判別部の判別結果にかかわらず、取得した印刷データの印刷を行った後、前印刷用データを印刷して用紙カットを行うことが好ましい。
【0022】
この構成によれば、前印刷したヘッダー部分の用紙が失われたり、ヘッダー部分の後端が紙送りされて印刷位置よりも下流に位置していたりする場合に、取得した印刷データに含まれるヘッダーデータを印刷することで、適切なレシートを印刷することができる。
【0023】
上記のレシートプリンターにおいて、用紙カットの前に前印刷用データの印刷を実行する前印刷モードと、用紙カットの前に前印刷用データの印刷を実行しない前印刷休止モードと、の間でモードを切り替えるモード切替部をさらに備え、印刷制御部は、通常モード時のみ機能することが好ましい。
【0024】
この構成によれば、ユーザーの要望に応じて前印刷の有無を選択できる。例えば、ヘッダーを有しない印刷を連続して行う場合は、前印刷休止モードを選択できるため、不要な前印刷による用紙の消費を抑えることができる。なお、モードの切替えは、レシートプリンターの所定の操作によって行われてもよいし、上位装置からの制御コマンドに基づいて行われてもよいし、プリンタドライバの設定を変更させることによって行われても良い。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態に係るレシートプリンターの主要部の模式断面図である。
【図2】レシートプリンターの制御構成を示したブロック図である。
【図3】レシートプリンターの機能構成を示したブロック図である。
【図4】ホスト装置から取得する印刷データのパターンを示した図である。
【図5】前印刷休止モードにおけるレシートプリンターの印刷処理を示したフローチャートである。
【図6】前印刷休止モードにおける印刷例を示した図である。
【図7】レシートプリンターの印刷処理を示したフローチャートである。
【図8】前印刷用データとヘッダーデータとが「同一」である場合の印刷例を示した図である。
【図9】前印刷用データとヘッダーデータとが「非同一」である場合の印刷例を示した図である。
【図10】特定のイベント後における印刷処理を示したフローチャートである。
【図11】特定のイベント後における印刷例を示した図である。
【図12】ヘッダーデータに空白ラインが含まれている場合の印刷処理を示したフローチャートである。
【図13】ヘッダーデータに空白ラインが含まれている場合の印刷データの編集について示した図である。
【図14】ヘッダーデータに空白ラインが含まれている場合の印刷例を示した図である。
【図15】前印刷用データおよびヘッダーデータに共通データが含まれている場合の印刷処理を示したフローチャートである。
【図16】前印刷用データの生成について示した図である。
【図17】前印刷用データおよびヘッダーデータに共通データが含まれている場合の印刷例を示した図である。
【図18】共通データが記憶されている場合の印刷処理を示したフローチャートである。
【図19】共通データが記憶されている場合の印刷例を示した図である。
【発明を実施するための形態】
【0026】
以下、添付の図面を参照し、本発明の一実施形態に係るレシートプリンターおよびレシートプリンターの制御方法について説明する。なお、本発明のレシートプリンターは、ホスト装置(上位装置)に接続されて用いられ、ホスト装置から取得した印刷データに基づいて、連続紙(用紙)に対して印刷および用紙カットを行ってレシートを発行する。
【0027】
図1は、レシートプリンター1の主要部の模式断面図である。図示のように、レシートプリンター1は、ケース11の内側に不図示の用紙収容部から排出口12に向かう用紙13の搬送経路14を有し、搬送経路14に沿って下流側から、可動カッター15および固定カッター16から成る用紙カット機構と、印刷ヘッド17と、を備えている。用紙カット機構は、カッターモーター22(図2参照)に接続された可動カッター15と、可動カッター15に用紙13を介して対面した固定カッター16と、で構成されている。用紙カット機構は、カッターモーター22の駆動によって可動カッター15を下降させ、用紙カット位置P1において用紙をカットする。印刷ヘッド17は、いわゆるサーマルヘッドであり、感熱性を有する用紙13に対して印刷位置P2にて印刷を行う。そして、印刷ヘッド17に用紙13を介して対面した位置にプラテン18が配設され、プラテン18は、印刷時に用紙13を印刷ヘッド17に押圧する。なお、用紙カット位置P1から印刷位置P2までの距離をL1とする。
【0028】
レシートプリンター1は、不図示の用紙搬送機構により用紙13を搬送経路14上で搬送しながら、印刷ヘッド17により印刷を行う。上記のように、本レシートプリンター1は、用紙カット位置P1が印刷位置P2に対してL1分の距離を隔てて下流側に位置しているため、用紙13の先端が用紙カット位置P1にある状態で印刷を開始すると、印刷結果であるレシートにはL1に相当する余白領域(トップマージン)が発生する。本発明のレシートプリンター1は、このトップマージンの発生を防ぐべく、印刷の終了後、次のレシート印刷に備えてL1分の前印刷を行ってから用紙をカットする。
【0029】
図2は、レシートプリンター1の制御構成を示したブロック図である。図示のように、レシートプリンター1は、用紙搬送モーター21、カッターモーター22、印刷ヘッド17、操作部23、CPU24(Central Processing Unit)、ROM25(Read Only Memory)、RAM26(Random Access Memory)、フラッシュROM27、およびI/F28を有している。
【0030】
用紙搬送モーター21は、用紙搬送機構を構成する不図示の複数のローラーを回転させ、用紙13を搬送経路14上で搬送する。カッターモーター22は、上記の可動カッター15を降下させ用紙13をカットする。操作部23は、ケース11に配設された複数の操作子により構成され、レシートプリンター1の電源オン/オフや各種操作を行うために用いられる。本実施形態では、特に、前印刷を実行する「通常モード」と、前印刷を実行しない「前印刷休止モード」と、の間でモードを切り替えるために用いられる。CPU24は、各種データの演算処理を行うことによって、レシートプリンター1全体を統括制御する。ROM25は、CPU24が各種処理を実行するための制御プログラムや制御データを格納している。RAM26は、CPU24が各種処理を行う際のワークエリアとして用いられる。フラッシュROM27は、上記の前印刷を行うための前印刷用データPDや後述の共通データを記憶するための各記憶領域を有している。I/F28は、ホスト装置2から印刷データを受信するために用いられる。
【0031】
図3は、レシートプリンター1の機能構成を示したブロック図である。図示のように、レシートプリンター1は、印刷データ取得部31、印刷データ解析部32、前印刷用データ記憶部33、共通データ記憶部34、印刷データ編集部35、ヘッダー判別部36、カウント部37、データ生成部38、データ書き換え部39、モード切替部40、印刷制御部41、印刷部43、および用紙カット部44を備えている。
【0032】
印刷データ取得部31は、主にI/F28により構成され、ホスト装置2からレシートを印刷するための印刷データを取得する。印刷データ解析部32は、取得した印刷データを解析し、ヘッダーデータHDを抽出する。
【0033】
図4は、ホスト装置2から取得した印刷データの代表的な例を示したものである。図示のように、印刷データには、トップ余白51、ヘッダーロゴ52、空白ライン53、本文データ54、ボトム余白55およびカットコマンドが含まれている。トップ余白51は、用紙の先端(被カット位置)から実質印刷部分の先端までに設けられる余白部分である。なお、トップ余白51は、空白データでも良いし、所定の距離分紙送りを行う旨のコマンドで実現しても良い。ヘッダーロゴ52は、レシートに印刷されるいわゆる定型部分であり、店舗情報などが含まれている。空白ライン53は、定型部分であるヘッダーロゴ52と本文データ54との境界を示すためのものである。本文データ54は、都度変更されるデータであり、清算情報などが含まれる。ボトム余白55は、本文データの下端から用紙の後端(非カット位置)までに設けられる余白部分である。なお、ボトム余白55は、空白データでも良いし、所定の距離分紙送りを行う旨のコマンドで実現しても良い。カットコマンドは、用紙をカットする旨のコマンドである。印刷データ解析部32は、取得した印刷データの先端からL1分の長さのデータをヘッダーデータHDとして抽出する。
【0034】
図4(a)に示す印刷データは、トップ余白51の先端から空白ライン53の下端までの長さがL1となるため、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータがヘッダーデータHDとなる。同図(b)に示す印刷データは、トップ余白51の先端から本文データ54の途中までの長さがL1となるため、トップ余白51、ヘッダーロゴ52、空白ライン53および本文データ54の一部を合わせたデータがヘッダーデータHDとなる。同図(c)に示す印刷データは、トップ余白51の先端からヘッダーロゴ52の途中までの長さがL1となるため、トップ余白51およびヘッダーロゴ52の一部を合わせたデータの長さがL1となる。同図(d)に示す印刷データは、トップ余白51の先端から本文データ54の途中までの長さがL1となるため、トップ余白51および本文データ54の一部を合わせたデータがヘッダーデータHDとなる。なお、本印刷データには、ヘッダーロゴ52および空白ライン53が含まれておらず、例えば、売上報告やクーポンなどのヘッダーのない印刷物の印刷データである。このように、レシートプリンター1は、ホスト装置2から複数種類の印刷データを取得する。
【0035】
印刷データ解析部32は、上記のようにヘッダーデータHDを抽出し、抽出したヘッダーデータHD内に空白ライン53が含まれているか否かを解析する。なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く。また、印刷データ解析部32は、複数の印刷データをホスト装置2から取得した場合、印刷データに含まれるカットコマンド以前のデータを1レシート単位の印刷データとして、1レシート単位の印刷データごとに上記の解析を行う。
【0036】
図3に戻り、前印刷用データ記憶部33は、フラッシュROM27内の記憶領域であり、上記した前印刷を行うための前印刷用データPDを、不揮発且つ書き換え可能に記憶する。なお、前印刷用データPDは、レシートのトップマージンに印刷するL1分の長さのデータである。
【0037】
ヘッダー判別部36は、印刷データ解析部32により抽出されたヘッダーデータHDが、前印刷用データ記憶部33に記憶されている前印刷用データPDと「同一」であるか否かを判別する。また、「非同一」と判定した場合、ヘッダーデータHDおよび前印刷用データPDが、各データの先端から連続するデータが一致するか否かを判別する。すなわち、各データの上端部が同一のデータであるか否かを判別する。カウント部37は、ヘッダー判別部36が連続して「非同一」且つ「各データの上端部は一致しない」と判別した回数をカウントして記憶する。
【0038】
データ書き換え部39は、前印刷用データ記憶部33に記憶されているデータを必要に応じて書き換える。本実施形態では、カウント部37のカウント数nが所定数N以上となった場合に、前印刷用データPDをヘッダーデータHDに書き換える。また、後述のデータ生成部38が前印刷用データPDを生成した場合、記憶している前印刷用データPDを当該データに書き換える。
【0039】
印刷データ編集部35は、印刷データ解析部32によりヘッダーデータHDに空白ライン53が含まれていると判定された場合(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く)、取得した印刷データを編集する(図13参照)。この編集処理については、後に詳述する。
【0040】
データ生成部38は、ヘッダー判別部36によりヘッダーデータHDおよび前印刷用データPDの上端部が一致すると判別された場合、新たに前印刷用データPDとして記憶するためのデータを生成する(図16参照)。なお、このデータ生成処理についても、後に後述する。
【0041】
共通データ記憶部34は、前印刷用データ記憶部33と同様、フラッシュROM27の記憶領域であり、データ生成部38によるデータ生成の過程で抽出されたヘッダーデータHDおよび前印刷用データPDの共通データを、不揮発且つ書き換え可能に記憶する。なお、共通データは、ヘッダーデータHDおよび前印刷用データPDの上端部に位置するデータであって、L1よりも短い長さの印刷データである。
【0042】
モード切替部40は、操作部23の操作信号に基づいて、前印刷を実行する「前印刷モード」と、前印刷を実行しない「前印刷休止モード」と、の間でモードを切り替える。
【0043】
印刷部43は、印刷ヘッド17および用紙搬送機構により構成され印刷データの印刷を行う。用紙カット部44は、用紙カット機構により構成され、用紙をカットする。印刷制御部41は、印刷部43および用紙カット部44の制御を行う。
【0044】
以下、図5ないし図19を参照し、レシートプリンター1の印刷処理について説明する。先ず、図5および図6を用い、前印刷を実行しない「前印刷休止モード」におけるレシートプリンター1の印刷処理について説明する。図5に示すように、レシートプリンター1は、印刷データを取得すると(S101)、印刷デーに含まれるヘッダーデータHDを印刷し(S102)、用紙カットを行う(S103)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し(S104)、用紙カットを行う(S105)。
【0045】
図6に示すのは、図5におけるフローにしたがって実施された印刷例である。レシートプリンター1は、前の印刷が終了し用紙カット位置P1に用紙13の先端が位置している状態(図6(a)参照)で印刷データを取得すると、L1の長さ分のヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。これにより、L1分の余白(トップマージン)がレシートから分離される。そして、残データを印刷し、用紙をカットして、レシートが発行される(同図(c))。なお、ヘッダーデータHD印刷後の用紙カットは、レシート以外に用紙片が発生するため、省略しても良い。しかし、トップマージンに何らかのデータが前印刷されていた場合を考慮して、モードが「前印刷休止モード」に切り替えられた直後の印刷では、本用紙カットを行うことが望ましい。
【0046】
次に、図7ないし図19を用いて、前印刷を実行する「前印刷モード」におけるレシートプリンター1の印刷処理について説明する。図7に示すように、レシートプリンター1は、ホスト装置2から印刷データを取得すると(S01)、印刷データの取得が特定のイベント後初めてであった場合(S02:Yes)、フロー「A」に移行する。なお、特定のイベントとは、用紙交換処理、用紙送り処理および電源ON処理をさす。一方、印刷データの取得が特定のイベント後初めてではなかった場合(S02:No)、印刷データからヘッダーデータHDを抽出する(S03)。そして、抽出したヘッダーデータHDに空白ライン53が存在するか否かを解析する(S04)。ヘッダーデータHDに空白ライン53が存在した(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く)場合(S04:Yes)、フロー「B」に移行する。一方、ヘッダーデータHDに空白ライン53が存在していなかった(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を含む)場合(S04:No)、共通データ記憶部34に共通データが記憶されているか否かを判断する(S05)。共通データ記憶部34に共通データが記憶されていた場合(S05:Yes)、フロー「D」に移行する。一方、共通データ記憶部34に共通データが記憶されていなかった場合(S05:No)、ヘッダーデータHDと前印刷用データPDとを比較する(S06)。
【0047】
ヘッダーデータHDと前印刷用データPDとが「同一」であると判別された場合(S07:「同一」)、印刷データからヘッダーデータHDを除いた残データを印刷し(S08)、前印刷用データPDを印刷し(S09)、その後、用紙カットして(S10)、処理を終了する。
【0048】
図8は、図7のS07において、ヘッダーデータHDと前印刷用データPDとが「同一」であると判別された場合の印刷例を示した図である。なお、本印刷例では、図4(a)に示すような、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴであるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDも同様に、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53で構成されている。
【0049】
レシートプリンター1は、前印刷用データPDが前印刷された状態(図8(a)参照)で、印刷データを取得すると、印刷データのヘッダーデータHDを除いた残データのみを印刷する(同図(b)参照)。本印刷例では、残データは本文データ54およびボトム余白55となる。そして、残データを印刷終了後、カットコマンドに基づいて用紙カットを行う前に、記憶している前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。すなわち、レシートプリンター1は、ヘッダーデータHDと前印刷データとが同一であった場合、予め前印刷された部分を利用して、レシート印刷を行う。そして、印刷データに含まれたカットコマンドをトリガとして、次のレシート印刷に備え、記憶している前印刷データに基づいて前印刷を行う。
【0050】
図7に戻り、ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別された場合(S07:「非同一」)、ヘッダーデータHDおよび前印刷用データPDの上端部が一致しているか否かを解析する(S11)。両データの上端部が一致していた場合(S11:Yes)、フロー「C」に移行する。
【0051】
一方、両データの上端部が一致していなかった場合であって(S11:No)、「非同一」且つ「両データの上端部が一致しない」と連続して判別された回数nが所定回数N以上となった場合(S12:Yes)、前印刷用データPDをヘッダーデータHDに書き換える(S13)。そして、ヘッダーデータHDを印刷し(S14)、用紙をカットする(S15)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し(S16)、書き換えられた前印刷用データPDを印刷して(S09)、用紙をカットする(S10)。
【0052】
図9は、図7のS07において、ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別され、S08において、ヘッダーデータHDおよび前印刷用データPDの上端部は一致しないと判別され、さらに、S12において、「非同一」且つ「両データの上端部が一致しない」と連続して判別された回数nが所定回数N以上であった場合の印刷例を示した図である。なお、本印刷例でも、図4(a)に示すような、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーロゴ52であるヘッダーBおよび空白ライン53で構成されている。
【0053】
レシートプリンター1は、前印刷用データPDが前印刷された状態(図9(a)参照)で、印刷データを取得すると、印刷データに含まれたヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。そして、印刷データからヘッダーデータHDを除いた残データを印刷終了後、カットコマンドに基づいて用紙カットを行う前に、書き換えた前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。すなわち、レシートプリンター1は、予め前印刷された(ヘッダーAを含む前印刷用データPD)部分を分離し、改めて、ヘッダーデータHDを含むすべての印刷データを印刷する。そして、次のレシート印刷に備え、書き換えた前印刷用データPD(ヘッダーBを含む前印刷用データPD)を前印刷する。
【0054】
なお、図示を省略したが、レシートプリンター1は、前印刷用データ記憶部33に前印刷用データPDが記憶されていなかった場合、「非同一」と判別し、印刷データから抽出したヘッダーデータHDを前印刷用データPDとして前印刷用データ記憶部33に記憶し、取得したヘッダーデータHDを含む印刷データのすべてを印刷し、ヘッダーデータHDを前印刷する。
【0055】
続いて、図10および図11を用いて、図7のS02において、印刷データの取得が特定のイベント後初めてであった場合について説明する。なお、特定のイベントとは、用紙交換処理、用紙送り処理および電源ON処理をさす。また、各処理においては用紙の頭出しや用紙送り処理などが既に行われ、直ちに印刷可能な状態となっているものとする。図10に示すように、レシートプリンター1は、取得した印刷データを印刷し(S21)、前印刷用データPDを印刷した後(S22)、用紙カットする(S23)。
【0056】
図11は、図10に示すフローにより実施された印刷例を示している。なお、本印刷例でも、図4(a)に示すように、トップ余白51、ヘッダーロゴ52、空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53で構成されている。
【0057】
レシートプリンター1は、用紙13の先端が確実に用紙カット位置P1に位置する状態(同図(a)参照)で、取得した印刷データを印刷する(同図(b)参照)。そして、印刷データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、記憶している前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。
【0058】
このように、特定のイベント後においては、判別結果によらず、取得した印刷データをすべて印刷することにより、用紙交換処理、用紙送り処理および電源ON処理によって、前印刷したヘッダー部分が失われたり、ヘッダー部分の後端が紙送りされて印刷位置P2よりも下流に位置していたりして、前印刷したヘッダー部分を利用できない場合にも、適切なレシートを印刷することができる。なお、本実施形態においては、特定のイベント後、最初に印刷されるレシートは、L1に相当する長さのトップマージンが発生する。なお、トップマージンを分離するために、ヘッダーデータHDを印刷後に用紙カットを行う構成としてもよい。
【0059】
続いて、図12ないし図14を参照し、図7のS04において、ヘッダーデータHD内に空白ライン53が存在していた(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を含む)場合について説明する。すなわち、図4(b)に示すように、トップ余白51の先端から空白ライン53の後端までの長さががL1よりも短く、ヘッダーデータHDに本文データの一部が含まれる印刷データを取得した場合について説明する。先ず、図12のフローチャートに示すように、レシートプリンター1は、ヘッダーデータHD内に空白ライン53が存在していた場合、印刷データを編集する(S31)。
【0060】
ここで、図13を用いて、図12のS31における印刷データの編集について説明する。同図(a)は、取得した印刷データを示している。レシートプリンター1(印刷データ編集部35)は、印刷データに含まれるヘッダーデータHDを、ヘッダーデータHDの先端から空白ライン53の下端までの第1ヘッダーデータHD1と、空白ライン53の下端からヘッダーデータHDの下端までの第2ヘッダーデータHD2と、に分割する。図示のように、第1ヘッダーデータHD1の長さはl1、第2ヘッダーデータHD2の長さはl2となる。同図(b)は、編集後の印刷データを示している。レシートプリンター1(印刷データ編集部35)は、第2ヘッダーデータHD2の長さl2分の空白データを第1ヘッダーデータHD1の上端に付加する。すなわち、印刷データの先端からL1分のデータ、すなわち編集後の印刷データのヘッダーデータHDには、l2分の空白データとl1分の第1ヘッダーデータHD1とが含まれる。
【0061】
図12に戻り、レシートプリンター1は、上記した印刷データの編集を行った後、l2分空白データおよび第1ヘッダーデータHD1を編集後ヘッダーデータHDとする(S32)。そして、編集後ヘッダーデータHDと前印刷用データPDとを比較する(S33)。編集後ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別された場合(S34:「非同一」)であって、編集後ヘッダーデータHDと前印刷用データPDとが「非同一」と連続して判別された回数nが所定回数N以上となった場合(S35:Yes)、前印刷用データPDを編集後ヘッダーデータHDに書き換える(S36)。そして、編集後ヘッダーデータHDを印刷し(S37)、用紙をカットする(S38)。そして、編集後の印刷データから編集後ヘッダーデータHDを除いた残データを印刷し(S39)、前印刷用データPDを印刷して(S40)、用紙をカットする(S41)。
【0062】
一方、編集後ヘッダーデータHDと前印刷用データPDとが「同一」であると判別された場合(S34:「同一」)、印刷データから編集後ヘッダーデータHDを除き(S42)、残データを印刷し(S43)、前印刷用データPDを印刷し(S40)、その後、用紙カットして(S41)、処理を終了する。
【0063】
図14は、図12のS34において、編集後ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別され、「S35において、「非同一」と判別された回数nが所定回数N以上であった場合の印刷例を示している。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、空白データ、トップ余白51、ヘッダーB52および空白ライン53で構成されている。
【0064】
レシートプリンター1は、前印刷用データPDが前印刷された状態(同図(a)参照)で、印刷データを取得すると、編集後ヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。そして、編集後の印刷データから編集後ヘッダーデータHDを除いた残データを印刷し、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、書き換えた前印刷用データPD(編集後ヘッダーデータHD)を前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。このように、印刷データの上端から空白ライン53の下端までが、L1よりも短い場合、第1ヘッダーデータHD1の先端に、第2ヘッダーデータHD2の長さに相当する空白データを付加したデータを編集後ヘッダーデータHDとし、前印刷用データPDとして記憶することで、前印刷終了後、第1ヘッダーデータHD1の下端が印刷位置に一致する。これにより、次回の印刷が同一のヘッダーデータHDを有する印刷データに基づく印刷である場合、印刷開始が、本文データ54の先端から開始されるため、本文データ54内に用紙送りのピッチズレなどによる印字線の発生を防ぐことができる。
【0065】
続いて、図15および図16を参照して、図7のS11において、ヘッダーデータHDおよび前印刷用データPDの上端部が一致する場合について説明する。図15に示すように、レシートプリンター1は、両データの先端から連続して一致するデータを共通データとして共通データ記憶部34に記憶する(S51)。そして、新たな前印刷用データPDを生成し、生成したデータを前印刷用データPDとして書き換える(S52)。
【0066】
ここで、図16を用いて、前印刷用データPDの生成について説明する。図示のように、レシートプリンター1に記憶されている前印刷用データPDは、トップ余白51、ヘッダーABおよびヘッダーAで構成されるヘッダーロゴ52、および空白ライン53で構成されており(同図(a)参照)、ヘッダーデータHDは、トップ余白51、ヘッダーABおよびヘッダーBで構成されるヘッダーロゴ52、および空白ライン53で構成されている(同図(b)参照)。レシートプリンター1(データ生成部38)は、前印刷用データPDおよびヘッダーデータHDにおいて、各データの先端から連続して一致する共通データ(図示ではトップ余白51およびヘッダーABに相当する)を抽出し(コピーし)、ヘッダーデータHDの先端から共通データ(ヘッダーAB)の下端までの第3ヘッダーデータHD3と、共通データの下端からヘッダーデータHDの下端までの第4ヘッダーデータHD4と、に分割する(同図(b)参照)。図示のように、第3ヘッダーデータHD3の長さはl3、第4ヘッダーデータHD4の長さはl4となる。そして、第4ヘッダーデータHD4の長さであるl4分の空白データを第3ヘッダーデータHD3の上端に付加して、l4分の空白データおよび第3ヘッダーデータHD3から成る新たな前印刷用データPDを生成する(同図(c)参照)。なお、「変換済みヘッダーデータ」とは、データ生成部38が新たに生成した前印刷用データPDをさす。
【0067】
図15に戻り、レシートプリンター1は、取得したヘッダーデータHDを印刷し(S53)、用紙カットする(S54)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し(S55)、新たに生成して書き換えた前印刷用データPDを印刷した後(S56)、用紙カットして(S57)、処理を終了する。
【0068】
図17は、図15に記載のフローを実施した場合の印刷例を示した図である。レシートプリンター1に記憶されている前印刷用データPDおよびヘッダーデータHDは、図16に記載したものと同様であり、生成した前印刷用データPDは、l4分の空白データ、トップ余白51およびヘッダーABで構成されている。レシートプリンター1は、記憶されている前印刷用データPDが前印刷された状態(同図(a)参照)で、印刷データを取得すると、前印刷用データPDとヘッダーデータHDが「非同一」であるため、印刷データに含まれたヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、新たに生成した前印刷用データPD(空白データ、トップ余白51およびヘッダーAB)を前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。
【0069】
続いて、図18および図19を参照して、図7のS05において、共通データ記憶部34に共通データが記憶されている場合について説明する。図18に示すように、レシートプリンター1は、ヘッダーデータHDの上端部が共通データ記憶部34に記憶されている共通データと一致するか否かを解析する(S61)。そして、ヘッダーデータHDの上端部が共通データと一致する場合(S61:Yes)、印刷データから共通データを除き(S62)、残データを印刷する(S63)。そして、前印刷データを印刷し(S64)、用紙カットする(S65)。一方、ヘッダーデータHDの上端部が共通データと一致しない場合(S61:No)、ヘッダーデータHDを印刷し(S66)、用紙カット行って(S67)、印刷データからヘッダーデータHDを除いた残データを印刷する(S68)。そして、前印刷データを印刷し(S64)、用紙カットする(S65)。
【0070】
図19は、図18のS61において、ヘッダーデータHDの上端部が共通データと一致する場合と判定された場合の印刷例を示した図である。レシートプリンター1は、前印刷用データPDとして、l4分の空白データ、トップ余白51およびヘッダーロゴ52を記憶している。すなわち、データ生成部38によって生成された前印刷データPDが記憶されている。また、共通データとして、トップ余白51およびヘッダーABが記憶されている。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーAB、ヘッダーBおよび空白ライン53で構成されている。
【0071】
レシートプリンター1は、前印刷用データPDが前印刷された状態(同図(a)参照)で、共通データ(トップ余白51およびヘッダーAB)を有した印刷データを取得すると、印刷データから共通データを除いた残データを印刷し(同図(b)参照)、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、前印刷用データPD(空白データ、トップ余白51およびヘッダーAB)を前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。
【0072】
このように、前印刷用データPDとして、共通データを含むデータを記憶しておくことで、次回以降の印刷データのヘッダーデータHDと前印刷用データPDとが、完全に一致していない場合であっても、前印刷した共通データを利用して、次のレシート印刷を行うことができる。これによれば、前印刷用データPDとヘッダーデータHDとが一致しない場合であっても、発生するトップマージンをL1からl4に抑えることができる。
【0073】
これまで説明したレシートプリンター1およびレシートプリンター1の制御方法によれば、受信した印刷データに含まれるヘッダーデータHDと、予め記憶している前印刷用データPDと、を比較し、「非同一」であった場合にのみ、印刷データに含まれるヘッダーデータHDを改めて印刷するため、ヘッダー(トップマージンにおける印刷内容)の印刷内容が変更された場合であっても、個別に前印刷用データPDを送信して書き換えを行うことなく、所望のレシート印刷を行うことができる。よって、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに所望のレシートを印刷することができる。
【0074】
なお、図4(c)および(d)に示すような、ヘッダーデータHDとその他のデータの境界において印刷データが連続して存在している印刷データのヘッダーデータHDを、前印刷用データPDとして記憶している場合を考慮して、ヘッダーデータHDと前印刷データPDとが「非同一」と判別され、ヘッダーデータHDを改めて印刷する場合は、印刷データの先端に空白データを付加しても良い。これによれば、前印刷された不要な部分を切り取る場合、カット位置が、空白データ上に位置するため、前印刷の印字の一部がレシートの先端部分に残るのを防ぐことができる。
【0075】
また、複数の印刷データを取得した場合、カットコマンドではなく、所定の文字列を用いて1レシート単位の印刷データを認識する構成としてもよい。
【0076】
また、前印刷データPDを書き換える基準となる「非同一」と連続して判別された回数Nは、ユーザーの操作によって所望の回数が設定できる構成としてもよい。この場合、回数Nを設定する設定部をさらに備えていることが好ましい。
【0077】
また、上記の説明において、ヘッダーロゴ52を含む印刷データを例示したが、印刷データの定型部分は、画像データではなくテキストデータで構成されていても良い。
【0078】
なお、上記の各実施形態に示した、レシートプリンター1の各構成要素をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【0079】
また、上述した実施例によらず、レシートプリンター1の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【符号の説明】
【0080】
1:レシートプリンター 2:ホスト装置 13:用紙 15:可動カッター 17:印刷ヘッド 31:印刷データ取得部 32:印刷データ解析部 33:前印刷用データ記憶部 34:共通データ記憶部 35:印刷データ編集部 36:ヘッダー判別部 37:カウント部 38:データ生成部 39:データ書き換え部 40:モード切替部 41:印刷制御部 43:印刷部 44:用紙カット部 HD:ヘッダーデータ PD:前印刷用データ P1:用紙カット位置 P2:印刷位置
【技術分野】
【0001】
本発明は、印刷位置の下流側に用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの一部となる所定の印刷を行い、用紙カットを行うレシートプリンター、レシートプリンターの制御方法および記録媒体に関するものである。
【背景技術】
【0002】
従来、印刷ヘッドと、印刷ヘッドの下流側にカッターマージンを隔てて設けられたカッターと、を備え、受信した印刷データの印刷後、カットコマンドの受信をトリガとして予め記憶している所定のロゴデータを印刷し、その後、用紙のカットを行うレシート印刷装置が知られている(特許文献1参照)。このように、カッターマージンを有する印刷装置では、次の印刷に備えて用紙カットの前にカッターマージンに相当する長さの印刷を行うことにより、次の印刷結果の先端部分にカッターマージンに相当する長さの余白領域(トップマージン)が発生するのを防ぐことができる。なお、当該レシート印刷装置は、予めトップロゴデータを上位装置から受信し、記憶しておく。このトップロゴデータの送信は、トップロゴデータの印刷内容を更新する場合や、レシート印刷装置の記憶が失われた場合にのみ実行され、通常のレシート印刷においては、トップロゴデータを除いたデータのみ送信される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−047898号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、レシートプリンターは、例えば、領収書、クレジット決済控え書、クーポンなど必要に応じてレシート以外の印刷を行う場合がある。これらのイレギュラーな印刷は、ヘッダー(トップロゴ)の内容がレシートと異なったり、ヘッダー自体が無いこともある。しかし、上記の構成では、ヘッダーの有無やヘッダーの内容を変更したい場合、印刷を実行する前に、予め記憶されているヘッダー印刷用の印刷データの書き換え処理を行わなければならない。また、ヘッダー印刷用の印刷データを受信した場合は、必ず印刷データを書き換えるため、同一のヘッダー印刷用の印刷データを受信した場合は、不要な書き換え処理を行ってしまう。
【0005】
本発明は、上記の点に鑑み、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに印刷可能なレシートプリンター、レシートプリンターの制御方法および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のレシートプリンターは、印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターであって、次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶部と、上位装置から、印刷データを取得する印刷データ取得部と、取得した印刷データのトップマージン分のデータであるヘッダーデータと、前印刷用データと、が同一であるか否かを判別するヘッダー判別部と、ヘッダー判別部の判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、印刷制御部は、ヘッダー判別部の判別結果が「同一」であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、ヘッダー判別部の判別結果が「非同一」であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行うことを特徴とする。
【0007】
本発明のレシートプリンターの制御方法は、印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターの制御方法であって、レシートプリンターが、次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶ステップと、上位装置から、印刷データを取得する印刷データ取得ステップと、取得した印刷データのトップマージン分のデータであるヘッダーデータと、前印刷用データと、が同一であるか否かを判別するヘッダー判別ステップと、ヘッダー判別ステップの判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御ステップと、を備え、印刷制御ステップにおいて、レシートプリンターは、ヘッダー判別部の判別結果が「同一」であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、ヘッダー判別部の判別結果が「非同一」であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行うことを特徴とする。
【0008】
本発明の記録媒体は、コンピューターに上記のレシートプリンターの制御方法における各ステップを実行させるためのプログラムをコンピューター読み取り可能に記録したことを特徴とする。
【0009】
これらの構成によれば、受信した印刷データに含まれるヘッダーデータと、予め記憶している前印刷用データと、を比較し、「非同一」であった場合にのみ、印刷データに含まれるヘッダーデータを印刷するため、ヘッダーの印刷内容が変更された場合であっても、個別に前印刷用データを送信して書き換えを行うことなく、所望のレシート印刷を行うことができる。よって、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに所望のレシートを印刷することができる。また、用紙カット前には、予め記憶されている前印刷用データが印刷されるため、当該印刷のみヘッダーの印刷内容が異なっているイレギュラーな印刷であった場合、ヘッダーデータを元のデータに書き換える処理を省略できる。
【0010】
この場合、ヘッダー判別部の判別結果が「非同一」であった場合、印刷制御部による印刷開始前に、前印刷用データを、取得した印刷データのヘッダーデータに書き換えるデータ書き換え部をさらに備えていることが好ましい。
【0011】
この構成によれば、個別に前印刷用データを送信して書き換えを行うことなく、印刷データの送信によって、当該印刷におけるヘッダーの印刷内容を変更させると共に、次回以降のヘッダーの印刷内容も変更させることができる。
【0012】
この場合、ヘッダー判別部の判別結果が連続して「非同一」であった回数をカウントするカウント部をさらに備え、データ書き換え部は、カウント部のカウント数が所定回数以上となった場合に、前印刷用データを書き換えることが好ましい。
【0013】
この構成によれば、例えば、1度だけヘッダーの印刷内容が異なっているイレギュラーな印刷であった場合などに、次回以降のヘッダーの印刷データである前印刷用データが書き換えられないため、利便性が良い。
なお、「所定回数」の数を設定する設定部をさらに備えることが好ましい。
【0014】
上記のレシートプリンターにおいて、印刷制御部は、判別結果が「非同一」であった場合、取得した印刷データの印刷において、ヘッダーデータを印刷した後、用紙カットを行い、印刷データからヘッダーデータを除いた残データを印刷することが好ましい。
【0015】
この構成によれば、前印刷された不要部分を自動で切り取ることができる。
【0016】
上記のレシートプリンターにおいて、ヘッダーデータに、レシート幅方向に伸びる少なくとも1ドット幅の空白ラインが含まれる場合、ヘッダーデータを、当該ヘッダーデータの先端から空白ラインの下端までの第1ヘッダーデータと、空白ラインの下端から当該ヘッダーデータのまでの第2ヘッダーデータと、に分割し、第1ヘッダーデータの先端に第2ヘッダーデータの長さに相当する空白データを付加する印刷データ編集部をさらに備え、データ書き換え部は、前印刷用データを、空白データが付加された第1ヘッダーデータに書き換えることが好ましい。
【0017】
この構成によれば、レシートに印刷される定型部分(第1ヘッダーデータに相当する)がトップマージンよりも短い場合、空白データが先端に付加された第1ヘッダーデータが前印刷されるため、前印刷終了後、定型部分の下端が印刷位置に一致する。これにより、次回の印刷が定型部分と定型部分以外の印刷部分との境界から開始されるため、定型部分以外の印刷部分内に用紙送りのピッチズレなどによる印字線の発生を防ぐことができる。
【0018】
上記のレシートプリンターにおいて、ヘッダー判別部の判別結果が「非同一」であった場合であって、ヘッダーデータおよび前印刷用データの一部分が一致する場合、ヘッダーデータにおける一致部分以外の残データを空白データに変換した変換済みヘッダーデータを生成するデータ生成部をさらに備え、データ書き換え部は、前印刷用データを、変換済みヘッダーデータに書き換えることが好ましい。
【0019】
この場合、ヘッダー判別部の判別結果が「非同一」であった場合であって、ヘッダーデータおよび前印刷用データの一部分が一致する場合、一致部分を共通データとして記憶する共通データ記憶部をさらに備え、ヘッダー判別部は、共通データ記憶部にデータが記憶されている場合、取得した印刷データのヘッダーデータに前記共通データが含まれているか否かを判別し、印刷制御部は、印刷データから共通データを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行うことが好ましい。
【0020】
この構成によれば、ヘッダーデータおよび前印刷用データの一致部分のみを前印刷するため、次回の印刷においてヘッダーデータおよび前印刷用データがすべて一致しなくても、前印刷した印刷結果を次回の印刷に利用することができる。なお、一致部分(同一データ)は、ヘッダーデータおよび前印刷用データの上端部分であって、一致部分の先端に、ヘッダーデータから同一データを除いた不一致部分の長さに相当する空白データを付加することが好ましい。これによれば、前印刷されるヘッダーデータの一致部分と、次の印刷において印刷される不一致部分との間に、空白が発生するのを防ぐことができる。
【0021】
上記のレシートプリンターにおいて、印刷制御部は、用紙交換処理、用紙送り処理および電源ON処理のいずれかが実行された直後の印刷において、ヘッダー判別部の判別結果にかかわらず、取得した印刷データの印刷を行った後、前印刷用データを印刷して用紙カットを行うことが好ましい。
【0022】
この構成によれば、前印刷したヘッダー部分の用紙が失われたり、ヘッダー部分の後端が紙送りされて印刷位置よりも下流に位置していたりする場合に、取得した印刷データに含まれるヘッダーデータを印刷することで、適切なレシートを印刷することができる。
【0023】
上記のレシートプリンターにおいて、用紙カットの前に前印刷用データの印刷を実行する前印刷モードと、用紙カットの前に前印刷用データの印刷を実行しない前印刷休止モードと、の間でモードを切り替えるモード切替部をさらに備え、印刷制御部は、通常モード時のみ機能することが好ましい。
【0024】
この構成によれば、ユーザーの要望に応じて前印刷の有無を選択できる。例えば、ヘッダーを有しない印刷を連続して行う場合は、前印刷休止モードを選択できるため、不要な前印刷による用紙の消費を抑えることができる。なお、モードの切替えは、レシートプリンターの所定の操作によって行われてもよいし、上位装置からの制御コマンドに基づいて行われてもよいし、プリンタドライバの設定を変更させることによって行われても良い。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態に係るレシートプリンターの主要部の模式断面図である。
【図2】レシートプリンターの制御構成を示したブロック図である。
【図3】レシートプリンターの機能構成を示したブロック図である。
【図4】ホスト装置から取得する印刷データのパターンを示した図である。
【図5】前印刷休止モードにおけるレシートプリンターの印刷処理を示したフローチャートである。
【図6】前印刷休止モードにおける印刷例を示した図である。
【図7】レシートプリンターの印刷処理を示したフローチャートである。
【図8】前印刷用データとヘッダーデータとが「同一」である場合の印刷例を示した図である。
【図9】前印刷用データとヘッダーデータとが「非同一」である場合の印刷例を示した図である。
【図10】特定のイベント後における印刷処理を示したフローチャートである。
【図11】特定のイベント後における印刷例を示した図である。
【図12】ヘッダーデータに空白ラインが含まれている場合の印刷処理を示したフローチャートである。
【図13】ヘッダーデータに空白ラインが含まれている場合の印刷データの編集について示した図である。
【図14】ヘッダーデータに空白ラインが含まれている場合の印刷例を示した図である。
【図15】前印刷用データおよびヘッダーデータに共通データが含まれている場合の印刷処理を示したフローチャートである。
【図16】前印刷用データの生成について示した図である。
【図17】前印刷用データおよびヘッダーデータに共通データが含まれている場合の印刷例を示した図である。
【図18】共通データが記憶されている場合の印刷処理を示したフローチャートである。
【図19】共通データが記憶されている場合の印刷例を示した図である。
【発明を実施するための形態】
【0026】
以下、添付の図面を参照し、本発明の一実施形態に係るレシートプリンターおよびレシートプリンターの制御方法について説明する。なお、本発明のレシートプリンターは、ホスト装置(上位装置)に接続されて用いられ、ホスト装置から取得した印刷データに基づいて、連続紙(用紙)に対して印刷および用紙カットを行ってレシートを発行する。
【0027】
図1は、レシートプリンター1の主要部の模式断面図である。図示のように、レシートプリンター1は、ケース11の内側に不図示の用紙収容部から排出口12に向かう用紙13の搬送経路14を有し、搬送経路14に沿って下流側から、可動カッター15および固定カッター16から成る用紙カット機構と、印刷ヘッド17と、を備えている。用紙カット機構は、カッターモーター22(図2参照)に接続された可動カッター15と、可動カッター15に用紙13を介して対面した固定カッター16と、で構成されている。用紙カット機構は、カッターモーター22の駆動によって可動カッター15を下降させ、用紙カット位置P1において用紙をカットする。印刷ヘッド17は、いわゆるサーマルヘッドであり、感熱性を有する用紙13に対して印刷位置P2にて印刷を行う。そして、印刷ヘッド17に用紙13を介して対面した位置にプラテン18が配設され、プラテン18は、印刷時に用紙13を印刷ヘッド17に押圧する。なお、用紙カット位置P1から印刷位置P2までの距離をL1とする。
【0028】
レシートプリンター1は、不図示の用紙搬送機構により用紙13を搬送経路14上で搬送しながら、印刷ヘッド17により印刷を行う。上記のように、本レシートプリンター1は、用紙カット位置P1が印刷位置P2に対してL1分の距離を隔てて下流側に位置しているため、用紙13の先端が用紙カット位置P1にある状態で印刷を開始すると、印刷結果であるレシートにはL1に相当する余白領域(トップマージン)が発生する。本発明のレシートプリンター1は、このトップマージンの発生を防ぐべく、印刷の終了後、次のレシート印刷に備えてL1分の前印刷を行ってから用紙をカットする。
【0029】
図2は、レシートプリンター1の制御構成を示したブロック図である。図示のように、レシートプリンター1は、用紙搬送モーター21、カッターモーター22、印刷ヘッド17、操作部23、CPU24(Central Processing Unit)、ROM25(Read Only Memory)、RAM26(Random Access Memory)、フラッシュROM27、およびI/F28を有している。
【0030】
用紙搬送モーター21は、用紙搬送機構を構成する不図示の複数のローラーを回転させ、用紙13を搬送経路14上で搬送する。カッターモーター22は、上記の可動カッター15を降下させ用紙13をカットする。操作部23は、ケース11に配設された複数の操作子により構成され、レシートプリンター1の電源オン/オフや各種操作を行うために用いられる。本実施形態では、特に、前印刷を実行する「通常モード」と、前印刷を実行しない「前印刷休止モード」と、の間でモードを切り替えるために用いられる。CPU24は、各種データの演算処理を行うことによって、レシートプリンター1全体を統括制御する。ROM25は、CPU24が各種処理を実行するための制御プログラムや制御データを格納している。RAM26は、CPU24が各種処理を行う際のワークエリアとして用いられる。フラッシュROM27は、上記の前印刷を行うための前印刷用データPDや後述の共通データを記憶するための各記憶領域を有している。I/F28は、ホスト装置2から印刷データを受信するために用いられる。
【0031】
図3は、レシートプリンター1の機能構成を示したブロック図である。図示のように、レシートプリンター1は、印刷データ取得部31、印刷データ解析部32、前印刷用データ記憶部33、共通データ記憶部34、印刷データ編集部35、ヘッダー判別部36、カウント部37、データ生成部38、データ書き換え部39、モード切替部40、印刷制御部41、印刷部43、および用紙カット部44を備えている。
【0032】
印刷データ取得部31は、主にI/F28により構成され、ホスト装置2からレシートを印刷するための印刷データを取得する。印刷データ解析部32は、取得した印刷データを解析し、ヘッダーデータHDを抽出する。
【0033】
図4は、ホスト装置2から取得した印刷データの代表的な例を示したものである。図示のように、印刷データには、トップ余白51、ヘッダーロゴ52、空白ライン53、本文データ54、ボトム余白55およびカットコマンドが含まれている。トップ余白51は、用紙の先端(被カット位置)から実質印刷部分の先端までに設けられる余白部分である。なお、トップ余白51は、空白データでも良いし、所定の距離分紙送りを行う旨のコマンドで実現しても良い。ヘッダーロゴ52は、レシートに印刷されるいわゆる定型部分であり、店舗情報などが含まれている。空白ライン53は、定型部分であるヘッダーロゴ52と本文データ54との境界を示すためのものである。本文データ54は、都度変更されるデータであり、清算情報などが含まれる。ボトム余白55は、本文データの下端から用紙の後端(非カット位置)までに設けられる余白部分である。なお、ボトム余白55は、空白データでも良いし、所定の距離分紙送りを行う旨のコマンドで実現しても良い。カットコマンドは、用紙をカットする旨のコマンドである。印刷データ解析部32は、取得した印刷データの先端からL1分の長さのデータをヘッダーデータHDとして抽出する。
【0034】
図4(a)に示す印刷データは、トップ余白51の先端から空白ライン53の下端までの長さがL1となるため、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータがヘッダーデータHDとなる。同図(b)に示す印刷データは、トップ余白51の先端から本文データ54の途中までの長さがL1となるため、トップ余白51、ヘッダーロゴ52、空白ライン53および本文データ54の一部を合わせたデータがヘッダーデータHDとなる。同図(c)に示す印刷データは、トップ余白51の先端からヘッダーロゴ52の途中までの長さがL1となるため、トップ余白51およびヘッダーロゴ52の一部を合わせたデータの長さがL1となる。同図(d)に示す印刷データは、トップ余白51の先端から本文データ54の途中までの長さがL1となるため、トップ余白51および本文データ54の一部を合わせたデータがヘッダーデータHDとなる。なお、本印刷データには、ヘッダーロゴ52および空白ライン53が含まれておらず、例えば、売上報告やクーポンなどのヘッダーのない印刷物の印刷データである。このように、レシートプリンター1は、ホスト装置2から複数種類の印刷データを取得する。
【0035】
印刷データ解析部32は、上記のようにヘッダーデータHDを抽出し、抽出したヘッダーデータHD内に空白ライン53が含まれているか否かを解析する。なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く。また、印刷データ解析部32は、複数の印刷データをホスト装置2から取得した場合、印刷データに含まれるカットコマンド以前のデータを1レシート単位の印刷データとして、1レシート単位の印刷データごとに上記の解析を行う。
【0036】
図3に戻り、前印刷用データ記憶部33は、フラッシュROM27内の記憶領域であり、上記した前印刷を行うための前印刷用データPDを、不揮発且つ書き換え可能に記憶する。なお、前印刷用データPDは、レシートのトップマージンに印刷するL1分の長さのデータである。
【0037】
ヘッダー判別部36は、印刷データ解析部32により抽出されたヘッダーデータHDが、前印刷用データ記憶部33に記憶されている前印刷用データPDと「同一」であるか否かを判別する。また、「非同一」と判定した場合、ヘッダーデータHDおよび前印刷用データPDが、各データの先端から連続するデータが一致するか否かを判別する。すなわち、各データの上端部が同一のデータであるか否かを判別する。カウント部37は、ヘッダー判別部36が連続して「非同一」且つ「各データの上端部は一致しない」と判別した回数をカウントして記憶する。
【0038】
データ書き換え部39は、前印刷用データ記憶部33に記憶されているデータを必要に応じて書き換える。本実施形態では、カウント部37のカウント数nが所定数N以上となった場合に、前印刷用データPDをヘッダーデータHDに書き換える。また、後述のデータ生成部38が前印刷用データPDを生成した場合、記憶している前印刷用データPDを当該データに書き換える。
【0039】
印刷データ編集部35は、印刷データ解析部32によりヘッダーデータHDに空白ライン53が含まれていると判定された場合(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く)、取得した印刷データを編集する(図13参照)。この編集処理については、後に詳述する。
【0040】
データ生成部38は、ヘッダー判別部36によりヘッダーデータHDおよび前印刷用データPDの上端部が一致すると判別された場合、新たに前印刷用データPDとして記憶するためのデータを生成する(図16参照)。なお、このデータ生成処理についても、後に後述する。
【0041】
共通データ記憶部34は、前印刷用データ記憶部33と同様、フラッシュROM27の記憶領域であり、データ生成部38によるデータ生成の過程で抽出されたヘッダーデータHDおよび前印刷用データPDの共通データを、不揮発且つ書き換え可能に記憶する。なお、共通データは、ヘッダーデータHDおよび前印刷用データPDの上端部に位置するデータであって、L1よりも短い長さの印刷データである。
【0042】
モード切替部40は、操作部23の操作信号に基づいて、前印刷を実行する「前印刷モード」と、前印刷を実行しない「前印刷休止モード」と、の間でモードを切り替える。
【0043】
印刷部43は、印刷ヘッド17および用紙搬送機構により構成され印刷データの印刷を行う。用紙カット部44は、用紙カット機構により構成され、用紙をカットする。印刷制御部41は、印刷部43および用紙カット部44の制御を行う。
【0044】
以下、図5ないし図19を参照し、レシートプリンター1の印刷処理について説明する。先ず、図5および図6を用い、前印刷を実行しない「前印刷休止モード」におけるレシートプリンター1の印刷処理について説明する。図5に示すように、レシートプリンター1は、印刷データを取得すると(S101)、印刷デーに含まれるヘッダーデータHDを印刷し(S102)、用紙カットを行う(S103)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し(S104)、用紙カットを行う(S105)。
【0045】
図6に示すのは、図5におけるフローにしたがって実施された印刷例である。レシートプリンター1は、前の印刷が終了し用紙カット位置P1に用紙13の先端が位置している状態(図6(a)参照)で印刷データを取得すると、L1の長さ分のヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。これにより、L1分の余白(トップマージン)がレシートから分離される。そして、残データを印刷し、用紙をカットして、レシートが発行される(同図(c))。なお、ヘッダーデータHD印刷後の用紙カットは、レシート以外に用紙片が発生するため、省略しても良い。しかし、トップマージンに何らかのデータが前印刷されていた場合を考慮して、モードが「前印刷休止モード」に切り替えられた直後の印刷では、本用紙カットを行うことが望ましい。
【0046】
次に、図7ないし図19を用いて、前印刷を実行する「前印刷モード」におけるレシートプリンター1の印刷処理について説明する。図7に示すように、レシートプリンター1は、ホスト装置2から印刷データを取得すると(S01)、印刷データの取得が特定のイベント後初めてであった場合(S02:Yes)、フロー「A」に移行する。なお、特定のイベントとは、用紙交換処理、用紙送り処理および電源ON処理をさす。一方、印刷データの取得が特定のイベント後初めてではなかった場合(S02:No)、印刷データからヘッダーデータHDを抽出する(S03)。そして、抽出したヘッダーデータHDに空白ライン53が存在するか否かを解析する(S04)。ヘッダーデータHDに空白ライン53が存在した(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く)場合(S04:Yes)、フロー「B」に移行する。一方、ヘッダーデータHDに空白ライン53が存在していなかった(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を含む)場合(S04:No)、共通データ記憶部34に共通データが記憶されているか否かを判断する(S05)。共通データ記憶部34に共通データが記憶されていた場合(S05:Yes)、フロー「D」に移行する。一方、共通データ記憶部34に共通データが記憶されていなかった場合(S05:No)、ヘッダーデータHDと前印刷用データPDとを比較する(S06)。
【0047】
ヘッダーデータHDと前印刷用データPDとが「同一」であると判別された場合(S07:「同一」)、印刷データからヘッダーデータHDを除いた残データを印刷し(S08)、前印刷用データPDを印刷し(S09)、その後、用紙カットして(S10)、処理を終了する。
【0048】
図8は、図7のS07において、ヘッダーデータHDと前印刷用データPDとが「同一」であると判別された場合の印刷例を示した図である。なお、本印刷例では、図4(a)に示すような、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴであるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDも同様に、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53で構成されている。
【0049】
レシートプリンター1は、前印刷用データPDが前印刷された状態(図8(a)参照)で、印刷データを取得すると、印刷データのヘッダーデータHDを除いた残データのみを印刷する(同図(b)参照)。本印刷例では、残データは本文データ54およびボトム余白55となる。そして、残データを印刷終了後、カットコマンドに基づいて用紙カットを行う前に、記憶している前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。すなわち、レシートプリンター1は、ヘッダーデータHDと前印刷データとが同一であった場合、予め前印刷された部分を利用して、レシート印刷を行う。そして、印刷データに含まれたカットコマンドをトリガとして、次のレシート印刷に備え、記憶している前印刷データに基づいて前印刷を行う。
【0050】
図7に戻り、ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別された場合(S07:「非同一」)、ヘッダーデータHDおよび前印刷用データPDの上端部が一致しているか否かを解析する(S11)。両データの上端部が一致していた場合(S11:Yes)、フロー「C」に移行する。
【0051】
一方、両データの上端部が一致していなかった場合であって(S11:No)、「非同一」且つ「両データの上端部が一致しない」と連続して判別された回数nが所定回数N以上となった場合(S12:Yes)、前印刷用データPDをヘッダーデータHDに書き換える(S13)。そして、ヘッダーデータHDを印刷し(S14)、用紙をカットする(S15)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し(S16)、書き換えられた前印刷用データPDを印刷して(S09)、用紙をカットする(S10)。
【0052】
図9は、図7のS07において、ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別され、S08において、ヘッダーデータHDおよび前印刷用データPDの上端部は一致しないと判別され、さらに、S12において、「非同一」且つ「両データの上端部が一致しない」と連続して判別された回数nが所定回数N以上であった場合の印刷例を示した図である。なお、本印刷例でも、図4(a)に示すような、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーロゴ52であるヘッダーBおよび空白ライン53で構成されている。
【0053】
レシートプリンター1は、前印刷用データPDが前印刷された状態(図9(a)参照)で、印刷データを取得すると、印刷データに含まれたヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。そして、印刷データからヘッダーデータHDを除いた残データを印刷終了後、カットコマンドに基づいて用紙カットを行う前に、書き換えた前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。すなわち、レシートプリンター1は、予め前印刷された(ヘッダーAを含む前印刷用データPD)部分を分離し、改めて、ヘッダーデータHDを含むすべての印刷データを印刷する。そして、次のレシート印刷に備え、書き換えた前印刷用データPD(ヘッダーBを含む前印刷用データPD)を前印刷する。
【0054】
なお、図示を省略したが、レシートプリンター1は、前印刷用データ記憶部33に前印刷用データPDが記憶されていなかった場合、「非同一」と判別し、印刷データから抽出したヘッダーデータHDを前印刷用データPDとして前印刷用データ記憶部33に記憶し、取得したヘッダーデータHDを含む印刷データのすべてを印刷し、ヘッダーデータHDを前印刷する。
【0055】
続いて、図10および図11を用いて、図7のS02において、印刷データの取得が特定のイベント後初めてであった場合について説明する。なお、特定のイベントとは、用紙交換処理、用紙送り処理および電源ON処理をさす。また、各処理においては用紙の頭出しや用紙送り処理などが既に行われ、直ちに印刷可能な状態となっているものとする。図10に示すように、レシートプリンター1は、取得した印刷データを印刷し(S21)、前印刷用データPDを印刷した後(S22)、用紙カットする(S23)。
【0056】
図11は、図10に示すフローにより実施された印刷例を示している。なお、本印刷例でも、図4(a)に示すように、トップ余白51、ヘッダーロゴ52、空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53で構成されている。
【0057】
レシートプリンター1は、用紙13の先端が確実に用紙カット位置P1に位置する状態(同図(a)参照)で、取得した印刷データを印刷する(同図(b)参照)。そして、印刷データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、記憶している前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。
【0058】
このように、特定のイベント後においては、判別結果によらず、取得した印刷データをすべて印刷することにより、用紙交換処理、用紙送り処理および電源ON処理によって、前印刷したヘッダー部分が失われたり、ヘッダー部分の後端が紙送りされて印刷位置P2よりも下流に位置していたりして、前印刷したヘッダー部分を利用できない場合にも、適切なレシートを印刷することができる。なお、本実施形態においては、特定のイベント後、最初に印刷されるレシートは、L1に相当する長さのトップマージンが発生する。なお、トップマージンを分離するために、ヘッダーデータHDを印刷後に用紙カットを行う構成としてもよい。
【0059】
続いて、図12ないし図14を参照し、図7のS04において、ヘッダーデータHD内に空白ライン53が存在していた(なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を含む)場合について説明する。すなわち、図4(b)に示すように、トップ余白51の先端から空白ライン53の後端までの長さががL1よりも短く、ヘッダーデータHDに本文データの一部が含まれる印刷データを取得した場合について説明する。先ず、図12のフローチャートに示すように、レシートプリンター1は、ヘッダーデータHD内に空白ライン53が存在していた場合、印刷データを編集する(S31)。
【0060】
ここで、図13を用いて、図12のS31における印刷データの編集について説明する。同図(a)は、取得した印刷データを示している。レシートプリンター1(印刷データ編集部35)は、印刷データに含まれるヘッダーデータHDを、ヘッダーデータHDの先端から空白ライン53の下端までの第1ヘッダーデータHD1と、空白ライン53の下端からヘッダーデータHDの下端までの第2ヘッダーデータHD2と、に分割する。図示のように、第1ヘッダーデータHD1の長さはl1、第2ヘッダーデータHD2の長さはl2となる。同図(b)は、編集後の印刷データを示している。レシートプリンター1(印刷データ編集部35)は、第2ヘッダーデータHD2の長さl2分の空白データを第1ヘッダーデータHD1の上端に付加する。すなわち、印刷データの先端からL1分のデータ、すなわち編集後の印刷データのヘッダーデータHDには、l2分の空白データとl1分の第1ヘッダーデータHD1とが含まれる。
【0061】
図12に戻り、レシートプリンター1は、上記した印刷データの編集を行った後、l2分空白データおよび第1ヘッダーデータHD1を編集後ヘッダーデータHDとする(S32)。そして、編集後ヘッダーデータHDと前印刷用データPDとを比較する(S33)。編集後ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別された場合(S34:「非同一」)であって、編集後ヘッダーデータHDと前印刷用データPDとが「非同一」と連続して判別された回数nが所定回数N以上となった場合(S35:Yes)、前印刷用データPDを編集後ヘッダーデータHDに書き換える(S36)。そして、編集後ヘッダーデータHDを印刷し(S37)、用紙をカットする(S38)。そして、編集後の印刷データから編集後ヘッダーデータHDを除いた残データを印刷し(S39)、前印刷用データPDを印刷して(S40)、用紙をカットする(S41)。
【0062】
一方、編集後ヘッダーデータHDと前印刷用データPDとが「同一」であると判別された場合(S34:「同一」)、印刷データから編集後ヘッダーデータHDを除き(S42)、残データを印刷し(S43)、前印刷用データPDを印刷し(S40)、その後、用紙カットして(S41)、処理を終了する。
【0063】
図14は、図12のS34において、編集後ヘッダーデータHDと前印刷用データPDとが「非同一」であると判別され、「S35において、「非同一」と判別された回数nが所定回数N以上であった場合の印刷例を示している。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、空白データ、トップ余白51、ヘッダーB52および空白ライン53で構成されている。
【0064】
レシートプリンター1は、前印刷用データPDが前印刷された状態(同図(a)参照)で、印刷データを取得すると、編集後ヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。そして、編集後の印刷データから編集後ヘッダーデータHDを除いた残データを印刷し、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、書き換えた前印刷用データPD(編集後ヘッダーデータHD)を前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。このように、印刷データの上端から空白ライン53の下端までが、L1よりも短い場合、第1ヘッダーデータHD1の先端に、第2ヘッダーデータHD2の長さに相当する空白データを付加したデータを編集後ヘッダーデータHDとし、前印刷用データPDとして記憶することで、前印刷終了後、第1ヘッダーデータHD1の下端が印刷位置に一致する。これにより、次回の印刷が同一のヘッダーデータHDを有する印刷データに基づく印刷である場合、印刷開始が、本文データ54の先端から開始されるため、本文データ54内に用紙送りのピッチズレなどによる印字線の発生を防ぐことができる。
【0065】
続いて、図15および図16を参照して、図7のS11において、ヘッダーデータHDおよび前印刷用データPDの上端部が一致する場合について説明する。図15に示すように、レシートプリンター1は、両データの先端から連続して一致するデータを共通データとして共通データ記憶部34に記憶する(S51)。そして、新たな前印刷用データPDを生成し、生成したデータを前印刷用データPDとして書き換える(S52)。
【0066】
ここで、図16を用いて、前印刷用データPDの生成について説明する。図示のように、レシートプリンター1に記憶されている前印刷用データPDは、トップ余白51、ヘッダーABおよびヘッダーAで構成されるヘッダーロゴ52、および空白ライン53で構成されており(同図(a)参照)、ヘッダーデータHDは、トップ余白51、ヘッダーABおよびヘッダーBで構成されるヘッダーロゴ52、および空白ライン53で構成されている(同図(b)参照)。レシートプリンター1(データ生成部38)は、前印刷用データPDおよびヘッダーデータHDにおいて、各データの先端から連続して一致する共通データ(図示ではトップ余白51およびヘッダーABに相当する)を抽出し(コピーし)、ヘッダーデータHDの先端から共通データ(ヘッダーAB)の下端までの第3ヘッダーデータHD3と、共通データの下端からヘッダーデータHDの下端までの第4ヘッダーデータHD4と、に分割する(同図(b)参照)。図示のように、第3ヘッダーデータHD3の長さはl3、第4ヘッダーデータHD4の長さはl4となる。そして、第4ヘッダーデータHD4の長さであるl4分の空白データを第3ヘッダーデータHD3の上端に付加して、l4分の空白データおよび第3ヘッダーデータHD3から成る新たな前印刷用データPDを生成する(同図(c)参照)。なお、「変換済みヘッダーデータ」とは、データ生成部38が新たに生成した前印刷用データPDをさす。
【0067】
図15に戻り、レシートプリンター1は、取得したヘッダーデータHDを印刷し(S53)、用紙カットする(S54)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し(S55)、新たに生成して書き換えた前印刷用データPDを印刷した後(S56)、用紙カットして(S57)、処理を終了する。
【0068】
図17は、図15に記載のフローを実施した場合の印刷例を示した図である。レシートプリンター1に記憶されている前印刷用データPDおよびヘッダーデータHDは、図16に記載したものと同様であり、生成した前印刷用データPDは、l4分の空白データ、トップ余白51およびヘッダーABで構成されている。レシートプリンター1は、記憶されている前印刷用データPDが前印刷された状態(同図(a)参照)で、印刷データを取得すると、前印刷用データPDとヘッダーデータHDが「非同一」であるため、印刷データに含まれたヘッダーデータHDを印刷し、用紙をカットする(同図(b)参照)。そして、印刷データからヘッダーデータHDを除いた残データを印刷し、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、新たに生成した前印刷用データPD(空白データ、トップ余白51およびヘッダーAB)を前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。
【0069】
続いて、図18および図19を参照して、図7のS05において、共通データ記憶部34に共通データが記憶されている場合について説明する。図18に示すように、レシートプリンター1は、ヘッダーデータHDの上端部が共通データ記憶部34に記憶されている共通データと一致するか否かを解析する(S61)。そして、ヘッダーデータHDの上端部が共通データと一致する場合(S61:Yes)、印刷データから共通データを除き(S62)、残データを印刷する(S63)。そして、前印刷データを印刷し(S64)、用紙カットする(S65)。一方、ヘッダーデータHDの上端部が共通データと一致しない場合(S61:No)、ヘッダーデータHDを印刷し(S66)、用紙カット行って(S67)、印刷データからヘッダーデータHDを除いた残データを印刷する(S68)。そして、前印刷データを印刷し(S64)、用紙カットする(S65)。
【0070】
図19は、図18のS61において、ヘッダーデータHDの上端部が共通データと一致する場合と判定された場合の印刷例を示した図である。レシートプリンター1は、前印刷用データPDとして、l4分の空白データ、トップ余白51およびヘッダーロゴ52を記憶している。すなわち、データ生成部38によって生成された前印刷データPDが記憶されている。また、共通データとして、トップ余白51およびヘッダーABが記憶されている。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーAB、ヘッダーBおよび空白ライン53で構成されている。
【0071】
レシートプリンター1は、前印刷用データPDが前印刷された状態(同図(a)参照)で、共通データ(トップ余白51およびヘッダーAB)を有した印刷データを取得すると、印刷データから共通データを除いた残データを印刷し(同図(b)参照)、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、前印刷用データPD(空白データ、トップ余白51およびヘッダーAB)を前印刷し、前印刷終了後、用紙をカットする(同図(c)参照)。
【0072】
このように、前印刷用データPDとして、共通データを含むデータを記憶しておくことで、次回以降の印刷データのヘッダーデータHDと前印刷用データPDとが、完全に一致していない場合であっても、前印刷した共通データを利用して、次のレシート印刷を行うことができる。これによれば、前印刷用データPDとヘッダーデータHDとが一致しない場合であっても、発生するトップマージンをL1からl4に抑えることができる。
【0073】
これまで説明したレシートプリンター1およびレシートプリンター1の制御方法によれば、受信した印刷データに含まれるヘッダーデータHDと、予め記憶している前印刷用データPDと、を比較し、「非同一」であった場合にのみ、印刷データに含まれるヘッダーデータHDを改めて印刷するため、ヘッダー(トップマージンにおける印刷内容)の印刷内容が変更された場合であっても、個別に前印刷用データPDを送信して書き換えを行うことなく、所望のレシート印刷を行うことができる。よって、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに所望のレシートを印刷することができる。
【0074】
なお、図4(c)および(d)に示すような、ヘッダーデータHDとその他のデータの境界において印刷データが連続して存在している印刷データのヘッダーデータHDを、前印刷用データPDとして記憶している場合を考慮して、ヘッダーデータHDと前印刷データPDとが「非同一」と判別され、ヘッダーデータHDを改めて印刷する場合は、印刷データの先端に空白データを付加しても良い。これによれば、前印刷された不要な部分を切り取る場合、カット位置が、空白データ上に位置するため、前印刷の印字の一部がレシートの先端部分に残るのを防ぐことができる。
【0075】
また、複数の印刷データを取得した場合、カットコマンドではなく、所定の文字列を用いて1レシート単位の印刷データを認識する構成としてもよい。
【0076】
また、前印刷データPDを書き換える基準となる「非同一」と連続して判別された回数Nは、ユーザーの操作によって所望の回数が設定できる構成としてもよい。この場合、回数Nを設定する設定部をさらに備えていることが好ましい。
【0077】
また、上記の説明において、ヘッダーロゴ52を含む印刷データを例示したが、印刷データの定型部分は、画像データではなくテキストデータで構成されていても良い。
【0078】
なお、上記の各実施形態に示した、レシートプリンター1の各構成要素をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【0079】
また、上述した実施例によらず、レシートプリンター1の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【符号の説明】
【0080】
1:レシートプリンター 2:ホスト装置 13:用紙 15:可動カッター 17:印刷ヘッド 31:印刷データ取得部 32:印刷データ解析部 33:前印刷用データ記憶部 34:共通データ記憶部 35:印刷データ編集部 36:ヘッダー判別部 37:カウント部 38:データ生成部 39:データ書き換え部 40:モード切替部 41:印刷制御部 43:印刷部 44:用紙カット部 HD:ヘッダーデータ PD:前印刷用データ P1:用紙カット位置 P2:印刷位置
【特許請求の範囲】
【請求項1】
印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターであって、
前記次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶部と、
上位装置から、前記印刷データを取得する印刷データ取得部と、
取得した前記印刷データの前記トップマージン分のデータであるヘッダーデータと、前記前印刷用データと、が同一であるか否かを判別するヘッダー判別部と、
前記ヘッダー判別部の判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、
前記印刷制御部は、
前記ヘッダー判別部の判別結果が「同一」であった場合、取得した前記印刷データから前記ヘッダーデータを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行い、
前記ヘッダー判別部の判別結果が「非同一」であった場合、取得した前記印刷データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とするレシートプリンター。
【請求項2】
前記ヘッダー判別部の判別結果が「非同一」であった場合、前記印刷制御部による印刷開始前に、前記前印刷用データを、取得した前記印刷データの前記ヘッダーデータに書き換えるデータ書き換え部をさらに備えたことを特徴とする請求項1に記載のレシートプリンター。
【請求項3】
前記ヘッダー判別部の判別結果が連続して「非同一」であった回数をカウントするカウント部をさらに備え、
前記データ書き換え部は、前記カウント部のカウント数が所定回数以上となった場合に、前記前印刷用データを書き換えることを特徴とする請求項2に記載のレシートプリンター。
【請求項4】
前記印刷制御部は、前記判別結果が「非同一」であった場合、取得した前記印刷データの印刷において、前記ヘッダーデータを印刷した後、用紙カットを行い、前記印刷データから前記ヘッダーデータを除いた残データを印刷することを特徴とする請求項1ないし3のいずれか1項に記載のレシートプリンター。
【請求項5】
前記ヘッダーデータに、レシート幅方向に伸びる少なくとも1ドット幅の空白ラインが含まれる場合、前記ヘッダーデータを、当該ヘッダーデータの先端から前記空白ラインの下端までの第1ヘッダーデータと、前記空白ラインの下端から当該ヘッダーデータの下端までの第2ヘッダーデータと、に分割し、前記第1ヘッダーデータの先端に前記第2ヘッダーデータの長さに相当する空白データを付加する印刷データ編集部をさらに備え、
前記データ書き換え部は、前記前印刷用データを、前記空白データが付加された前記第1ヘッダーデータに書き換えることを特徴とする請求項2ないし4のいずれか1項に記載のレシートプリンター。
【請求項6】
前記ヘッダー判別部の判別結果が「非同一」であった場合であって、前記ヘッダーデータおよび前記前印刷用データの一部分が一致する場合、前記ヘッダーデータにおける一致部分以外の残データを空白データに変換した変換済みヘッダーデータを生成するデータ生成部をさらに備え、
前記データ書き換え部は、前記前印刷用データを、前記変換済みヘッダーデータに書き換えることを特徴とする請求項2ないし4のいずれか1項に記載のレシートプリンター。
【請求項7】
前記ヘッダー判別部の判別結果が「非同一」であった場合であって、前記ヘッダーデータおよび前記前印刷用データの一部分が一致する場合、一致部分を共通データとして記憶する共通データ記憶部をさらに備え、
前記ヘッダー判別部は、前記共通データ記憶部にデータが記憶されている場合、取得した前記印刷データの前記ヘッダーデータに前記共通データが含まれているか否かを判別し、
前記印刷制御部は、前記印刷データから前記共通データを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とする請求項6に記載のレシートプリンター。
【請求項8】
前記印刷制御部は、用紙交換処理、用紙送り処理および電源ON処理のいずれかが実行された直後の印刷において、前記ヘッダー判別部の判別結果にかかわらず、取得した前記印刷データの印刷を行った後、前記前印刷用データを印刷して用紙カットを行うことを特徴とする請求項1ないし7のいずれか1項に記載のレシートプリンター。
【請求項9】
用紙カットの前に前記前印刷用データの印刷を実行する前印刷モードと、用紙カットの前に前記前印刷用データの印刷を実行しない前印刷休止モードと、の間でモードを切り替えるモード切替部をさらに備え、
前記印刷制御部は、前記通常モード時のみ機能することを特徴とする請求項1ないし8のいずれか1項に記載のレシートプリンター。
【請求項10】
印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターの制御方法であって、
前記レシートプリンターが、
前記次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶ステップと、
上位装置から、前記印刷データを取得する印刷データ取得ステップと、
取得した前記印刷データの前記トップマージン分のデータであるヘッダーデータと、前記前印刷用データと、が同一であるか否かを判別するヘッダー判別ステップと、
前記ヘッダー判別ステップの判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御ステップと、を備え、
前記印刷制御ステップにおいて、前記レシートプリンターは、
前記ヘッダー判別部の判別結果が「同一」であった場合、取得した前記印刷データから前記ヘッダーデータを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行い、
前記ヘッダー判別部の判別結果が「非同一」であった場合、取得した前記印刷データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とするレシートプリンターの制御方法。
【請求項11】
コンピューターに請求項10に記載のレシートプリンターの制御方法における各ステップを実行させるためのプログラムを記録したコンピューター読み取り可能な記録媒体。
【請求項1】
印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターであって、
前記次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶部と、
上位装置から、前記印刷データを取得する印刷データ取得部と、
取得した前記印刷データの前記トップマージン分のデータであるヘッダーデータと、前記前印刷用データと、が同一であるか否かを判別するヘッダー判別部と、
前記ヘッダー判別部の判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、
前記印刷制御部は、
前記ヘッダー判別部の判別結果が「同一」であった場合、取得した前記印刷データから前記ヘッダーデータを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行い、
前記ヘッダー判別部の判別結果が「非同一」であった場合、取得した前記印刷データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とするレシートプリンター。
【請求項2】
前記ヘッダー判別部の判別結果が「非同一」であった場合、前記印刷制御部による印刷開始前に、前記前印刷用データを、取得した前記印刷データの前記ヘッダーデータに書き換えるデータ書き換え部をさらに備えたことを特徴とする請求項1に記載のレシートプリンター。
【請求項3】
前記ヘッダー判別部の判別結果が連続して「非同一」であった回数をカウントするカウント部をさらに備え、
前記データ書き換え部は、前記カウント部のカウント数が所定回数以上となった場合に、前記前印刷用データを書き換えることを特徴とする請求項2に記載のレシートプリンター。
【請求項4】
前記印刷制御部は、前記判別結果が「非同一」であった場合、取得した前記印刷データの印刷において、前記ヘッダーデータを印刷した後、用紙カットを行い、前記印刷データから前記ヘッダーデータを除いた残データを印刷することを特徴とする請求項1ないし3のいずれか1項に記載のレシートプリンター。
【請求項5】
前記ヘッダーデータに、レシート幅方向に伸びる少なくとも1ドット幅の空白ラインが含まれる場合、前記ヘッダーデータを、当該ヘッダーデータの先端から前記空白ラインの下端までの第1ヘッダーデータと、前記空白ラインの下端から当該ヘッダーデータの下端までの第2ヘッダーデータと、に分割し、前記第1ヘッダーデータの先端に前記第2ヘッダーデータの長さに相当する空白データを付加する印刷データ編集部をさらに備え、
前記データ書き換え部は、前記前印刷用データを、前記空白データが付加された前記第1ヘッダーデータに書き換えることを特徴とする請求項2ないし4のいずれか1項に記載のレシートプリンター。
【請求項6】
前記ヘッダー判別部の判別結果が「非同一」であった場合であって、前記ヘッダーデータおよび前記前印刷用データの一部分が一致する場合、前記ヘッダーデータにおける一致部分以外の残データを空白データに変換した変換済みヘッダーデータを生成するデータ生成部をさらに備え、
前記データ書き換え部は、前記前印刷用データを、前記変換済みヘッダーデータに書き換えることを特徴とする請求項2ないし4のいずれか1項に記載のレシートプリンター。
【請求項7】
前記ヘッダー判別部の判別結果が「非同一」であった場合であって、前記ヘッダーデータおよび前記前印刷用データの一部分が一致する場合、一致部分を共通データとして記憶する共通データ記憶部をさらに備え、
前記ヘッダー判別部は、前記共通データ記憶部にデータが記憶されている場合、取得した前記印刷データの前記ヘッダーデータに前記共通データが含まれているか否かを判別し、
前記印刷制御部は、前記印刷データから前記共通データを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とする請求項6に記載のレシートプリンター。
【請求項8】
前記印刷制御部は、用紙交換処理、用紙送り処理および電源ON処理のいずれかが実行された直後の印刷において、前記ヘッダー判別部の判別結果にかかわらず、取得した前記印刷データの印刷を行った後、前記前印刷用データを印刷して用紙カットを行うことを特徴とする請求項1ないし7のいずれか1項に記載のレシートプリンター。
【請求項9】
用紙カットの前に前記前印刷用データの印刷を実行する前印刷モードと、用紙カットの前に前記前印刷用データの印刷を実行しない前印刷休止モードと、の間でモードを切り替えるモード切替部をさらに備え、
前記印刷制御部は、前記通常モード時のみ機能することを特徴とする請求項1ないし8のいずれか1項に記載のレシートプリンター。
【請求項10】
印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターの制御方法であって、
前記レシートプリンターが、
前記次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶ステップと、
上位装置から、前記印刷データを取得する印刷データ取得ステップと、
取得した前記印刷データの前記トップマージン分のデータであるヘッダーデータと、前記前印刷用データと、が同一であるか否かを判別するヘッダー判別ステップと、
前記ヘッダー判別ステップの判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御ステップと、を備え、
前記印刷制御ステップにおいて、前記レシートプリンターは、
前記ヘッダー判別部の判別結果が「同一」であった場合、取得した前記印刷データから前記ヘッダーデータを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行い、
前記ヘッダー判別部の判別結果が「非同一」であった場合、取得した前記印刷データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とするレシートプリンターの制御方法。
【請求項11】
コンピューターに請求項10に記載のレシートプリンターの制御方法における各ステップを実行させるためのプログラムを記録したコンピューター読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2013−10259(P2013−10259A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−144672(P2011−144672)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]