印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターであって、前記次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶部と、上位装置から、前記印刷データを取得する印刷データ取得部と、取得した前記印刷データの前記トップマージン分のデータであるヘッダーデータと、前記前印刷用データと、が同一であるか否かを判別するヘッダー判別部と、前記ヘッダー判別部の判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、前記印刷制御部は、前記ヘッダー判別部の判別結果が同一であった場合、取得した前記印刷データから前記ヘッダーデータを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行い、前記ヘッダー判別部の判別結果が非同一であった場合、取得した前記印刷データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とするレシートプリンター。前記ヘッダー判別部の判別結果が非同一であった場合、前記印刷制御部による印刷開始前に、前記前印刷用データを、取得した前記印刷データの前記ヘッダーデータに書き換えるデータ書き換え部をさらに備えたことを特徴とする請求項1に記載のレシートプリンター。前記ヘッダー判別部の判別結果が連続して非同一であった回数をカウントするカウント部をさらに備え、前記データ書き換え部は、前記カウント部のカウント数が所定回数以上となった場合に、前記前印刷用データを書き換えることを特徴とする請求項2に記載のレシートプリンター。前記印刷制御部は、前記判別結果が非同一であった場合、取得した前記印刷データの印刷において、前記ヘッダーデータを印刷した後、用紙カットを行い、前記印刷データから前記ヘッダーデータを除いた残データを印刷することを特徴とする請求項1ないし3のいずれか1項に記載のレシートプリンター。前記ヘッダーデータに、レシート幅方向に伸びる少なくとも1ドット幅の空白ラインが含まれる場合、前記ヘッダーデータを、当該ヘッダーデータの先端から前記空白ラインの下端までの第1ヘッダーデータと、前記空白ラインの下端から当該ヘッダーデータの下端までの第2ヘッダーデータと、に分割し、前記第1ヘッダーデータの先端に前記第2ヘッダーデータの長さに相当する空白データを付加する印刷データ編集部をさらに備え、前記データ書き換え部は、前記前印刷用データを、前記空白データが付加された前記第1ヘッダーデータに書き換えることを特徴とする請求項2ないし4のいずれか1項に記載のレシートプリンター。前記ヘッダー判別部の判別結果が非同一であった場合であって、前記ヘッダーデータおよび前記前印刷用データの一部分が一致する場合、前記ヘッダーデータにおける一致部分以外の残データを空白データに変換した変換済みヘッダーデータを生成するデータ生成部をさらに備え、前記データ書き換え部は、前記前印刷用データを、前記変換済みヘッダーデータに書き換えることを特徴とする請求項2ないし4のいずれか1項に記載のレシートプリンター。前記ヘッダー判別部の判別結果が非同一であった場合であって、前記ヘッダーデータおよび前記前印刷用データの一部分が一致する場合、一致部分を共通データとして記憶する共通データ記憶部をさらに備え、前記ヘッダー判別部は、前記共通データ記憶部にデータが記憶されている場合、取得した前記印刷データの前記ヘッダーデータに前記共通データが含まれているか否かを判別し、前記印刷制御部は、前記印刷データから前記共通データを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とする請求項6に記載のレシートプリンター。前記印刷制御部は、用紙交換処理、用紙送り処理および電源ON処理のいずれかが実行された直後の印刷において、前記ヘッダー判別部の判別結果にかかわらず、取得した前記印刷データの印刷を行った後、前記前印刷用データを印刷して用紙カットを行うことを特徴とする請求項1ないし7のいずれか1項に記載のレシートプリンター。用紙カットの前に前記前印刷用データの印刷を実行する前印刷モードと、用紙カットの前に前記前印刷用データの印刷を実行しない前印刷休止モードと、の間でモードを切り替えるモード切替部をさらに備え、前記印刷制御部は、前記通常モード時のみ機能することを特徴とする請求項1ないし8のいずれか1項に記載のレシートプリンター。印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターの制御方法であって、前記レシートプリンターが、前記次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶ステップと、上位装置から、前記印刷データを取得する印刷データ取得ステップと、取得した前記印刷データの前記トップマージン分のデータであるヘッダーデータと、前記前印刷用データと、が同一であるか否かを判別するヘッダー判別ステップと、前記ヘッダー判別ステップの判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御ステップと、を備え、前記印刷制御ステップにおいて、前記レシートプリンターは、前記ヘッダー判別部の判別結果が同一であった場合、取得した前記印刷データから前記ヘッダーデータを除いた残データを印刷した後、前記前印刷用データを印刷して用紙カットを行い、前記ヘッダー判別部の判別結果が非同一であった場合、取得した前記印刷データを印刷した後、前記前印刷用データを印刷して用紙カットを行うことを特徴とするレシートプリンターの制御方法。コンピューターに請求項10に記載のレシートプリンターの制御方法における各ステップを実行させるためのプログラムを記録したコンピューター読み取り可能な記録媒体。ところで、レシートプリンターは、例えば、領収書、クレジット決済控え書、クーポンなど必要に応じてレシート以外の印刷を行う場合がある。これらのイレギュラーな印刷は、ヘッダートップロゴの内容がレシートと異なったり、ヘッダー自体が無いこともある。しかし、上記の構成では、ヘッダーの有無やヘッダーの内容を変更したい場合、印刷を実行する前に、予め記憶されているヘッダー印刷用の印刷データの書き換え処理を行わなければならない。また、ヘッダー印刷用の印刷データを受信した場合は、必ず印刷データを書き換えるため、同一のヘッダー印刷用の印刷データを受信した場合は、不要な書き換え処理を行ってしまう。本発明は、上記の点に鑑み、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに印刷可能なレシートプリンター、レシートプリンターの制御方法および記録媒体を提供することを目的とする。本発明のレシートプリンターは、印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターであって、次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶部と、上位装置から、印刷データを取得する印刷データ取得部と、取得した印刷データのトップマージン分のデータであるヘッダーデータと、前印刷用データと、が同一であるか否かを判別するヘッダー判別部と、ヘッダー判別部の判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御部と、を備え、印刷制御部は、ヘッダー判別部の判別結果が同一であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、ヘッダー判別部の判別結果が非同一であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行うことを特徴とする。本発明のレシートプリンターの制御方法は、印刷位置の下流側に所定の離間距離を隔てて用紙カット位置が設けられ、1レシート単位の印刷データの印刷終了後、次のレシートの前記離間距離に相当するトップマージンにおける印刷を行い、用紙カットを行うレシートプリンターの制御方法であって、レシートプリンターが、次のレシートのトップマージンにおける印刷を行うための前印刷用データを記憶する前印刷用データ記憶ステップと、上位装置から、印刷データを取得する印刷データ取得ステップと、取得した印刷データのトップマージン分のデータであるヘッダーデータと、前印刷用データと、が同一であるか否かを判別するヘッダー判別ステップと、ヘッダー判別ステップの判別結果に応じて、印刷部および用紙カット部の制御を行う印刷制御ステップと、を備え、印刷制御ステップにおいて、レシートプリンターは、ヘッダー判別部の判別結果が同一であった場合、取得した印刷データからヘッダーデータを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行い、ヘッダー判別部の判別結果が非同一であった場合、取得した印刷データを印刷した後、前印刷用データを印刷して用紙カットを行うことを特徴とする。本発明の記録媒体は、コンピューターに上記のレシートプリンターの制御方法における各ステップを実行させるためのプログラムをコンピューター読み取り可能に記録したことを特徴とする。これらの構成によれば、受信した印刷データに含まれるヘッダーデータと、予め記憶している前印刷用データと、を比較し、非同一であった場合にのみ、印刷データに含まれるヘッダーデータを印刷するため、ヘッダーの印刷内容が変更された場合であっても、個別に前印刷用データを送信して書き換えを行うことなく、所望のレシート印刷を行うことができる。よって、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに所望のレシートを印刷することができる。また、用紙カット前には、予め記憶されている前印刷用データが印刷されるため、当該印刷のみヘッダーの印刷内容が異なっているイレギュラーな印刷であった場合、ヘッダーデータを元のデータに書き換える処理を省略できる。この場合、ヘッダー判別部の判別結果が非同一であった場合、印刷制御部による印刷開始前に、前印刷用データを、取得した印刷データのヘッダーデータに書き換えるデータ書き換え部をさらに備えていることが好ましい。この構成によれば、個別に前印刷用データを送信して書き換えを行うことなく、印刷データの送信によって、当該印刷におけるヘッダーの印刷内容を変更させると共に、次回以降のヘッダーの印刷内容も変更させることができる。この場合、ヘッダー判別部の判別結果が連続して非同一であった回数をカウントするカウント部をさらに備え、データ書き換え部は、カウント部のカウント数が所定回数以上となった場合に、前印刷用データを書き換えることが好ましい。この構成によれば、例えば、1度だけヘッダーの印刷内容が異なっているイレギュラーな印刷であった場合などに、次回以降のヘッダーの印刷データである前印刷用データが書き換えられないため、利便性が良い。なお、所定回数の数を設定する設定部をさらに備えることが好ましい。上記のレシートプリンターにおいて、印刷制御部は、判別結果が非同一であった場合、取得した印刷データの印刷において、ヘッダーデータを印刷した後、用紙カットを行い、印刷データからヘッダーデータを除いた残データを印刷することが好ましい。この構成によれば、前印刷された不要部分を自動で切り取ることができる。上記のレシートプリンターにおいて、ヘッダーデータに、レシート幅方向に伸びる少なくとも1ドット幅の空白ラインが含まれる場合、ヘッダーデータを、当該ヘッダーデータの先端から空白ラインの下端までの第1ヘッダーデータと、空白ラインの下端から当該ヘッダーデータのまでの第2ヘッダーデータと、に分割し、第1ヘッダーデータの先端に第2ヘッダーデータの長さに相当する空白データを付加する印刷データ編集部をさらに備え、データ書き換え部は、前印刷用データを、空白データが付加された第1ヘッダーデータに書き換えることが好ましい。この構成によれば、レシートに印刷される定型部分第1ヘッダーデータに相当するがトップマージンよりも短い場合、空白データが先端に付加された第1ヘッダーデータが前印刷されるため、前印刷終了後、定型部分の下端が印刷位置に一致する。これにより、次回の印刷が定型部分と定型部分以外の印刷部分との境界から開始されるため、定型部分以外の印刷部分内に用紙送りのピッチズレなどによる印字線の発生を防ぐことができる。上記のレシートプリンターにおいて、ヘッダー判別部の判別結果が非同一であった場合であって、ヘッダーデータおよび前印刷用データの一部分が一致する場合、ヘッダーデータにおける一致部分以外の残データを空白データに変換した変換済みヘッダーデータを生成するデータ生成部をさらに備え、データ書き換え部は、前印刷用データを、変換済みヘッダーデータに書き換えることが好ましい。この場合、ヘッダー判別部の判別結果が非同一であった場合であって、ヘッダーデータおよび前印刷用データの一部分が一致する場合、一致部分を共通データとして記憶する共通データ記憶部をさらに備え、ヘッダー判別部は、共通データ記憶部にデータが記憶されている場合、取得した印刷データのヘッダーデータに前記共通データが含まれているか否かを判別し、印刷制御部は、印刷データから共通データを除いた残データを印刷した後、前印刷用データを印刷して用紙カットを行うことが好ましい。この構成によれば、ヘッダーデータおよび前印刷用データの一致部分のみを前印刷するため、次回の印刷においてヘッダーデータおよび前印刷用データがすべて一致しなくても、前印刷した印刷結果を次回の印刷に利用することができる。なお、一致部分同一データは、ヘッダーデータおよび前印刷用データの上端部分であって、一致部分の先端に、ヘッダーデータから同一データを除いた不一致部分の長さに相当する空白データを付加することが好ましい。これによれば、前印刷されるヘッダーデータの一致部分と、次の印刷において印刷される不一致部分との間に、空白が発生するのを防ぐことができる。上記のレシートプリンターにおいて、印刷制御部は、用紙交換処理、用紙送り処理および電源ON処理のいずれかが実行された直後の印刷において、ヘッダー判別部の判別結果にかかわらず、取得した印刷データの印刷を行った後、前印刷用データを印刷して用紙カットを行うことが好ましい。この構成によれば、前印刷したヘッダー部分の用紙が失われたり、ヘッダー部分の後端が紙送りされて印刷位置よりも下流に位置していたりする場合に、取得した印刷データに含まれるヘッダーデータを印刷することで、適切なレシートを印刷することができる。上記のレシートプリンターにおいて、用紙カットの前に前印刷用データの印刷を実行する前印刷モードと、用紙カットの前に前印刷用データの印刷を実行しない前印刷休止モードと、の間でモードを切り替えるモード切替部をさらに備え、印刷制御部は、通常モード時のみ機能することが好ましい。この構成によれば、ユーザーの要望に応じて前印刷の有無を選択できる。例えば、ヘッダーを有しない印刷を連続して行う場合は、前印刷休止モードを選択できるため、不要な前印刷による用紙の消費を抑えることができる。なお、モードの切替えは、レシートプリンターの所定の操作によって行われてもよいし、上位装置からの制御コマンドに基づいて行われてもよいし、プリンタドライバの設定を変更させることによって行われても良い。以下、添付の図面を参照し、本発明の一実施形態に係るレシートプリンターおよびレシートプリンターの制御方法について説明する。なお、本発明のレシートプリンターは、ホスト装置上位装置に接続されて用いられ、ホスト装置から取得した印刷データに基づいて、連続紙用紙に対して印刷および用紙カットを行ってレシートを発行する。図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とする。レシートプリンター1は、不図示の用紙搬送機構により用紙13を搬送経路14上で搬送しながら、印刷ヘッド17により印刷を行う。上記のように、本レシートプリンター1は、用紙カット位置P1が印刷位置P2に対してL1分の距離を隔てて下流側に位置しているため、用紙13の先端が用紙カット位置P1にある状態で印刷を開始すると、印刷結果であるレシートにはL1に相当する余白領域トップマージンが発生する。本発明のレシートプリンター1は、このトップマージンの発生を防ぐべく、印刷の終了後、次のレシート印刷に備えてL1分の前印刷を行ってから用紙をカットする。図2は、レシートプリンター1の制御構成を示したブロック図である。図示のように、レシートプリンター1は、用紙搬送モーター21、カッターモーター22、印刷ヘッド17、操作部23、CPU24CentralProcessingUnit、ROM25ReadOnlyMemory、RAM26RandomAccessMemory、フラッシュROM27、およびI/F28を有している。用紙搬送モーター21は、用紙搬送機構を構成する不図示の複数のローラーを回転させ、用紙13を搬送経路14上で搬送する。カッターモーター22は、上記の可動カッター15を降下させ用紙13をカットする。操作部23は、ケース11に配設された複数の操作子により構成され、レシートプリンター1の電源オン/オフや各種操作を行うために用いられる。本実施形態では、特に、前印刷を実行する通常モードと、前印刷を実行しない前印刷休止モードと、の間でモードを切り替えるために用いられる。CPU24は、各種データの演算処理を行うことによって、レシートプリンター1全体を統括制御する。ROM25は、CPU24が各種処理を実行するための制御プログラムや制御データを格納している。RAM26は、CPU24が各種処理を行う際のワークエリアとして用いられる。フラッシュROM27は、上記の前印刷を行うための前印刷用データPDや後述の共通データを記憶するための各記憶領域を有している。I/F28は、ホスト装置2から印刷データを受信するために用いられる。図3は、レシートプリンター1の機能構成を示したブロック図である。図示のように、レシートプリンター1は、印刷データ取得部31、印刷データ解析部32、前印刷用データ記憶部33、共通データ記憶部34、印刷データ編集部35、ヘッダー判別部36、カウント部37、データ生成部38、データ書き換え部39、モード切替部40、印刷制御部41、印刷部43、および用紙カット部44を備えている。印刷データ取得部31は、主にI/F28により構成され、ホスト装置2からレシートを印刷するための印刷データを取得する。印刷データ解析部32は、取得した印刷データを解析し、ヘッダーデータHDを抽出する。図4は、ホスト装置2から取得した印刷データの代表的な例を示したものである。図示のように、印刷データには、トップ余白51、ヘッダーロゴ52、空白ライン53、本文データ54、ボトム余白55およびカットコマンドが含まれている。トップ余白51は、用紙の先端被カット位置から実質印刷部分の先端までに設けられる余白部分である。なお、トップ余白51は、空白データでも良いし、所定の距離分紙送りを行う旨のコマンドで実現しても良い。ヘッダーロゴ52は、レシートに印刷されるいわゆる定型部分であり、店舗情報などが含まれている。空白ライン53は、定型部分であるヘッダーロゴ52と本文データ54との境界を示すためのものである。本文データ54は、都度変更されるデータであり、清算情報などが含まれる。ボトム余白55は、本文データの下端から用紙の後端非カット位置までに設けられる余白部分である。なお、ボトム余白55は、空白データでも良いし、所定の距離分紙送りを行う旨のコマンドで実現しても良い。カットコマンドは、用紙をカットする旨のコマンドである。印刷データ解析部32は、取得した印刷データの先端からL1分の長さのデータをヘッダーデータHDとして抽出する。図4aに示す印刷データは、トップ余白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から複数種類の印刷データを取得する。印刷データ解析部32は、上記のようにヘッダーデータHDを抽出し、抽出したヘッダーデータHD内に空白ライン53が含まれているか否かを解析する。なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く。また、印刷データ解析部32は、複数の印刷データをホスト装置2から取得した場合、印刷データに含まれるカットコマンド以前のデータを1レシート単位の印刷データとして、1レシート単位の印刷データごとに上記の解析を行う。図3に戻り、前印刷用データ記憶部33は、フラッシュROM27内の記憶領域であり、上記した前印刷を行うための前印刷用データPDを、不揮発且つ書き換え可能に記憶する。なお、前印刷用データPDは、レシートのトップマージンに印刷するL1分の長さのデータである。ヘッダー判別部36は、印刷データ解析部32により抽出されたヘッダーデータHDが、前印刷用データ記憶部33に記憶されている前印刷用データPDと同一であるか否かを判別する。また、非同一と判定した場合、ヘッダーデータHDおよび前印刷用データPDが、各データの先端から連続するデータが一致するか否かを判別する。すなわち、各データの上端部が同一のデータであるか否かを判別する。カウント部37は、ヘッダー判別部36が連続して非同一且つ各データの上端部は一致しないと判別した回数をカウントして記憶する。データ書き換え部39は、前印刷用データ記憶部33に記憶されているデータを必要に応じて書き換える。本実施形態では、カウント部37のカウント数nが所定数N以上となった場合に、前印刷用データPDをヘッダーデータHDに書き換える。また、後述のデータ生成部38が前印刷用データPDを生成した場合、記憶している前印刷用データPDを当該データに書き換える。印刷データ編集部35は、印刷データ解析部32によりヘッダーデータHDに空白ライン53が含まれていると判定された場合なお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を除く、取得した印刷データを編集する図13参照。この編集処理については、後に詳述する。データ生成部38は、ヘッダー判別部36によりヘッダーデータHDおよび前印刷用データPDの上端部が一致すると判別された場合、新たに前印刷用データPDとして記憶するためのデータを生成する図16参照。なお、このデータ生成処理についても、後に後述する。共通データ記憶部34は、前印刷用データ記憶部33と同様、フラッシュROM27の記憶領域であり、データ生成部38によるデータ生成の過程で抽出されたヘッダーデータHDおよび前印刷用データPDの共通データを、不揮発且つ書き換え可能に記憶する。なお、共通データは、ヘッダーデータHDおよび前印刷用データPDの上端部に位置するデータであって、L1よりも短い長さの印刷データである。モード切替部40は、操作部23の操作信号に基づいて、前印刷を実行する前印刷モードと、前印刷を実行しない前印刷休止モードと、の間でモードを切り替える。印刷部43は、印刷ヘッド17および用紙搬送機構により構成され印刷データの印刷を行う。用紙カット部44は、用紙カット機構により構成され、用紙をカットする。印刷制御部41は、印刷部43および用紙カット部44の制御を行う。以下、図5ないし図19を参照し、レシートプリンター1の印刷処理について説明する。先ず、図5および図6を用い、前印刷を実行しない前印刷休止モードにおけるレシートプリンター1の印刷処理について説明する。図5に示すように、レシートプリンター1は、印刷データを取得するとS101、印刷デーに含まれるヘッダーデータHDを印刷しS102、用紙カットを行うS103。そして、印刷データからヘッダーデータHDを除いた残データを印刷しS104、用紙カットを行うS105。図6に示すのは、図5におけるフローにしたがって実施された印刷例である。レシートプリンター1は、前の印刷が終了し用紙カット位置P1に用紙13の先端が位置している状態図6a参照で印刷データを取得すると、L1の長さ分のヘッダーデータHDを印刷し、用紙をカットする同図b参照。これにより、L1分の余白トップマージンがレシートから分離される。そして、残データを印刷し、用紙をカットして、レシートが発行される同図c。なお、ヘッダーデータHD印刷後の用紙カットは、レシート以外に用紙片が発生するため、省略しても良い。しかし、トップマージンに何らかのデータが前印刷されていた場合を考慮して、モードが前印刷休止モードに切り替えられた直後の印刷では、本用紙カットを行うことが望ましい。次に、図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。ヘッダーデータHDと前印刷用データPDとが同一であると判別された場合S07:同一、印刷データからヘッダーデータHDを除いた残データを印刷しS08、前印刷用データPDを印刷しS09、その後、用紙カットしてS10、処理を終了する。図8は、図7のS07において、ヘッダーデータHDと前印刷用データPDとが同一であると判別された場合の印刷例を示した図である。なお、本印刷例では、図4aに示すような、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴであるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDも同様に、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53で構成されている。レシートプリンター1は、前印刷用データPDが前印刷された状態図8a参照で、印刷データを取得すると、印刷データのヘッダーデータHDを除いた残データのみを印刷する同図b参照。本印刷例では、残データは本文データ54およびボトム余白55となる。そして、残データを印刷終了後、カットコマンドに基づいて用紙カットを行う前に、記憶している前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする同図c参照。すなわち、レシートプリンター1は、ヘッダーデータHDと前印刷データとが同一であった場合、予め前印刷された部分を利用して、レシート印刷を行う。そして、印刷データに含まれたカットコマンドをトリガとして、次のレシート印刷に備え、記憶している前印刷データに基づいて前印刷を行う。図7に戻り、ヘッダーデータHDと前印刷用データPDとが非同一であると判別された場合S07:非同一、ヘッダーデータHDおよび前印刷用データPDの上端部が一致しているか否かを解析するS11。両データの上端部が一致していた場合S11:Yes、フローCに移行する。一方、両データの上端部が一致していなかった場合であってS11:No、非同一且つ両データの上端部が一致しないと連続して判別された回数nが所定回数N以上となった場合S12:Yes、前印刷用データPDをヘッダーデータHDに書き換えるS13。そして、ヘッダーデータHDを印刷しS14、用紙をカットするS15。そして、印刷データからヘッダーデータHDを除いた残データを印刷しS16、書き換えられた前印刷用データPDを印刷してS09、用紙をカットするS10。図9は、図7のS07において、ヘッダーデータHDと前印刷用データPDとが非同一であると判別され、S08において、ヘッダーデータHDおよび前印刷用データPDの上端部は一致しないと判別され、さらに、S12において、非同一且つ両データの上端部が一致しないと連続して判別された回数nが所定回数N以上であった場合の印刷例を示した図である。なお、本印刷例でも、図4aに示すような、トップ余白51、ヘッダーロゴ52および空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーロゴ52であるヘッダーBおよび空白ライン53で構成されている。レシートプリンター1は、前印刷用データPDが前印刷された状態図9a参照で、印刷データを取得すると、印刷データに含まれたヘッダーデータHDを印刷し、用紙をカットする同図b参照。そして、印刷データからヘッダーデータHDを除いた残データを印刷終了後、カットコマンドに基づいて用紙カットを行う前に、書き換えた前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする同図c参照。すなわち、レシートプリンター1は、予め前印刷されたヘッダーAを含む前印刷用データPD部分を分離し、改めて、ヘッダーデータHDを含むすべての印刷データを印刷する。そして、次のレシート印刷に備え、書き換えた前印刷用データPDヘッダーBを含む前印刷用データPDを前印刷する。なお、図示を省略したが、レシートプリンター1は、前印刷用データ記憶部33に前印刷用データPDが記憶されていなかった場合、非同一と判別し、印刷データから抽出したヘッダーデータHDを前印刷用データPDとして前印刷用データ記憶部33に記憶し、取得したヘッダーデータHDを含む印刷データのすべてを印刷し、ヘッダーデータHDを前印刷する。続いて、図10および図11を用いて、図7のS02において、印刷データの取得が特定のイベント後初めてであった場合について説明する。なお、特定のイベントとは、用紙交換処理、用紙送り処理および電源ON処理をさす。また、各処理においては用紙の頭出しや用紙送り処理などが既に行われ、直ちに印刷可能な状態となっているものとする。図10に示すように、レシートプリンター1は、取得した印刷データを印刷しS21、前印刷用データPDを印刷した後S22、用紙カットするS23。図11は、図10に示すフローにより実施された印刷例を示している。なお、本印刷例でも、図4aに示すように、トップ余白51、ヘッダーロゴ52、空白ライン53を合わせたデータの長さがL1となる印刷データを用いて説明する。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53で構成されている。レシートプリンター1は、用紙13の先端が確実に用紙カット位置P1に位置する状態同図a参照で、取得した印刷データを印刷する同図b参照。そして、印刷データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、記憶している前印刷用データPDを前印刷し、前印刷終了後、用紙をカットする同図c参照。このように、特定のイベント後においては、判別結果によらず、取得した印刷データをすべて印刷することにより、用紙交換処理、用紙送り処理および電源ON処理によって、前印刷したヘッダー部分が失われたり、ヘッダー部分の後端が紙送りされて印刷位置P2よりも下流に位置していたりして、前印刷したヘッダー部分を利用できない場合にも、適切なレシートを印刷することができる。なお、本実施形態においては、特定のイベント後、最初に印刷されるレシートは、L1に相当する長さのトップマージンが発生する。なお、トップマージンを分離するために、ヘッダーデータHDを印刷後に用紙カットを行う構成としてもよい。続いて、図12ないし図14を参照し、図7のS04において、ヘッダーデータHD内に空白ライン53が存在していたなお、空白ライン53の下端がヘッダーデータHDの下端に一致している場合を含む場合について説明する。すなわち、図4bに示すように、トップ余白51の先端から空白ライン53の後端までの長さががL1よりも短く、ヘッダーデータHDに本文データの一部が含まれる印刷データを取得した場合について説明する。先ず、図12のフローチャートに示すように、レシートプリンター1は、ヘッダーデータHD内に空白ライン53が存在していた場合、印刷データを編集するS31。ここで、図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とが含まれる。図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。一方、編集後ヘッダーデータHDと前印刷用データPDとが同一であると判別された場合S34:同一、印刷データから編集後ヘッダーデータHDを除きS42、残データを印刷しS43、前印刷用データPDを印刷しS40、その後、用紙カットしてS41、処理を終了する。図14は、図12のS34において、編集後ヘッダーデータHDと前印刷用データPDとが非同一であると判別され、S35において、非同一と判別された回数nが所定回数N以上であった場合の印刷例を示している。レシートプリンター1は、前印刷用データPDとして、トップ余白51、ヘッダーロゴ52であるヘッダーAおよび空白ライン53を記憶している。そして、取得した印刷データから抽出したヘッダーデータHDは、空白データ、トップ余白51、ヘッダーB52および空白ライン53で構成されている。レシートプリンター1は、前印刷用データPDが前印刷された状態同図a参照で、印刷データを取得すると、編集後ヘッダーデータHDを印刷し、用紙をカットする同図b参照。そして、編集後の印刷データから編集後ヘッダーデータHDを除いた残データを印刷し、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、書き換えた前印刷用データPD編集後ヘッダーデータHDを前印刷し、前印刷終了後、用紙をカットする同図c参照。このように、印刷データの上端から空白ライン53の下端までが、L1よりも短い場合、第1ヘッダーデータHD1の先端に、第2ヘッダーデータHD2の長さに相当する空白データを付加したデータを編集後ヘッダーデータHDとし、前印刷用データPDとして記憶することで、前印刷終了後、第1ヘッダーデータHD1の下端が印刷位置に一致する。これにより、次回の印刷が同一のヘッダーデータHDを有する印刷データに基づく印刷である場合、印刷開始が、本文データ54の先端から開始されるため、本文データ54内に用紙送りのピッチズレなどによる印字線の発生を防ぐことができる。続いて、図15および図16を参照して、図7のS11において、ヘッダーデータHDおよび前印刷用データPDの上端部が一致する場合について説明する。図15に示すように、レシートプリンター1は、両データの先端から連続して一致するデータを共通データとして共通データ記憶部34に記憶するS51。そして、新たな前印刷用データPDを生成し、生成したデータを前印刷用データPDとして書き換えるS52。ここで、図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をさす。図15に戻り、レシートプリンター1は、取得したヘッダーデータHDを印刷しS53、用紙カットするS54。そして、印刷データからヘッダーデータHDを除いた残データを印刷しS55、新たに生成して書き換えた前印刷用データPDを印刷した後S56、用紙カットしてS57、処理を終了する。図17は、図15に記載のフローを実施した場合の印刷例を示した図である。レシートプリンター1に記憶されている前印刷用データPDおよびヘッダーデータHDは、図16に記載したものと同様であり、生成した前印刷用データPDは、l4分の空白データ、トップ余白51およびヘッダーABで構成されている。レシートプリンター1は、記憶されている前印刷用データPDが前印刷された状態同図a参照で、印刷データを取得すると、前印刷用データPDとヘッダーデータHDが非同一であるため、印刷データに含まれたヘッダーデータHDを印刷し、用紙をカットする同図b参照。そして、印刷データからヘッダーデータHDを除いた残データを印刷し、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、新たに生成した前印刷用データPD空白データ、トップ余白51およびヘッダーABを前印刷し、前印刷終了後、用紙をカットする同図c参照。続いて、図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。図19は、図18のS61において、ヘッダーデータHDの上端部が共通データと一致する場合と判定された場合の印刷例を示した図である。レシートプリンター1は、前印刷用データPDとして、l4分の空白データ、トップ余白51およびヘッダーロゴ52を記憶している。すなわち、データ生成部38によって生成された前印刷データPDが記憶されている。また、共通データとして、トップ余白51およびヘッダーABが記憶されている。そして、取得した印刷データから抽出したヘッダーデータHDは、トップ余白51、ヘッダーAB、ヘッダーBおよび空白ライン53で構成されている。レシートプリンター1は、前印刷用データPDが前印刷された状態同図a参照で、共通データトップ余白51およびヘッダーABを有した印刷データを取得すると、印刷データから共通データを除いた残データを印刷し同図b参照、残データの印刷終了後、カットコマンドに基づいて用紙カットを行う前に、前印刷用データPD空白データ、トップ余白51およびヘッダーABを前印刷し、前印刷終了後、用紙をカットする同図c参照。このように、前印刷用データPDとして、共通データを含むデータを記憶しておくことで、次回以降の印刷データのヘッダーデータHDと前印刷用データPDとが、完全に一致していない場合であっても、前印刷した共通データを利用して、次のレシート印刷を行うことができる。これによれば、前印刷用データPDとヘッダーデータHDとが一致しない場合であっても、発生するトップマージンをL1からl4に抑えることができる。これまで説明したレシートプリンター1およびレシートプリンター1の制御方法によれば、受信した印刷データに含まれるヘッダーデータHDと、予め記憶している前印刷用データPDと、を比較し、非同一であった場合にのみ、印刷データに含まれるヘッダーデータHDを改めて印刷するため、ヘッダートップマージンにおける印刷内容の印刷内容が変更された場合であっても、個別に前印刷用データPDを送信して書き換えを行うことなく、所望のレシート印刷を行うことができる。よって、ヘッダーの有無や内容が変化しても、連続してトップマージンを発生させずに所望のレシートを印刷することができる。なお、図4cおよびdに示すような、ヘッダーデータHDとその他のデータの境界において印刷データが連続して存在している印刷データのヘッダーデータHDを、前印刷用データPDとして記憶している場合を考慮して、ヘッダーデータHDと前印刷データPDとが非同一と判別され、ヘッダーデータHDを改めて印刷する場合は、印刷データの先端に空白データを付加しても良い。これによれば、前印刷された不要な部分を切り取る場合、カット位置が、空白データ上に位置するため、前印刷の印字の一部がレシートの先端部分に残るのを防ぐことができる。また、複数の印刷データを取得した場合、カットコマンドではなく、所定の文字列を用いて1レシート単位の印刷データを認識する構成としてもよい。また、前印刷データPDを書き換える基準となる非同一と連続して判別された回数Nは、ユーザーの操作によって所望の回数が設定できる構成としてもよい。この場合、回数Nを設定する設定部をさらに備えていることが好ましい。また、上記の説明において、ヘッダーロゴ52を含む印刷データを例示したが、印刷データの定型部分は、画像データではなくテキストデータで構成されていても良い。なお、上記の各実施形態に示した、レシートプリンター1の各構成要素をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体図示省略に格納して提供することも可能である。記録媒体としては、CD-ROM、フラッシュROM、メモリカードコンパクトフラッシュ登録商標、スマートメディア、メモリースティック等、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。また、上述した実施例によらず、レシートプリンター1の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。