(57)【要約】【課題】本発明は、印刷装置において、同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を図ることを目的とする。【解決手段】印刷装置は、印刷部と、処理装置から受信した相対的な順番を表す順番情報を含む印刷データを取得する取得部と、取得した印刷データから、順番情報を抽出する抽出部と、印刷部が過去に所定の情報を印刷したときに用いた印刷データの順番情報を記憶する記憶部と、抽出した順番情報と、記憶部に記憶されている順番情報とを比較し、取得した印刷データが、印刷部が過去に印刷したときに用いた印刷データよりも後に取得した印刷データか否かを判定する判定部と、判定結果に基づき、取得した刷データが、過去に印刷に用いた印刷データよりも後に取得したデータである場合に、取得された印刷データに基づいて印刷するように印刷部を制御する印刷制御部と、を備える。【選択図】図４
2011143625.tif 000002
【特許請求の範囲】
【請求項１】
処理装置に接続可能なものであり、所定の情報を印刷する印刷装置であって、
印刷部と、
前記印刷部が所定の情報を印刷するために用いられ、前記処理装置から受信した相対的
な順番を表す順番情報を含む印刷データを取得する取得部と、
前記取得部により取得された印刷データから、前記順番情報を抽出する抽出部と、
前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷データの順番情報を記
憶する記憶部と、
前記抽出部により抽出された順番情報と、前記記憶部に記憶されている順番情報とを比
較し、前記取得部により取得された印刷データが、前記印刷部が過去に前記所定の情報を
印刷したときに用いた印刷データよりも後に取得した印刷データか否かを判定する判定部
と、
前記判定部による判定結果に基づき、前記取得部により取得された印刷データが、前記
印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後に取得した印
刷データである場合に、前記取得した印刷データに基づいて所定の情報を印刷するように
前記印刷部を制御する印刷制御部と、を備える印刷装置。
【請求項２】
請求項１に記載の印刷装置はさらに、
前記取得部により取得された印刷データが、前記印刷部が過去に前記所定の情報を印刷
したときに用いた印刷データよりも後に取得した印刷データである場合、前記取得した印
刷データの順番情報を用いて、前記記憶部に記憶されている順番情報を更新する更新部を
備えている印刷装置。
【請求項３】
請求項１または請求項２に記載の印刷装置において、
前記印刷制御部は、前記取得部により取得された印刷データが、前記印刷部が過去に前
記所定の情報を印刷したときに用いた印刷データよりも前に取得した印刷データと前記判
定部が判定した場合、所定の情報を印刷するように前記印刷部を制御する印刷装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の印刷装置はさらに、
前記処理装置から送信される印刷データに基づき、前記順番情報を含む印刷データを生
成する生成部を備える印刷装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の印刷装置において、
前記順番情報は、前記印刷データが生成された順に値が異なるように設定されたシリア
ル番号であり、
前記判定部は、前記抽出部により抽出されたシリアル番号が、前記記憶部に記憶されて
いるシリアル番号の所定範囲と異なる場合に、前記取得部が取得した印刷データが、前記
印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後に取得したと
判定する印刷装置。
【請求項６】
請求項１ないし請求項４のいずれかに記載の印刷装置において、
前記順番情報は、前記印刷データが生成された時刻であり、
前記判定部は、前記抽出部により抽出された時刻が、前記記憶部に記憶されている時刻
より後の場合に、前記取得部が取得した印刷データが、前記印刷部が過去に前記所定の情
報を印刷したときに用いた印刷データよりも後に取得したと判定する印刷装置。
【請求項７】
請求項１ないし請求項４のいずれかに記載の印刷装置において、
前記順番情報は、印刷データに含まれる計算結果情報であり、
前記判定部は、前記抽出部により抽出された計算結果情報が、前記記憶部に記憶されて
いる計算結果情報と異なる場合に、前記取得部が取得した印刷データが、前記印刷部が過
去に前記所定の情報を印刷したときに用いた印刷データよりも後に取得したと判定する印
刷装置。
【請求項８】
所定の情報を印刷する印刷装置の印刷方法であって、
前記印刷装置に接続可能な処理装置から受信するもので、相対的な順番を表す順番情報
を含む印刷データを取得する工程と、
前記取得した印刷データから、前記順番情報を抽出する工程と、
印刷部が過去に所定の情報を印刷したときに用いた印刷データの順番情報を記憶する工
程と、
前記抽出した順番情報と、前記記憶している順番情報とを比較することにより、前記取
得した印刷データが、前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷デ
ータよりも後に取得した印刷データか否かを判定する工程と、
前記判定の結果に基づき、前記取得した印刷データが、前記印刷部が過去に前記所定の
情報を印刷したときに用いた印刷データよりも後に取得した印刷データである場合に、前
記取得した印刷データに基づいて所定の情報を印刷する工程と、を備える印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、および、印刷方法に関する。
【背景技術】
【０００２】
従来から、印刷に用いられる印刷データと、予め登録されている複製禁止情報とを比較
し、印刷データが登録されている複製禁止情報に該当する場合には、印刷データをプリン
ターに転送しない技術が知られている。（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２５３２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術では、複製が禁止されている印刷データを用いた印刷を抑制すること
ができるが、例えば、セキュリティーが必要とされるフィルカルプリンターのように、転
送された同じ印刷データを用いて、複数回の印刷をおこなうことを不正とすべき装置では
、不正を抑制することが困難であった。
【０００５】
本発明は、上記した従来の課題の少なくとも一部を解決するためになされた発明であり
、印刷装置において、同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を図る
ことを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために本願発明は以下の態様を採る。
【０００７】
第１の態様は、所定の情報を印刷する印刷装置を提供する。本発明の第１の態様に係る
印刷装置は、処理装置に接続可能なものであり、印刷部と、前記印刷部が所定の情報を印
刷するために用いられ、前記処理装置から受信した相対的な順番を表す順番情報を含む印
刷データを取得する取得部と、前記取得部により取得された印刷データから、前記順番情
報を抽出する抽出部と、前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷
データの順番情報を記憶する記憶部と、前記抽出部により抽出された順番情報と、前記記
憶部に記憶されている順番情報とを比較し、前記取得部により取得された印刷データが、
前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後に取得し
た印刷データか否かを判定する判定部と、前記判定部による判定結果に基づき、前記取得
部により取得された印刷データが、前記印刷部が過去に前記所定の情報を印刷したときに
用いた印刷データよりも後に取得した印刷データである場合に、前記取得した印刷データ
に基づいて所定の情報を印刷するように前記印刷部を制御する印刷制御部と、を備える。
また、所定の情報を印刷する印刷装置の印刷方法を提供する。
所定の情報を印刷する印刷装置の印刷方法であって、前記印刷装置に接続可能な処理装
置から受信するもので、相対的な順番を表す順番情報を含む印刷データを取得する工程と
、前記取得した印刷データから、前記順番情報を抽出する工程と、印刷部が過去に所定の
情報を印刷したときに用いた印刷データの順番情報を記憶する工程と、前記抽出した順番
情報と、前記記憶している順番情報とを比較することにより、前記取得した印刷データが
、前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後に取得
した印刷データか否かを判定する工程と、前記判定の結果に基づき、前記取得した印刷デ
ータが、前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後
に取得した印刷データである場合に、前記取得した印刷データに基づいて所定の情報を印
刷する工程と、を備える。
【０００８】
第１の態様に係る印刷装置と上述の印刷装置の印刷方法によれば、取得した印刷データ
が、印刷部が過去に所定の情報を印刷したときに用いた印刷データよりも後に取得した印
刷データである場合に、取得した印刷データに基づいて所定の情報を印刷するため、確実
に、過去に印刷したものと同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を
図ることができる。
【０００９】
第１の態様に係る印刷装置はさらに、前記取得部により取得された印刷データが、前記
印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後に取得した印
刷データである場合、前記取得した印刷データの順番情報を用いて、前記記憶部に記憶さ
れている順番情報を更新する更新部を備えていてもよい。この場合、記憶部に記憶されて
いる順番情報を、取得した印刷データの順番情報に更新するため、取得したものと同じ印
刷データを用いて複数回の印刷をおこなう不正の抑制を図ることができる。
【００１０】
第１の態様に係る印刷装置において、前記印刷制御部は、前記取得部により取得された
印刷データが、前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよ
りも前に取得した印刷データと前記判定部が判定した場合、所定の情報を印刷するように
前記印刷部を制御してもよい。この場合、過去に印刷したものと同じ印刷データを用いて
複数回の印刷をおこなった場合、２回目以降の印刷では、不正である旨が認識可能な所定
の情報が印刷されるため、不正の抑制を図ることができる。
【００１１】
第１の態様に係る印刷装置において、前記処理装置から送信される印刷データに基づき
、前記順番情報を含む印刷データを生成する生成部を備えていてもよい。この場合、前記
処理装置から送信される印刷データに基づき生成部により生成された印刷データが、印刷
部が過去に所定の情報を印刷したときに用いた印刷データよりも後に取得している場合に
、取得した印刷データに基づいて所定の情報の印刷をおこなうため、過去に印刷したもの
と同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を図ることができる。
【００１２】
第１の態様に係る印刷装置において、前記順番情報は、前記印刷データが生成された順
に値が異なるように設定されたシリアル番号であり、前記判定部は、前記抽出部により抽
出されたシリアル番号が、前記記憶部に記憶されているシリアル番号の所定範囲と異なる
場合に、前記取得部が取得した印刷データが、前記印刷部が過去に前記所定の情報を印刷
したときに用いた印刷データよりも後に取得したと判定してもよい。この場合、取得した
印刷データと、印刷部が過去に所定の情報を印刷したときに用いた印刷データのそれぞれ
に含まれるシリアル番号を比較することにより、過去に印刷したものと同じ印刷データを
用いて複数回の印刷をおこなう不正の抑制を図ることができる。
【００１３】
第１の態様に係る印刷装置において、前記順番情報は、前記印刷データが生成された時
刻であり、前記判定部は、前記抽出部により抽出された時刻が、前記記憶部に記憶されて
いる時刻より後の場合に、前記取得部が取得した印刷データが、前記印刷部が過去に前記
所定の情報を印刷したときに用いた印刷データよりも後に取得したと判定してもよい。こ
の場合、取得した印刷データと、印刷部が過去に所定の情報を印刷したときに用いた印刷
データのそれぞれに含まれる印刷データが生成された時刻を比較することにより、過去に
印刷したものと同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を図ることが
できる。
【００１４】
第１の態様に係る印刷装置において、前記順番情報は、印刷データに含まれる取引に関
する計算結果情報であり、前記判定部は、前記抽出部により抽出された計算結果情報が、
前記記憶部に記憶されている計算結果情報と異なる場合に、前記取得部が取得した印刷デ
ータが、前記印刷部が過去に前記所定の情報を印刷したときに用いた印刷データよりも後
に取得したと判定してもよい。この場合、取得した印刷データと、印刷部が過去に所定の
情報を印刷したときに用いた印刷データのそれぞれに含まれる計算結果情報を比較するこ
とにより、過去に印刷したものと同じ印刷データを用いて複数回の印刷をおこなう不正の
抑制を図ることができる。
【００１５】
本発明は、種々の態様で実現することが可能であり、例えば、プリンター、プリントシ
ステム、印刷制御装置、コンピューター、レジスター等で実現することができる。また、
印刷方法、印刷制御方法、および、これらの方法または装置の機能を実現するためのコン
ピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピ
ュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現すること
ができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施例における印刷装置の構成を概略的に示す説明図である。
【図２】フィスカルユニットの機能ブロックを例示した説明図である。
【図３】プリンターコマンドデータを用いて印刷される情報の内容を例示した説明図である。
【図４】プリンター本体部の機能ブロックを例示した説明図である。
【図５】プリンターコマンドデータに含まれている一行分の文字列を例示した説明図である。
【図６】メイン基板の動作を説明するためのフローチャートである。
【図７】フラグが異常である場合における印刷内容を例示した説明図である。
【図８】フラグが異常となった場合におけるレシート全体の印刷内容を例示した説明図である。
【図９】フラグが異常となった場合における２枚目以降の印刷内容を例示した説明図である。
【図１０】変形例における印刷装置の構成を概略的に示す説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一態様である印刷装置について、図面を参照しつつ、実施例に基づいて
説明する。
【００１８】
Ａ．第１実施例：
Ａ１．印刷装置の構成：
図１は、第１実施例における印刷装置の構成を概略的に示す説明図である。本実施例の
印刷装置１００は、ホストコンピューター７００（処理装置）から取得した後述するフィ
スカルコマンドデータに基づいて、顧客に渡すための会計レシートを印刷するレシート印
刷や、売上データを確認するためのジャーナルを印刷するジャーナル印刷等をおこなう会
計用のプリンターである。印刷装置１００は、フィスカルユニット１０と、プリンター本
体部４０と、を備えている。
【００１９】
フィスカルユニット１０は、ホストコンピューター７００およびプリンター本体部４０
とそれぞれ接続され、ホストコンピューター７００およびプリンター本体部４０のそれぞ
れとデータのやりとりをおこなうＵＩＢ（universal interface board）である。フィス
カルユニット１０は、フィスカルメモリー基板２０と、インターフェイス基板３０と、を
備えている。フィスカルメモリー基板２０とインターフェイス基板３０は、フレキシブル
フラットケーブルＦＦＣを介して互いに接続されている。インターフェイス基板３０は、
ＰＣコネクターＣ１と、フィスカルコネクターＣ２と、プリンターコネクターＣ３と、通
信ＩＣ３１と、メインＣＰＵ３２と、ＥＰＲＯＭ３３と、ＳＲＡＭ３４と、ＲＴＣ３５と
、サブＣＰＵ３６と、ＥＪメモリー３７と、を備えている。
【００２０】
ＰＣコネクターＣ１は、ホストコンピューター７００と接続され、ホストコンピュータ
ー７００とフィスカルユニット１０との間で、フィスカルユニット１０を制御するための
データ（以後、「フィスカルコマンドデータ」とも呼ぶ）などを含むデータの送受信に用
いられる。ホストコンピューター７００とフィスカルユニット１０との間のデータ転送は
、ＵＳＢ、ＲＳ―２３２Ｃなどを用いたシリアル方式や、ＳＣＳＩなどを用いたパラレル
方式などを採用することができる。フィスカルコネクターＣ２は、後述するフィスカルメ
モリー２１に格納されているフィルカルデータを読み出す場合にのみ用いられ、フィスカ
ルデータ読み出し装置８００とのデータの送受信に用いられる。プリンターコネクターＣ
３は、プリンター本体部４０と接続され、フィスカルユニット１０とプリンター本体部４
０との間で、プリンター本体部４０を制御するためのデータ（以後、「プリンターコマン
ドデータ」とも呼ぶ）などを含むデータの送受信に用いられる。フィスカルユニット１０
とプリンター本体部４０との間のデータ転送は、例えば、転送速度１Ｍｂｐｓのシリアル
方式などを採用することができる。
【００２１】
通信ＩＣ３１は、ＰＣコネクターＣ１およびフィスカルコネクターＣ２とそれぞれ接続
され、ホストコンピューター７００やフィスカルデータ読み出し装置８００とのデータの
やりとりをおこなう。メインＣＰＵ３２は、フィスカルユニット１０の全体の動作を制御
する。例えば、メインＣＰＵ３２は、フィスカルメモリー２１に対してデータの読み書き
をおこなう。また、メインＣＰＵ３２は、ＥＰＲＯＭ３３に格納されている制御プログラ
ムを実行することにより、図２を用いて後述する複数の機能ブロックを実現する。
【００２２】
ＥＰＲＯＭ３３は、メインＣＰＵ３２が各種制御をおこなうためのデータや、制御プロ
グラム（ファームウェア）を格納している。ＳＲＡＭ３４は、メインＣＰＵ３２による種
々の処理においてワークエリアとして用いられる。ＲＴＣ３５は、リアルタイムクロック
であり、年月日や時間を計時する。ＥＪメモリー３７は、電子ジャーナルメモリーであり
、売り上げデータ等の取引に関する情報が格納されている。サブＣＰＵ３６は、メインＣ
ＰＵ３２からの指示により、ＥＪメモリー３７に対し、売り上げデータ等の書き込みや読
み出しを制御する。
【００２３】
フィスカルメモリー基板２０は、フィスカルメモリー２１と、ＣＰＬＤ２２と、を備え
ている。フィスカルメモリー２１およびＣＰＬＤ２２は、エポキシ樹脂により被覆されて
いる。フィスカルメモリー２１は、売り上げデータや税率データなどを含むデータ（以後
、「フィスカルデータ」とも呼ぶ）を格納する。フィスカルメモリー２１は、一つのアド
レスに一度しか書き込みのできないＯＴＰＲＯＭ（One Time Programmable ROM）やフラ
ッシュＲＯＭが採用され、印刷装置１００またはホストコンピューター７００の電源切断
時に、一日分の売り上げデータが書き込まれる。電源切断時の処理は、いわゆるソフトス
イッチにより所定のボタンが押されたことを検出して行われる。ＣＰＬＤ２２は、フィス
カルメモリー２１に対するデータの読み書および読み出しを制御する。
【００２４】
プリンター本体部４０は、メイン基板５０と、印刷機構６０と、を備えている。メイン
基板５０は、フィスカルユニット１０および印刷機構６０とそれぞれ接続され、フィスカ
ルユニット１０および印刷機構６０とデータのやりとりをおこなう。また、メイン基板５
０は、フィスカルユニット１０からプリンターコマンドデータを受信すると、プリンター
コマンドデータに含まれる内容に応じて印刷機構６０を制御する。
【００２５】
メイン基板５０は、コネクター５１と、ＣＰＵ５２と、メモリー５３と、を備えている
。コネクター５１は、インターフェイス基板３０のプリンターコネクターＣ３との間でデ
ータのやりとりをおこなう。ＣＰＵ５２は、プリンター本体部４０の全体の動作を制御す
る。また、ＣＰＵ５２は、メモリー５３に格納されている制御プログラムを実行すること
により、図４を用いて後述する複数の機能ブロックを実現する。メモリー５３は、ＲＡＭ
やＲＯＭからなり、ＣＰＵ５２が各種制御をおこなうためのデータや、制御プログラム（
ファームウェア）を格納している。
【００２６】
印刷機構６０は、例えば、用紙に印刷をおこなう印刷ヘッドと、用紙を搬送する用紙搬
送部と、用紙を切断する切断部など、レシート印刷やジャーナル印刷をおこなうための種
々のハードウェア機構が含まれている。
【００２７】
Ａ２．フィスカルユニットの詳細：
図２は、フィスカルユニットの機能ブロックを例示した説明図である。メインＣＰＵ３
２は、ＥＰＲＯＭ３３に格納されている制御プログラムを実行することにより、フィスカ
ルコマンド受信部３０１と、フィスカルコマンド実行部３０２と、暗号化部３０５と、暗
号化済みプリンターコマンド格納部３０７と、プリンターコマンド送信部３０８と、を実
現する。
【００２８】
フィスカルコマンド受信部３０１は、ホストコンピューター７００からフィスカルコマ
ンドデータを受信する。また、フィスカルコマンド受信部３０１は、フィスカルコマンド
データに含まれるコマンド（以後、「フィスカルコマンド」とも呼ぶ）に対応する結果を
含むデータ（以後、「フィスカルレスポンスデータ」とも呼ぶ）をホストコンピューター
７００に対して送信する。
【００２９】
フィスカルコマンド実行部３０２は、フィスカルコマンド受信部３０１がフィスカルコ
マンドデータを受信すると、フィスカルコマンドごとに決められた動作をおこなう。フィ
スカルコマンドデータは取引に関する情報であり、例えば、フィスカルコマンドデータに
購入物品の品目、個数、金額、税率の種別等が含まれていると、小計や合計金額の計算、
税率の計算などをおこない、フィスカルデータを生成してフィスカルメモリー２１に格納
する。また、フィスカルコマンド実行部３０２は、フィスカルコマンドにレシートの印刷
が必要な内容が含まれている場合には、印刷機構６０による印刷に用いられるプリンター
コマンドデータを生成する。フィスカルコマンドデータに、小計や合計金額、税金などの
取引に関する計算結果の情報が含まれていてもよい。
【００３０】
図３は、プリンターコマンドデータを用いて印刷される情報の内容を例示した説明図で
ある。フィスカルコマンド実行部３０２は、生成したフィスカルデータに、シリアル番号
ＳＮ、レシートのフォーマット、プリンターの固有番号、データを生成した日時などの情
報を付加して、プリンターコマンドデータを生成する。図３に示すように、プリンターコ
マンドデータを用いた印刷により、レシートには、購入物品の品目、個数、合計金額や、
取引の日付（データを生成した日付）、シリアル番号ＳＮ、プリンターの固有番号等が示
される。シリアル番号ＳＮは、発行されるレシートごとに値が増加するように設定される
。すなわち、フィスカルコマンド実行部３０２は、プリンターコマンドデータを生成した
順に値が大きくなるようにシリアル番号を設定する。フィスカルコマンド実行部３０２は
、生成したプリンターコマンドデータをＥＰＲＯＭ３３に格納する。以後、図３に示すよ
うに、購入物品の品目、個数、合計金額や、取引の日付（データを生成した日付）、シリ
アル番号ＳＮ、プリンターの固有番号等、レシートに表されている取引に関連する情報を
「取引情報」とも呼ぶ。
【００３１】
Ａ３．プリンター本体部の詳細：
図４は、プリンター本体部の機能ブロックを例示した説明図である。ＣＰＵ５２は、メ
モリー５３に格納されている制御プログラムを実行することにより、プリンターコマンド
受信部５０１と、復号部５０２と、復号済みデータ格納部５０３と、順番情報抽出部５０
４と、最新順番情報格納部５０５と、判定部５０６と、更新部５０７と、印刷制御部５０
８と、を実現する。
【００３２】
プリンターコマンド受信部５０１は、フィスカルユニット１０から暗号化されたプリン
ターコマンドデータを受信する。復号部５０２は、暗号化されたプリンターコマンドデー
タの復号化をおこなう。また、復号部５０２は、復号化したプリンターコマンドデータを
復号済みデータ格納部５０３に格納する。
【００３３】
順番情報抽出部５０４は、復号済みデータ格納部５０３に格納されているプリンターコ
マンドデータからシリアル番号を抽出する。本実施例では、図３に示すように、シリアル
番号「００００８９」の前に予め設定された文字「Ｃ００：」が含まれているため、順番
情報抽出部５０４は、文字「Ｃ００：」の位置を特定し、文字「Ｃ００：」に続く所定数
の文字をシリアル番号として抽出する。以下に順番情報抽出部５０４によるシリアル番号
の抽出方法をより具体的に示す。
【００３４】
図５は、プリンターコマンドデータに含まれている一行分の文字列を例示した説明図で
ある。順番情報抽出部５０４は、まず、プリンターコマンドデータに含まれる一行分の文
字列から改行（Ｌｉｎｅ  Ｆｅｅｄ）を意味する制御文字「ＬＦ」を検出する。順番情報
抽出部５０４は、制御文字「ＬＦ」を検出すると、「ＬＦ」から所定の文字数遡った位置
の１桁目の文字を特定する。その後、１桁目の文字から数えて４０桁目の文字が「Ｃ」で
あり、かつ、４１桁目の文字が「０」であり、かつ、４２桁目の文字が「０」であり、４
３桁目の文字が「：」である場合には、その後に続く６桁の文字「００００８９」をシリ
アル番号として抽出する。順番情報抽出部５０４は、抽出したシリアル番号をメモリー５
３に格納する。
【００３５】
最新順番情報格納部５０５は、印刷機構６０が最後に取引情報を印刷した時に用いたプ
リンターコマンドデータに含まれるシリアル番号（以後、「最新シリアル番号」とも呼ぶ
）を記憶している。本実施例では、最新順番情報格納部５０５は、ＲＡＭに最新シリアル
番号を保持することや、ＲＯＭにシリアル番号を格納することが可能な構成を備える。印
刷機構６０によりプリンターコマンドデータを用いて新たに取引情報の印刷がおこなわれ
ると、最新シリアル番号は、更新部５０７により更新される。なお、最新順番情報格納部
５０５は、印刷機構６０が一度も取引情報を印刷していない初期状態においては、フィス
カルコマンド実行部３０２が生成するプリンターコマンドデータに含まれるシリアル番号
より値が小さくなるダミーのシリアル番号が最新シリアル番号として設定されている。
【００３６】
判定部５０６は、復号済みデータ格納部５０３に格納されているプリンターコマンドデ
ータに含まれるシリアル番号と、最新順番情報格納部５０５に格納されている最新シリア
ル番号とを比較する。具体的には、順番情報抽出部５０４により抽出され、メモリー５３
に格納されているシリアル番号と、最新順番情報格納部５０５に格納されている最新シリ
アル番号との値の大小を判定する。シリアル番号は、時間的に後に生成されたプリンター
コマンドデータほど大きい値となるため、シリアル番号の大小を判定することにより、プ
リンターコマンド受信部５０１が受信したプリンターコマンドデータが、印刷機構６０が
最後に取引情報を印刷したときに用いたプリンターコマンドデータよりも後に生成された
データか否かを判定することができる。
【００３７】
更新部５０７は、判定部５０６により、順番情報抽出部５０４により抽出されたシリア
ル番号が最新順番情報格納部５０５に格納されている最新シリアル番号より大きいと判定
されると、順番情報抽出部５０４により抽出されたシリアル番号を用いて、最新順番情報
格納部５０５に格納されている最新シリアル番号を更新する。
【００３８】
印刷制御部５０８は、判定部５０６による判定結果およびプリンターコマンドデータに
基づいて印刷機構６０を制御し、レシートに取引情報などの印刷をおこなう。また、印刷
制御部５０８は、プリンターコマンドデータが正常なデータであるか、不正などの異常の
データであるかを示すためのフラグを備えている。図６を用いて後述するように、印刷制
御部５０８は、判定部５０６により、順番情報抽出部５０４により抽出されたシリアル番
号が最新順番情報格納部５０５に格納されている最新シリアル番号より大きい場合にはフ
ラグを「正常」に設定し、順番情報抽出部５０４により抽出されたシリアル番号が最新順
番情報格納部５０５に格納されている最新シリアル番号以下である場合にはフラグを「異
常」に設定する。また、印刷制御部５０８は、フラグの状態に応じて、取引情報か、取引
情報を含まない所定の画像か、いずれか一方の印刷をレシートに対しておこなう。具体的
には、フラグが「正常」の場合、印刷制御部５０８は、プリンターコマンド受信部５０１
が受信したプリンターコマンドデータに基づいて取引情報の印刷をおこなう。一方、フラ
グが「異常」の場合、印刷制御部５０８は、取引情報を含まない画像の印刷をおこなう。
実施例では、文字「Ｘ」のみにより構成された画像を印刷する。取引情報を含まない所定
の画像（上述の文字「Ｘ」）の代わりに、取引情報の画像に重ねて、「不正」など文字や
斜線やバツや丸など、別の所定の画像や記号を含んだものを印刷し、不正の旨がすぐ認識
できるように印刷してもよい。この場合、「不正」や斜線、バツ、丸などは、取引情報を
印刷する色とは別の色で印刷してもよい。
フラグを「異常」に設定した場合、印刷制御部５０８は、印刷をしないようにしてもよ
い。また、フィスカルコマンド受信部３０１またはプリンターコマンド受信部５０１が、
受信しないようにしてもよい。「異常」の場合、このように印刷装置１００の動作を不能
とするとよい。不正な使用ができなくなる。この場合、ＬＥＤや表示体で不正の旨の表示
や、ホストコンピューター７００に不正の旨を通知してもよい。
【００３９】
図６を用いて、最新順番情報格納部５０５、判定部５０６、更新部５０７、印刷制御部
５０８の動作の流れを説明する。図６は、メイン基板の動作を説明するためのフローチャ
ートである。電源の入力や、ホストコンピューター７００からの所定の入力などを印刷装
置１００が受け付けると、最新順番情報格納部５０５は、ＲＯＭに格納されている最新シ
リアル番号を読み込み、読み込んだ最新シリアル番号をＲＡＭに書き込む（ステップＳ６
０１）。また、印刷制御部５０８は、フラグを「正常」に設定する（ステップＳ６０２）
。
【００４０】
プリンターコマンド受信部５０１は、ホストコンピューター７００からプリンターコマ
ンドデータを継続して受信する（ステップＳ６０３：ＮＯ）。受信したプリンターコマン
ドデータが一行分の文字列に相当すると（ステップＳ６０３：ＹＥＳ）、順番情報抽出部
５０４は、受信したプリンターコマンドデータの文字列からシリアル番号の抽出をおこな
う（ステップＳ６０４）。受信したプリンターコマンドデータが一行分の文字列に相当し
たか否かは、プリンターコマンドデータに含まれる制御文字「ＬＦ」を用いて判定するこ
とができる。順番情報抽出部５０４が、受信したプリンターコマンドデータの文字列から
シリアル番号を抽出する方法は図５を用いて上述したとおりである。
【００４１】
プリンターコマンドデータからシリアル番号が抽出された場合（ステップＳ６０４：Ｙ
ＥＳ）、判定部５０６は、抽出されたシリアル番号が正しいシリアル番号か否かを判定す
る（ステップＳ６０７）。具体的には、判定部５０６は、抽出されたシリアル番号が、最
新順番情報格納部５０５のＲＡＭに保持されている最新シリアル番号より大きいか否かを
判定することにより、抽出されたシリアル番号が正しいシリアル番号か否かを判定する。
ここでは、抽出されたシリアル番号が、最新シリアル番号より大きい場合、抽出されたシ
リアル番号は、「正しいシリアル番号」に該当する。一方、抽出されたシリアル番号が、
最新シリアル番号以下の場合、抽出されたシリアル番号は、「正しくないシリアル番号」
に該当する。所定のシリアル番号の範囲を、「正しいシリアル番号」としてもよい。
【００４２】
抽出されたシリアル番号が正しいシリアル番号である場合（ステップＳ６０７：ＹＥＳ
）、更新部５０７は、最新順番情報格納部５０５のＲＡＭに保持されている最新シリアル
番号を、抽出されたシリアル番号を用いて更新する（ステップＳ６０８）。一方、抽出さ
れたシリアル番号が正しくないシリアル番号である場合（ステップＳ６０７：ＮＯ）、印
刷制御部５０８は、フラグを「異常」に設定する（ステップＳ６０９）。
【００４３】
印刷制御部５０８は、フラグが「正常」状態であるか否かを判定し（ステップＳ６１０
）、正常である場合（ステップＳ６１０：ＹＥＳ）、受信した一行分の文字列に相当する
プリンターコマンドデータに基づいて、一行分の取引情報を印刷する（ステップＳ６１１
）。一方、フラグが「異常」である場合（ステップＳ６１０：ＮＯ）、取引情報の代わり
に文字「Ｘ」を用いた印刷をおこなう（ステップＳ６１２）。
【００４４】
図７は、フラグが異常である場合における印刷内容を例示した説明図である。図３にお
いて示したシリアル番号ＳＮが、正しくないシリアル番号に該当する場合、図７に示すよ
うに、シリアル番号ＳＮを含む一行は、取引情報の代わりに文字「Ｘ」が印刷される。
【００４５】
印刷制御部５０８は、一行分の印刷をおこなった後、印刷が終了したか否かを判定する
（ステップＳ６１３）。印刷が終了したか否かは、例えば、プリンターコマンドデータに
制御文字「ＥＴＸ」が含まれているか否かによって判定することができる。また、印刷装
置に対する所定の入力があったか否かによっても判定することができる。印刷が終了して
いないとき（ステップＳ６１３：ＮＯ）、ステップＳ６０３に戻り、新たな一行分の文字
列に相当するプリンターコマンドデータを受信する。印刷制御部５０８は、印刷が終了し
たと判定した場合（ステップＳ６１３：ＹＥＳ）、動作を終了する。
【００４６】
上記の動作により、印刷制御部５０８は、一度もフラグを「異常」に設定することなく
印刷を終了すると、図３に示すように、取引情報がすべて表されたレシートを印刷する。
一方、印刷制御部５０８は、一度、フラグを「異常」に設定すると、それ以降、プリンタ
ーコマンド受信部５０１によりプリンターコマンドデータを受信しても取引情報の代わり
に文字「Ｘ」を印刷する。
【００４７】
図８は、フラグが異常となった場合におけるレシート全体の印刷内容を例示した説明図
である。図７に示すように、シリアル番号ＳＮを含む一行が取引情報の代わりに文字「Ｘ
」が印刷されると、シリアル番号ＳＮを含む行以降の各行は、取引情報の代わりに文字「
Ｘ」が印刷される。
【００４８】
図９は、フラグが異常となった場合における２枚目以降の印刷内容を例示した説明図で
ある。一度フラグを「異常」に設定されると、図９に示すように、２枚目以降のレシート
についても取引情報の代わりに文字「Ｘ」が印刷される。
【００４９】
なお、プリンターコマンドデータからシリアル番号が抽出されなかった場合（ステップ
Ｓ６０４：ＮＯ）、印刷制御部５０８は、プリンターコマンドデータにシリアル番号を保
存するタイミングを示す文字列が含まれているか否かを判定する（ステップＳ６１５）。
シリアル番号を保存するタイミングを示す文字列が含まれている場合（ステップＳ６１５
：ＹＥＳ）、最新順番情報格納部５０５のＲＡＭに保持されている最新シリアル番号をＲ
ＯＭに格納する（ステップＳ６１６）。以上がメイン基板５０の動作である。
【００５０】
本実施例における取引情報は、特許請求の範囲における「所定の情報」に該当する。本
実施例におけるシリアル番号は、特許請求の範囲における「順番情報」に該当する。本実
施例におけるプリンターコマンドデータは、特許請求の範囲における「印刷データ」に該
当する。本実施例における最新シリアル番号は、特許請求の範囲における「印刷部が最後
に所定の情報を印刷したときに用いた印刷データの順番情報」に該当する。本実施例にお
ける最新順番情報格納部５０５は、特許請求の範囲における「記憶部」に該当する。本実
施例における文字「Ｘ」のみにより構成された画像は、特許請求の範囲における「所定の
画像」に該当する。本実施例におけるフィスカルコマンド実行部３０２は、特許請求の範
囲における「生成部」に該当する。
【００５１】
以上説明した、第１の実施例に係る印刷装置１００によれば、プリンターコマンド受信
部５０１が受信したプリンターコマンドデータが、印刷機構６０が最後に取引情報を印刷
したときに用いたプリンターコマンドデータよりも後に生成されたデータである場合にの
み、受信したプリンターコマンドデータに基づいて取引情報を印刷するため、同じ印刷デ
ータを用いて複数回の印刷をおこなう不正の抑制を図ることができる。具体的には、印刷
装置１００は、受信したプリンターコマンドデータに基づいて、図３に示すような取引情
報がすべて表されたレシートを印刷した場合には、印刷に用いたプリンターコマンドデー
タに含まれるシリアル番号を最新順番情報格納部５０５に格納する。そのため、再度、同
じプリンターコマンドデータの入力があった場合には、入力されたプリンターコマンドデ
ータのシリアル番号と保持しているシリアル番号とを比較することにより、同じ印刷デー
タを用いた複数回の印刷がおこなわれているか否かを判定することができる。
【００５２】
第１の実施例に係る印刷装置１００によれば、プリンターコマンド受信部５０１が受信
したプリンターコマンドデータが、印刷機構６０が最後に取引情報を印刷したときに用い
たプリンターコマンドデータよりも後に生成されたデータである場合、受信したプリンタ
ーコマンドデータのシリアル番号を用いて、最新順番情報格納部５０５に格納されている
最新シリアル番号を更新する更新部５０７を備えているため、同じ印刷データを用いて複
数回の印刷をおこなう不正の抑制を図ることができる。具体的には、印刷装置１００は、
受信したプリンターコマンドデータに基づいて正規のレシートを一度発行すると、更新部
５０７により、印刷に用いたプリンターコマンドデータに含まれるシリアル番号を用いて
、最新順番情報格納部５０５に格納されている最新シリアル番号を更新する。よって、再
度、同じプリンターコマンドデータの入力があった場合には、入力されたプリンターコマ
ンドデータに含まれるシリアル番号は、最新順番情報格納部５０５に格納されている最新
シリアル番号より値が大きくないため、印刷装置１００は、プリンターコマンドデータに
基づく正規のレシートの発行をおこなわない。よって、同じ印刷データを用いて複数回の
印刷をおこなう不正を抑制することができる。
【００５３】
第１の実施例に係る印刷装置１００によれば、プリンターコマンド受信部５０１が受信
したプリンターコマンドデータが、印刷機構６０が最後に取引情報を印刷したときに用い
たプリンターコマンドデータよりも前に生成されたデータである場合、取引情報を含まな
い所定の画像を印刷するため、同じ印刷データを用いて複数回の印刷をおこなう不正を抑
制することができる。具体的には、同じ印刷データを用いて複数回の印刷をおこなった場
合、図８や図９に示すように、２回目以降の印刷では文字「Ｘ」など、取引情報を含まな
い所定の画像が印刷されるため、同じ印刷データを用いて複数回の印刷をおこなう不正の
抑制を図ることができる。
【００５４】
第１の実施例に係る印刷装置１００によれば、シリアル番号を含むプリンターコマンド
データを生成するフィスカルコマンド実行部３０２を備えているため、同じ印刷データを
用いて複数回の印刷をおこなう不正の抑制を図ることができる。具体的には、フィスカル
コマンド実行部３０２は、生成したプリンターコマンドデータに、生成した順に値が大き
くなるシリアル番号を設定するため、プリンターコマンド受信部５０１が受信したプリン
ターコマンドデータに含まれるシリアル番号と、印刷機構６０が最後に取引情報を印刷し
たときに用いたプリンターコマンドデータに含まれるシリアル番号とを比較することによ
り、受信したプリンターコマンドデータが、印刷機構６０が最後に取引情報を印刷したと
きに用いたプリンターコマンドデータよりも後に生成されたデータである回中を判定する
ことができる。そして、受信したプリンターコマンドデータが、印刷機構６０が最後に取
引情報を印刷したときに用いたプリンターコマンドデータよりも後に生成されたデータで
ある場合にのみ、受信したプリンターコマンドデータに基づいて取引情報を印刷するため
、同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を図ることができる。
【００５５】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱し
ない範囲において種々の態様において実施することが可能であり、例えば次のような変形
も可能である。
【００５６】
Ｂ１．変形例１：
図１０は、変形例における印刷装置の構成を概略的に示す説明図である。本実施例では
、インターフェイス基板３０およびフィスカルメモリー基板２０は、フィスカルユニット
１０として、印刷装置１００の内部に配置されていたが、図１０に示すように、インター
フェイス基板３０およびフィスカルメモリー基板２０は、ホストコンピューター７００、
および、印刷装置１００にそれぞれ接続される処理装置９００の内部に配置されていても
よい。すなわち、本発明に係る印刷装置１００は、シリアル番号等、プリンターコマンド
データの生成された相対的な順番を表す情報を含むプリンターコマンドデータを受信でき
る構成であれば、フィスカルコマンド実行部３０２を備えていなくてもよい。
【００５７】
Ｂ２．変形例２：
本実施例では、プリンターコマンドデータはシリアル番号を含んでいるが、必ずしもシ
リアル番号を含んでいる必要はなく、プリンターコマンドデータの生成された相対的な順
番を表す情報であれば、例えば、シリアル番号以外に、プリンターコマンドデータが生成
された時刻や、小計や合計の金額や税金など取引に関する計算結果の情報でもよい。また
、プリンターコマンドデータが生成された時点における印刷装置１００により発行された
レシートに含まれる売上高の合計などであってもよい。これらの情報を用いても、日付の
新旧や、取引に関する計算結果の違いによりプリンターコマンド受信部５０１が受信した
プリンターコマンドデータと、印刷機構６０が最後に取引情報を印刷したときに用いたプ
リンターコマンドデータとの生成された順番を判定することができるため、同じ印刷デー
タを用いて複数回の印刷をおこなう不正の抑制を図ることができる。また、記憶された順
番は最後に限らず、過去のものを含んでいてもよい。
【００５８】
Ｂ３．変形例３：
本実施例では、印刷装置１００は、更新部５０７により最新順番情報格納部５０５に格
納されている最新シリアル番号を更新する構成を備えているが、印刷装置１００は、更新
部５０７を備えず、印刷機構６０が取引情報を印刷したときに用いたプリンターコマンド
データに含まれるシリアル番号をすべて最新順番情報格納部５０５に格納する構成であっ
てもよい。この場合、判定部５０６は、最新順番情報格納部５０５に格納されているシリ
アル番号から、最も値の大きいシリアル番号を用いて判定をおこなう。この構成であって
も、プリンターコマンド受信部５０１が受信したプリンターコマンドデータと、印刷機構
６０が最後に取引情報を印刷したときに用いたプリンターコマンドデータとの生成された
順番を判定することができるため、同じ印刷データを用いて複数回の印刷をおこなう不正
の抑制を図ることができる。
【００５９】
Ｂ４．変形例４：
本実施例では、最新順番情報格納部５０５は、ＲＡＭおよびＲＯＭにより構成されてい
るが、ＲＡＭおよびＲＯＭのいずれか一方を備えていない構成であってもよい。この場合
であっても、判定部５０６は、最新順番情報格納部５０５を構成するＲＡＭもしくはＲＯ
Ｍに記憶されている最新シリアル番号を用いて判定をおこなうことができるため、同じ印
刷データを用いて複数回の印刷をおこなう不正の抑制を図ることができる。なお、最新順
番情報格納部５０５が、ＲＡＭもしくはＲＯＭを備えていない構成であれば、図６におい
て、ステップＳ６１５の処理や、ステップＳ６１６の処理をおこなわない態様であっても
よい。
【００６０】
Ｂ５．変形例５：
本実施例に係る印刷装置１００は、ステップＳ６１０において、フラグが「異常」であ
ると判定されると、取引情報の代わりに文字「Ｘ」を用いた印刷をおこなうが、取引情報
が表されない態様であれば、取引情報の代わり印刷する文字は「Ｘ」に限定されず、これ
以外の文字や画像であってもよい。また、本実施例では、ステップＳ６１０において、フ
ラグが「異常」であると判定されると、シリアル番号を含む一行に含まれるすべての取引
情報の代わりに文字「Ｘ」が印刷される構成として説明しているが、シリアル番号を含む
一行のうち、シリアル番号以前の取引情報についてはレシートに印刷される構成であって
もよい。この場合であっても、シリアル番号より後の取引情報については印刷されないた
め、同じ印刷データを用いて複数回の印刷をおこなう不正の抑制を図ることができる。
【００６１】
Ｂ６．変形例６：
本実施例に係る印刷装置１００は、上記実施例において、ハードウェアによって実現さ
れていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェア
によって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【００６２】
Ｂ７．変形例７：
本発明は、種々の態様で実現することが可能であり、例えば、プリンター、プリントシ
ステム、印刷制御装置、コンピューター、レジスター等で実現することができる。また、
印刷方法、印刷制御方法、および、これらの方法または装置の機能を実現するためのコン
ピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピ
ュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現すること
ができる。
【符号の説明】
【００６３】
１０…フィスカルユニット
２０…フィスカルメモリー基板
２１…フィスカルメモリー
３０…インターフェイス基板
３１…通信ＩＣ
３２…メインＣＰＵ
３３…ＥＰＲＯＭ
３４…ＳＲＡＭ
３５…ＲＴＣ
３６…サブＣＰＵ
３７…ＥＪメモリー
４０…プリンター本体部
５０…メイン基板
５１…コネクター
５２…ＣＰＵ
５３…メモリー
６０…印刷機構
Ｃ１…ＰＣコネクター
Ｃ２…フィスカルコネクター
Ｃ３…プリンターコネクター
ＦＦＣ…フレキシブルフラットケーブル
１００…印刷装置
７００…ホストコンピューター
８００…フィスカルデータ読み出し装置
３０１…フィスカルコマンド受信部
３０２…フィスカルコマンド実行部
３０５…暗号化部
３０７…暗号化済みプリンターコマンド格納部
３０８…プリンターコマンド送信部
５０１…プリンターコマンド受信部
５０２…復号部
５０３…復号済みデータ格納部
５０４…順番情報抽出部
５０５…最新順番情報格納部
５０６…判定部
５０７…更新部
５０８…印刷制御部
９００…処理装置
ＳＮ…シリアル番号
【図１】
2011143625.tif 000003
【図２】
2011143625.tif 000004
【図３】
2011143625.tif 000005
【図４】
2011143625.tif 000006
【図５】
2011143625.tif 000007
【図６】
2011143625.tif 000008
【図７】
2011143625.tif 000009
【図８】
2011143625.tif 000010
【図９】
2011143625.tif 000011
【図１０】
2011143625.tif 000012