JP6160289B2 - 制御装置、および、制御装置の制御方法 - Google Patents

制御装置、および、制御装置の制御方法 Download PDF

Info

Publication number
JP6160289B2
JP6160289B2 JP2013130318A JP2013130318A JP6160289B2 JP 6160289 B2 JP6160289 B2 JP 6160289B2 JP 2013130318 A JP2013130318 A JP 2013130318A JP 2013130318 A JP2013130318 A JP 2013130318A JP 6160289 B2 JP6160289 B2 JP 6160289B2
Authority
JP
Japan
Prior art keywords
coupon
command
print instruction
receipt
instruction command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013130318A
Other languages
English (en)
Other versions
JP2015005161A5 (ja
JP2015005161A (ja
Inventor
明男 高本
明男 高本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2013130318A priority Critical patent/JP6160289B2/ja
Priority to CN201410239120.7A priority patent/CN104228365B/zh
Priority to US14/311,704 priority patent/US10048901B2/en
Publication of JP2015005161A publication Critical patent/JP2015005161A/ja
Publication of JP2015005161A5 publication Critical patent/JP2015005161A5/ja
Application granted granted Critical
Publication of JP6160289B2 publication Critical patent/JP6160289B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1241Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G5/00Receipt-giving machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Record Information Processing For Printing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、レシート発行用の印刷装置に接続された制御装置、および、当該制御装置の制御方法に関する。
従来、レシートや、クーポンを発行するシステムが知られている(例えば、特許文献1参照)。
この種のシステムでは、制御装置の制御の下、印刷装置によりレシートにクーポンの画像を印刷するものがある。
特開2009−129029号公報
上述したシステムのようにレシートにクーポンの画像を印刷するシステムでは、レシートにクーポンの画像を印刷するのではなく、レシートと、クーポンとを別個に発行することが求められる場合がある。その際、既存の制御装置について、できるだけ改変を行うことなく、レシートと、クーポンとを別個に発行できるようになれば、システムの変更に係る作業が容易化すると共に、コストの面でも有利である。
本発明は、上述した事情に鑑みてなされたものであり、制御装置について、改変を抑制しつつ、レシートと、クーポンとを別個に発行することを目的とする。
上記目的を達成するために、本発明は、レシート発行用の第1印刷装置に接続されると共に、前記第1印刷装置とは異なる第2印刷装置が接続された制御装置であって、前記第1印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第1印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第2印刷装置に出力するデータ処理部と、を備えることを特徴とする。
この構成によれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれているか否か判別した上で、含まれている場合、クーポン画像印刷指示コマンドが抜き出されたレシート用制御コマンドが第1印刷装置に出力され、クーポン画像印刷指示コマンドに基づくクーポン用制御コマンドが第2印刷装置に出力される。この結果、第1印刷装置によりクーポンの画像が印刷されていないレシートが発行され、第2印刷装置によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部が出力する制御コマンドは、レシート上にクーポンの画像を印刷するときの制御コマンドと同じであるため、印刷制御部の機能を実現するプログラムの改変が必要ない。すなわち、制御装置に対する改変を抑制できる。
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものである、という特性がある。そして、上記構成によれば、上記特性を踏まえ、レシート用制御コマンドから抽出した画像印刷指示コマンドに含まれる画像データと、予め記憶したテンプレートデータとの比較結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像には、特定の文字列が含まれているという特性がある。そして、上記構成によれば、上記特性を踏まえ、文字認識の結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある1の画像の一部は、特定のデータ列によって構成されている、という特性がある。そして、上記構成によれば、上記特性を踏まえ、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した前記画像印刷指示コマンドが、前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある1の画像の誤り検出符号、または、ハッシュ値は、特定の値である、という特性がある。そして、上記構成によれば、上記特性を踏まえ、誤り検出符号、または、ハッシュ値を利用して抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本発明は、前記印刷制御部は、発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係る前記クーポン画像印刷指示コマンドを前記レシート用制御コマンドに含め、前記データ処理部は、前記レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
この構成によれば、条件が成立した場合に、条件に対応するクーポン画像印刷指示コマンドがレシート用制御コマンドに含まれることを踏まえ、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれているか否かを的確に判別できる。
また、上記目的を達成するために、本発明は、レシート発行用の第1印刷装置に接続されると共に、前記第1印刷装置とは異なる第2印刷装置が接続された制御装置の制御方法であって、前記第1印刷装置にレシートを発行させるレシート用制御コマンドを生成する印刷制御ステップと前記印刷制御ステップが生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第1印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第2印刷装置に出力するデータ処理ステップと、を有することを特徴とする。
この制御方法によれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれているか否か判別した上で、含まれている場合、クーポン画像印刷指示コマンドが抜き出されたレシート用制御コマンドが第1印刷装置に出力され、クーポン画像印刷指示コマンドに基づくクーポン用制御コマンドが第2印刷装置に出力される。この結果、第1印刷装置によりクーポンの画像が印刷されていないレシートが発行され、第2印刷装置によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部が出力する制御コマンドは、レシート上にクーポンの画像を印刷するときの制御コマンドと同じであるため、印刷制御部の機能を実現するプログラムの改変が必要ない。すなわち、制御装置に対する改変を抑制できる。
また、上記目的を達成するために、本発明は、レシート発行用の第1印刷装置に接続されると共に、前記第1印刷装置とは異なる第2印刷装置が接続された制御装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記第1印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第1印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第2印刷装置に出力するデータ処理部と、として機能させることを特徴とする。
このプログラムによれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれているか否か判別した上で、含まれている場合、クーポン画像印刷指示コマンドが抜き出されたレシート用制御コマンドが第1印刷装置に出力され、クーポン画像印刷指示コマンドに基づくクーポン用制御コマンドが第2印刷装置に出力される。この結果、第1印刷装置によりクーポンの画像が印刷されていないレシートが発行され、第2印刷装置によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部が出力する制御コマンドは、レシート上にクーポンの画像を印刷するときの制御コマンドと同じであるため、印刷制御部の機能を実現するプログラムの改変が必要ない。すなわち、制御装置に対する改変を抑制できる。
本発明によれば、制御装置について、改変を抑制しつつ、レシートと、クーポンとを別個に発行できる。
本実施形態に係る制御システムの機能的構成を示すブロック図である。 ホストコンピューターの機能的構成を詳細に示すブロック図である。 ホストコンピューターの動作を示すフローチャートである。 (A)はレシート用制御コマンドの内容を示す図であり、(B)はレシート用制御コマンドに基づいて発行されるレシートを示す図である。 (A)は発行されるレシートを示す図であり、(B)は発行されるクーポンを示す図である。 第2実施形態に係るホストコンピューターの構成を示すブロック図。
以下、図面を参照して本発明の実施形態について説明する。
<第1実施形態>
図1は、本実施形態に係る制御システム1の機能的構成を示すブロック図である。
制御システム1は、スーパーマーケットや、コンビニエンスストア等の店舗に適用され、店舗における商品の販売の状況や、売上の状況、在庫の状況等を管理するいわゆるPOSシステムの一部である。制御システム1は、少なくとも、店舗に来店した顧客の会計に応じてレシートを発行する機能、および、レシートの発行に応じて適宜クーポンを発行する機能を有している。
制御システム1が適用される店舗では、複数のレジカウンターLが設けられている。レジカウンターLのそれぞれには、レシート発行用のプリンターであるレシートプリンター10(第1印刷装置)と、クーポン発行用のプリンターであるクーポンプリンター11(第2印刷装置)と、これらプリンターを制御するホストコンピューター12(制御装置)とが設けられている。
レシートプリンター10は、モノクロ印刷、または、グレースケール印刷が可能なサーマルプリンターであり、対応するホストコンピューター12の制御の下、感熱ロール紙の印刷面にサーマルヘッドによって熱を与えて画像を印刷した上で、所定の位置で感熱ロール紙を切断することにより、レシートを発行する。
また、クーポンプリンター11は、カラー印刷が可能なインクジェットプリンターであり、対応するホストコンピューター12の制御の下、ロール紙の印刷面にインクジェットヘッドによってインクを吐出して画像を印刷した上で、所定の位置でロール紙を切断することにより、クーポンを発行する。
図1における図示は省略したが、ホストコンピューター12には、LANや、インターネット等のネットワークを介して、POS管理サーバーが接続されている。POS管理サーバーは、商品マスターや、顧客マスター、在庫マスター等の各種データベースを記憶し、制御システム1を統括的に管理する。ホストコンピューター12は、レシートの発行に際し、適宜、POS管理サーバーにアクセスして必要な情報を取得する。
制御システム1は、図1に示す構成をとる以前は、ホストコンピューター12に、クーポンプリンター11が接続されず、レシートプリンター10のみが接続されていた。そして、クーポンの発行については、クーポンの画像が印刷されたレシートをレシートプリンター10に発行させていた。
そして、本実施形態に係る制御システム1は、サーマルプリンターよりもダイナミックな印字結果を得ることが可能なインクジェットプリンターたるクーポンプリンター11を新たに接続し、このクーポンプリンター11によってクーポンを発行し、これにより、レシートと、クーポンとを個別に発行することを目的の1つとしている。そして、このようなシステムの変更に際し、ホストコンピューター12に対するソフトウェア的な改変をできるだけ抑制し、システムの変更に係る作業を容易にすることにより、システムの変更に係るコストを削減している。
以下、ホストコンピューター12にレシートプリンター10のみが接続され、レシートにクーポンの画像を印刷していたシステムを、便宜的に、従来システムQという。
図1に示すように、ホストコンピューター12は、ホスト制御部20(制御部)と、ホスト入力部21と、ホスト表示部22と、ホスト記憶部23と、レシートプリンター通信部24と、クーポンプリンター通信部25と、デバイス通信部26と、ネットワーク通信部27と、を備えている。
ホスト制御部20は、CPUや、ROM、RAM、その他の周辺回路等を備え、ホストコンピューター12の各部を制御する。ホスト制御部20は、機能ブロックとして、印刷制御部40と、データ処理部41と、を備えているが、これらについては後述する。ホスト入力部21は、マウスや、キーボード等の入力デバイスに接続され、入力デバイスに対する入力を検出し、ホスト制御部20に当該入力データを出力する。ホスト表示部22は、液晶表示パネル等の表示パネルに接続され、ホスト制御部20の制御の下、各種データを表示パネルに表示する。ホスト記憶部23は、ハードディスクやEEPROM等のメモリーを備え、各種データを不揮発的に書き換え可能に記憶する。ホスト記憶部23には、POSアプリケーションAP、および、サーマルプリンタードライバーSPDが記憶(インストール)されると共に、クーポン画像データベースDB1が記憶されているが、これについては後述する。レシートプリンター通信部24は、ホスト制御部20の制御の下、所定の通信規格に準拠して、レシートプリンター10と通信する。クーポンプリンター通信部25は、ホスト制御部20の制御の下、所定の通信規格に準拠して、クーポンプリンター11と通信する。デバイス通信部26は、商品やその包装に付されたバーコードを読み取るバーコードリーダーや、会員カード等のカードに記録された情報を読み取るカードリーダー、紙幣や硬貨を収容するレジスター等の各デバイスに接続される。デバイス通信部14は、ホスト制御部20の制御の下、各デバイスと通信する。ネットワーク通信部27は、ホスト制御部20の制御の下、所定の通信規格に準拠して、ネットワークを介して、ネットワーク上の外部機器(例えば、上述したPOS管理サーバー)と通信する。
また、図1に示すように、レシートプリンター10は、レシートプリンター制御部30と、レシートプリンター印刷部31とを備えている。レシートプリンター制御部30は、CPU等を備え、レシートプリンター10の各部を制御する。レシートプリンター印刷部31は、サーマルヘッドや、記録媒体の搬送機構、記録媒体を切断する切断機構等を備えている。
また、図1に示すように、クーポンプリンター11は、クーポンプリンター制御部32と、クーポンプリンター印刷部33とを備えている。クーポンプリンター制御部32は、CPU等を備え、クーポンプリンター11の各部を制御する。クーポンプリンター印刷部33は、インクジェットヘッドや、ヘッドを走査させるキャリッジ、記録媒体の搬送機構、記録媒体を切断する切断機構等を備えている。インクジェットヘッドは、複数の色のインクカートリッジからインクの供給を受ける構成となっており、クーポンプリンター11は、カラー印刷が可能である。
図2は、ホストコンピューター12の機能的構成をより詳細に示す図である。
図2では、説明の便宜のため、機能ブロックや、プログラム、ソフトウェア的(論理的)なポート、物理的な装置等を、同等のブロックで表現している。
なお、以下で説明する機能ブロックのそれぞれの機能は、CPUがプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
ホスト制御部20が備える印刷制御部40は、サーマルプリンターであるレシートプリンター10(第1印刷装置)に対応した制御コマンドを生成して出力する機能、および、レシートプリンター10から入力されたデータを処理する機能を少なくとも有する機能ブロックである。
印刷制御部40の機能は、POSアプリケーションAP、サーマルプリンタードライバーSPD、および、これらに付随するプログラムによって実現される。
POSアプリケーションAPは、レシートの発行に際し、レシートの発行に必要な情報を含んだデータ(以下、「印刷データ」という。)を生成し、サーマルプリンタードライバーSPDに対して出力する機能を有している。
また、サーマルプリンタードライバーSPDは、入力された印刷データに基づいて、レシートプリンター10のコマンド体系に準拠した制御コマンドを生成し、ソフトウェア的(論理的)なポートとして開放されている仮想ポートKPに出力する。
なお、所定の出力データについては、POSアプリケーションAPにより生成された後、直接、仮想ポートKPに出力され、また、所定の入力データについては、仮想ポートKPを介して、直接、POSアプリケーションAPに入力される。
ここで、上述した従来システムQでは、クーポンを発行する場合、レシートにクーポンの画像を印刷していた。後に明らかとなるとおり、本実施形態に係る制御システム1は、レシートとクーポンとの発行を別個に行うが、そうするために、POSアプリケーションAP、および、サーマルプリンタードライバーSPDに対する改変が行われない。従って、クーポンの発行にあたり、印刷制御部40が出力する制御コマンドは、従来の制御コマンドと同一である。
以下、印刷制御部40が出力する制御コマンドを「レシート用制御コマンド」という。
印刷制御部40により仮想ポートKPに出力されたレシート用制御コマンドは、データ処理部41が備えるポートハンドラー45に引き渡される。すなわち、印刷制御部40は、生成したレシート用制御コマンドを、仮想ポートKPを介してデータ処理部41に出力する。
データ処理部41は、ホスト制御部20が備える機能ブロックであり、図2に示すように、機能ブロックとして、ポートハンドラー45と、クーポン判別部46と、コマンド処理部47と、を備えている。このデータ処理部41は、POSアプリケーションAP、および、サーマルプリンタードライバーSPDの機能を拡張することを1つの目的としている。後に明らかとなるとおり、本実施形態では、POSアプリケーションAP、および、サーマルプリンタードライバーSPDに対する改変を伴うことなく、システムの変更が行われているが、これは、データ処理部41の機能により実現されている。
データ処理部41が備えるポートハンドラー45は、物理的なポートである第1通信ポートTP1、および、第2通信ポートTP2との間でデータの入出力が可能である。これら通信ポートは、例えば、USBの通信規格に係る通信ポートである。第1通信ポートTP1には、対応する通信規格に準拠した通信ケーブルを介してレシートプリンター10が接続されている。また、第2通信ポートTP2には、対応する通信規格に準拠した通信ケーブルを介してクーポンプリンター11が接続されている。
ポートハンドラー45は、少なくとも、以下の機能を有している。
ポートハンドラー45の1つの機能は、仮想ポートKPを介して入力されたデータ(例えば、レシート用制御コマンド)をクーポン判別部46に出力する機能である。
ポートハンドラー45の別の機能は、コマンド処理部47(後述)から入力されたデータを、コマンド処理部47からの指示に応じて、第1通信ポートTP1、または、第2通信ポートTP2に出力する機能である。出力に際し、ポートハンドラー45は、PCS(Port Communication Service)の機能により、出力するポートに対応したデータ変換を行う。
PCSとは、サーマルプリンタードライバーSPDを含むプログラムから呼び出し可能な関数であり、インターフェースの規格(RS232Cや、USB等の規格)に対応したデータ変換を行なう機能を有している。PCSにより、各種インターフェースの規格の差異が吸収され、POSアプリケーションAPや、サーマルプリンタードライバーSPDに対して各種インターフェースの規格の差異に起因したソフトウェア的な改変を行なう必要が無くなる。
データ処理部41が備えるクーポン判別部46、および、コマンド処理部47は、協働して、以下の処理を行う。すなわち、印刷制御部40から入力されたレシート用制御コマンドに基づいて、処理後レシート用制御コマンド、および、クーポン用制御コマンドを生成し、出力する処理を行う。これら機能ブロックの処理については、後に詳述する。
クーポン判別部46、および、コマンド処理部47の機能は、OPOSや、UPOSが提供するAPI関数を利用して作成されたプログラムによって実現される。そして、これら機能ブロックに係るプログラムは、同じくOPOSや、UPOSの規格に準拠したサーマルプリンタードライバーSPDによって、適宜、呼び出し可能な構成となっている。
レシートプリンター通信部24は、ポートハンドラー45から第1通信ポートTP1に入力されたデータについて、対応する通信規格に準拠して、レシートプリンター10に送信する。
また、クーポンプリンター通信部25は、ポートハンドラー45から第2通信ポートTP2に入力されたデータについて、対応する通信規格に準拠して、クーポンプリンター11に送信する。
なお、階層型のオペレーティングシステムにおいて、印刷制御部40、および、データ処理部41はアプリケーション層S1に位置し、また、仮想ポートKPはカーネル層S2に位置し、また、第1通信ポートTP1、および、第2通信ポートTP2は物理層S3に位置する。
次に、制御システム1により、レシート、および、クーポンを発行する場合のホストコンピューターの動作、特に、印刷制御部40、および、データ処理部41の動作について説明する。
図3は、上記動作時の各機能ブロックの動作を示すフローチャートであり、(A)は印刷制御部40の動作を、(B)はデータ処理部41の動作をそれぞれ示している。
なお、以下の説明では、印刷制御部40が出力するレシート用制御コマンドは、クーポンの画像が印刷されたレシートを発行するためのコマンドであるものとする。
印刷制御部40は、レシートプリンター10のコマンド体系に準拠したレシート用制御コマンドを生成し(ステップSA1)、仮想ポートKPを介して、データ処理部41のポートハンドラー45に出力する(ステップSA2)。
クーポンの画像の画像データは、POSアプリケーションAPがアクセス可能な記憶領域に記憶されている。ステップSA1において、POSアプリケーションAPは、記憶された複数のクーポンの画像データのうち、適切な画像データを選択し、選択した画像データを含む印刷データをサーマルプリンタードライバーSPDに出力する。
図4(A)は、レシート用制御コマンドの内容の一例を示す図であり、図4(B)は、図4(A)のレシートに基づいて、従来システムQで発行されるレシート(クーポンの画像が印刷されたレシート)を示す図である。
図4(A)に示すように、レシート用制御コマンドは複数のコマンドを含んで構成されており、その先頭には、トップロゴ印刷指示コマンドC1が記述されている。
トップロゴ印刷指示コマンドC1は、トップロゴ画像R1(図4(B))の印刷を指示するコマンドであり、画像印刷指示コマンドGCを含んで構成されている。画像印刷指示コマンドGCは、グラフィック画像の印刷を指示する命令コードと、印刷すべき画像の画像データと、を含んで構成されている。
画像データとは、ビットマップデータや、ラスターデータ等の、画像を構成する画素ごとに、色に関する情報を例えば階調値として保持するデータのことである。本実施形態では、画像印刷指示コマンドGCは、「XXX“画像データ”」(ただし、「XXX」は、画像データに基づく画像の印刷を指示する命令コード。)という構成となっている。トップロゴ印刷指示コマンドC1に係る画像印刷指示コマンドGCは、「XXX“トップロゴ画像R1の画像データ”」という構成となっている。
トップロゴ印刷指示コマンドC1の次には、発行日時印刷指示コマンドC2が記述されている。この発行日時印刷指示コマンドC2は、発行日時画像R2(図4(B))の印刷を指示するコマンドであり、文字列印刷指示コマンドMC、および、改行コマンドLFを含んで構成されている。
文字列印刷指示コマンドMCは、文字列を指定すると共に、指定した文字列の印刷を指示するコマンドである。文字列印刷指示コマンドMCは、文字列の印刷を指示する命令コードと、文字列を指定するデータ部と、を含んで構成されている。データ部には、所定の文字コード(例えば、Unicodeや、アスキーコード)によって表現された文字の組み合わせが記述される。発行日時印刷指示コマンドC2に係る文字列印刷指示コマンドMCは、「YYY“2013/1/1/12:00”」(ただし、「YYY」は、文字列の記録を指示する命令コード。ダブルクォーテーション内は、データ部であり印刷すべき文字列が指定されている。)という構成となっている。
改行コマンドLFは、改行を指示するコマンドである。
発行日時印刷指示コマンドC2の次には、明細印刷指示コマンドC3が記述されている。明細印刷指示コマンドC3は、明細画像R3(図4(B))の印刷を指示するコマンドであり、商品の名称、商品の単価、購入数量、および、購入金額を表わす文字列の印刷を指示する文字列印刷指示コマンドMCと、改行コマンドLFとを含んで構成されている。明細印刷指示コマンドC3は、複数種類の商品が購入された場合には、複数存在する。
明細印刷指示コマンドC3の次には、合計金額印刷指示コマンドC4が記述されている。合計金額印刷指示コマンドC4は、合計金額画像R4(図4(B))の印刷を指示するコマンドであり、「Total」という文字列、および、合計金額を示す文字列の印刷を指示する文字列印刷指示コマンドMCと、改行コマンドLFとを含んで構成されている。
合計金額印刷指示コマンドC4の次には、クーポン画像印刷指示コマンドC5が記述されている。クーポン画像印刷指示コマンドC5は、クーポン画像R5(図4(B))の印刷を指示するコマンドである。クーポン画像印刷指示コマンドC5は、クーポン画像R5の画像データ(以下、「クーポン画像データ」という。)を含み、当該クーポン画像データに基づいてクーポン画像R5の印刷を指示する画像印刷指示コマンドGCを含んで構成されている。クーポン画像印刷指示コマンドC5に係る画像印刷指示コマンドGCは、「XXX“クーポン画像データ”」という構成となっている。
このように、クーポン画像印刷指示コマンドC5は、クーポン画像データに基づいて画像の印刷を指示する画像印刷指示コマンドGCである。
クーポン画像印刷指示コマンドC5の次には、ボトムロゴ印刷指示コマンドC6が記述されている。ボトムロゴ印刷指示コマンドC6は、ボトムロゴ画像R6(図4(B))の印刷を指示するコマンドである。ボトムロゴ印刷指示コマンドC6は、ボトムロゴ画像R6の画像データを含み、当該画像データに基づいてボトムロゴ画像R6の印刷を指示する画像印刷指示コマンドGCを含んで構成されている。
レシート用制御コマンドにおいて、ボトムロゴ印刷指示コマンドC6の次には、切断指示コマンドSSが記述されている。この切断指示コマンドSSは、ロール紙の切断を指示するコマンドである。レシート用制御コマンドにおいて、この切断指示コマンドSSが必ず最後のコマンドとなる。
さて、図3に戻り、データ処理部41のポートハンドラー45は、入力されたレシート用制御コマンドをクーポン判別部46に出力する(ステップSB1)。
データ処理部41のクーポン判別部46は、入力されたレシート用制御コマンドを解析し、レシート用制御コマンドにクーポン画像印刷指示コマンドC5が含まれているか否かを判別する(ステップSB2)。
以下、ステップSB2の処理について詳述する。
図4(A)を用いて例示したように、レシート用制御コマンドには、クーポン画像R5の印刷を指示する画像印刷指示コマンドGCのほかにも、トップロゴ画像R1や、ボトムロゴ画像R6等のグラフィック画像の印刷を指示する画像印刷指示コマンドGCが含まれている。そして、各画像に係る画像印刷指示コマンドGCは、それぞれデータ構造が同様であり、ある1つの画像印刷指示コマンドGCが、クーポン画像R5の印刷を指示するコマンド(クーポン画像印刷指示コマンド)であるのか否かは、データ構造のみからでは判別することはできない。
以上を踏まえ、クーポン判別部46は、以下の4つの方法のいずれかで、レシート用制御コマンドにクーポン画像印刷指示コマンドC5が含まれているか否かを判別する。
(方法1)
クーポン判別部46は、レシート用制御コマンドに含まれる画像印刷指示コマンドGCを抽出する。画像印刷指示コマンドGCは、特定の命令コード(本例では、XXX)を含んで構成されているため、このことを利用して、クーポン判別部46は、画像印刷指示コマンドGCの抽出を行う。
方法1では、事前に、POSアプリケーションAPが選択可能なクーポン画像データの全て、換言すれば、レシートに印刷される可能性のあるクーポン画像のクーポン画像データの全てが、ホスト記憶部23の所定の記憶領域に記憶されている。以下、ホスト記憶部23に記憶されたクーポン画像データを、「テンプレートクーポン画像データ」という。テンプレートクーポン画像データのそれぞれは、ビットマップデータであるものとする。テンプレートクーポン画像データは、「テンプレートデータ」に該当する。ホスト記憶部23において、テンプレートクーポン画像データのそれぞれは、クーポンを一意に識別するための識別情報であるクーポン識別情報と対応付けて記憶されている。
そして、クーポン判別部46は、抽出した画像印刷指示コマンドGCから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。例えば、画像データがラスターデータの場合、クーポン判別部46は、適切なデータ整形を行った上で、ラスターデータに基づいて画像データの展開を実行する。
次いで、クーポン判別部46は、展開した画像データについて、テンプレートクーポン画像データをテンプレートとして、全てのテンプレートクーポン画像データとの間でパターンマッチング(比較)する。パターンマッチングは、存在するどのような方法で行ってもよい。
パターンマッチングの結果、1つでも一致するものがあれば、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データであるからである。
なお、一致した場合、クーポン判別部46は、一致したテンプレートクーポン画像データに対応付けられたクーポン識別情報を取得する。
一方、パターンマッチングの結果、1つも一致するものがなければ、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データではないからである。
なお、パターンマッチングは、データの一部について行ってもよい。また、テンプレートクーポン画像データと、比較対象の画像データとが対応するデータであり、これらデータが完全に一致しない構成となっている場合は、所定の閾値を上回る強さで近似していれば、一致するとみなしてもよい。
クーポン判別部46は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドGCを抽出し、抽出した画像印刷指示コマンドGCのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、1つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが1つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
(方法2)
クーポン判別部46は、レシート用制御コマンドに含まれる画像印刷指示コマンドGCを抽出する。
方法2では、事前に、全てのクーポン(クーポン画像データ)について、クーポンごとに、各クーポンの画像に含まれている文字列が特定され、各文字列が、クーポン識別情報と対応付けてホスト記憶部23の所定の記憶領域に記憶されている。以下、ホスト記憶部23に記憶された文字列を、「比較対象文字列」という。例えば、クーポンAの画像に文字列「商品AA10%割引」という文字列が含まれ、他のクーポンの画像に当該文字列が含まれていない場合は、比較対象文字列として、この文字列「商品AA10%割引」が選択的に特定され、クーポン識別情報と対応付けて記憶される。
そして、クーポン判別部46は、抽出した画像印刷指示コマンドGCから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。
次いで、クーポン判別部46は、展開した画像データについて、文字認識し、画像データに係る画像に含まれる文字列を抽出する。文字認識は、存在するどのような方法で行ってもよい。
次いで、クーポン判別部46は、比較対象文字列の中に、抽出した文字列に含まれているものがあるか否かを判別する。当該判別は、文字列検索等の存在する技術のいずれを利用して行われてもよい。
比較対象文字列のいずれかが、抽出した文字列に含まれている場合、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データであるからである。この場合、クーポン判別部46は、抽出した文字列に含まれている比較対象文字列に対応付けられたクーポン識別情報を取得する。
比較対象文字列のいずれも、抽出した文字列に含まれていない場合、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データではないからである。
クーポン判別部46は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドGCを抽出し、抽出した画像印刷指示コマンドGCのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、1つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが1つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
(方法3)
クーポン判別部46は、レシート用制御コマンドに含まれる画像印刷指示コマンドGCを抽出する。
方法3では、事前に、POSアプリケーションAPが選択可能なクーポン画像データの全て、換言すれば、レシートに印刷される可能性のあるクーポン画像のクーポン画像データの全てについて、以下のデータがホスト記憶部23の所定の記憶領域に記憶されている。すなわち、各クーポン画像データの特定の行の特定のビット列(データ列)である。特定の行は、複数であってもよく、また、ビット列は、1行分の全てのビットではなく、一部分であってもよい。
各クーポンのビット列は、それぞれ、クーポン識別情報と対応付けてホスト記憶部23の所定の記憶領域に記憶されている。以下、ホスト記憶部23に記憶されたビット列を、「比較対象ビット列」という。
そして、クーポン判別部46は、抽出した画像印刷指示コマンドGCから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。
次いで、クーポン判別部46は、展開した画像データについて、特定の行の特定のビット列を抽出する。
次いで、クーポン判別部46は、抽出したビット列と、記憶した比較対象ビット列のそれぞれとを比較する。
比較の結果、比較対象ビット列のいずれかが、抽出したビット列と一致した場合、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データであるからである。この場合、クーポン判別部46は、一致した比較対象ビット列に対応付けられたクーポン識別情報を取得する。
比較の結果、比較対象ビット列のいずれも、抽出したビット列と一致しない場合、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データではないからである。
クーポン判別部46は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドGCを抽出し、抽出した画像印刷指示コマンドGCのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、1つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが1つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
(方法4)
クーポン判別部46は、レシート用制御コマンドに含まれる画像印刷指示コマンドGCを抽出する。
方法4では、事前に、POSアプリケーションAPが選択可能なクーポン画像データの全て、換言すれば、レシートに印刷される可能性のあるクーポン画像のクーポン画像データの全てについて、所定の方式の誤り検出符号、又は、予め定められたハッシュ関数を用いたハッシュ値がホスト記憶部23の所定の記憶領域に記憶されている。以下、誤り検出符号、および、ハッシュ値を総称して、「データ由来値」という。
各クーポンのデータ由来値は、それぞれ、クーポン識別情報と対応付けてホスト記憶部23の所定の記憶領域に記憶されている。以下、ホスト記憶部23に記憶されたデータ由来値を、「比較対象由来値」という。
そして、クーポン判別部46は、抽出した画像印刷指示コマンドGCから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。
次いで、クーポン判別部46は、展開した画像データについて、データ由来値を算出する。データ由来値が誤り検出符号の場合は、所定の方式に従って誤り検出符号を算出し、データ由来値がハッシュ値の場合は、所定のハッシュ関数を用いてハッシュ値を算出する。
次いで、クーポン判別部46は、算出したデータ由来値と、記憶した比較対象由来値のそれぞれとを比較する。
比較の結果、比較対象由来値のいずれかが、算出したデータ由来値と一致した場合、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データであるからである。この場合、クーポン判別部46は、一致した比較対象由来値に対応付けられたクーポン識別情報を取得する。
比較の結果、比較対象由来値のいずれも、算出したデータ由来値と一致しない場合、クーポン判別部46は、抽出した画像印刷指示コマンドGCは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドGCに含まれる画像データがクーポン画像データではないからである。
クーポン判別部46は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドGCを抽出し、抽出した画像印刷指示コマンドGCのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、1つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが1つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
以上、4つの方法について説明したが、いずれの方法であっても、レシート用制御コマンドにクーポン画像印刷指示コマンドC5が含まれている場合は、クーポン判別部46は、当該クーポン画像印刷指示コマンドC5によって印刷が指示されたクーポン画像R5のクーポン識別情報を取得する。
さて、前掲図3に戻り、ステップSB2において、クーポン判別部46は、上述した4つの方法のいずれかで、レシート用制御コマンドにクーポン画像印刷指示コマンドC5が含まれているか否かを判別する。
含まれていない場合(ステップSB2:NO)、通常の方法によりレシートの発行が行われる(ステップSB3)。ステップSB3の処理の詳細は省略する。
一方、含まれている場合(ステップSB2:YES)、クーポン判別部46は、レシート用制御コマンドをコマンド処理部47に出力する(ステップSB4)。
コマンド処理部47は、入力されたレシート用制御コマンドからクーポン画像印刷指示コマンドC5を抜き出すと共に、整合性を保つために必要なデータ処理を行って、処理後レシート用制御コマンドを生成する(ステップSB5)。つまり、処理後レシート用制御コマンドは、クーポン画像印刷指示コマンドC5が記述されておらず、従って、処理後レシート用制御コマンドに基づいて画像を印刷した場合、クーポン画像R5の印刷は行われない。
次いで、コマンド処理部47は、出力先のポートとして第1通信ポートTP1を指定する情報と共に、処理後レシート用制御コマンドをポートハンドラー45に出力する(ステップSB6)。
ポートハンドラー45は、指定された第1通信ポートTP1に応じたデータ処理を実行すると共に、第1通信ポートTP1に、処理後レシート用制御コマンドを出力する(ステップSB7)。これにより、処理後レシート用制御コマンドがレシートプリンター10に送信される。レシートプリンター10のレシートプリンター制御部30は、処理後レシート用制御コマンドに基づいて各種処理を実行して、レシートを発行する。
図5(A)は、発行されたレシートの一例を示す図である。図5(A)と、図4(B)との比較で明らかなとおり、処理後レシート用制御コマンドに基づいて発行されたレシートにはクーポン画像R5が印刷されない。
さらに、コマンド処理部47は、クーポン判別部46によってクーポン画像印刷指示コマンドC5であると判別されたコマンドに基づいて、クーポン用制御コマンドを生成する(ステップSB8)。
詳述すると、上述したように、ホストコンピューター12のホスト記憶部23には、クーポン画像データベースDB1が記憶されている。このクーポン画像データベースDB1では、発行可能なクーポンのそれぞれについて、クーポンプリンター11に対応した画像データ(以下、「印刷用クーポン画像データ」という。)と、クーポン識別情報と、が対応付けて記憶されている。クーポンプリンター11に対応した画像データとは、当該プリンターの解像度や、印刷方式に対応しており、クーポンプリンター11によって当該画像データに基づく画像の印刷が可能なものをいう。
そして、コマンド処理部47は、クーポン判別部46が取得したクーポン識別情報を取得する。このクーポン識別情報は、レシートに印刷されるはずだったクーポン画像R5のクーポン識別情報である。次いで、コマンド処理部47は、クーポン画像データベースDB1を参照し、取得したクーポン識別情報と対応付けられた印刷用クーポン画像データを取得する。
次いで、コマンド処理部47は、クーポンプリンター11のコマンド体系に準拠した制御コマンドであって、取得した印刷用クーポン画像データに基づく画像の印刷を指示する制御コマンドであるクーポン用制御コマンドを生成する。
クーポン用制御コマンドの生成後、コマンド処理部47は、出力先のポートとして第2通信ポートTP2を指定する情報と共に、クーポン用制御コマンドをポートハンドラー45に出力する(ステップSB9)。
ポートハンドラー45は、指定された第2通信ポートTP2に応じたデータ処理を実行すると共に、第2通信ポートTP2に、クーポン用制御コマンドを出力する(ステップSB10)。これにより、クーポン用制御コマンドがクーポンプリンター11に送信される。クーポンプリンター11のクーポンプリンター制御部32は、クーポン用制御コマンドに基づいて各種処理を実行して、クーポンを発行する。
図5(B)は、発行されたクーポンの一例を示す図である。図5(B)と、図4(B)との比較で明らかなとおり、クーポンには、従来システムQでレシートに印刷されていたクーポン画像R5に対応する画像が印刷される。
以上説明したように、本実施形態に係るホストコンピューター12は、レシートプリンター10(第1印刷装置)にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部40を備えている。さらに、ホストコンピューター12は、印刷制御部40が生成したレシート用制御コマンドに、クーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、クーポン画像印刷指示コマンドを抜き出して生成した処理後レシート用制御コマンドをレシートプリンター10に出力すると共に、クーポン画像印刷指示コマンドに基づいて、クーポンの画像を印刷させるクーポン用制御コマンドを生成し、クーポンプリンター11に出力するデータ処理部41、を備える。
この構成によれば、レシートプリンター10によりクーポンの画像が印刷されていないレシートが発行され、クーポンプリンター11によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部40が出力するレシート用制御コマンドは、従来システムQにおけるものと同じであるため、印刷制御部40の機能を実現するプログラムについて改変が必要ない。すなわち、ホストコンピューター12に対する改変を抑制できる。
また、本実施形態では、データ処理部41は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものである、という特性がある。そして、上記構成によれば、上記特性を踏まえ、レシート用制御コマンドから抽出した画像印刷指示コマンドに含まれる画像データと、予め記憶したテンプレートデータとの比較結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本実施形態では、データ処理部41は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像には、特定の文字列が含まれているという特性がある。そして、上記構成によれば、上記特性を踏まえ、文字認識の結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本実施形態では、データ処理部41は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある1の画像の一部は、特定のデータ列によって構成されている、という特性がある。そして、上記構成によれば、上記特性を踏まえ、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
また、本実施形態では、データ処理部41は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある1の画像の誤り検出符号、または、ハッシュ値は、特定の値である、という特性がある。そして、上記構成によれば、上記特性を踏まえ、誤り検出符号、または、ハッシュ値を利用して抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
<第2実施形態>
次いで、第2実施形態について説明する。
図6は、第2実施形態に係るホストコンピューター12の機能的構成を示すブロック図である。以下の説明において、第1実施形態と同一の構成要素については、同一の符号を付し、その説明を省略する。
図2と、図6との比較によって明らかなとおり、本実施形態では、条件データベースDB2がホスト記憶部23(図6では図示を省略)に記憶されている点が第1実施形態と異なっている。
条件データベース51aには、従来システムQにおいて、クーポンの画像をレシートに印刷する条件と、条件が成立した場合に印刷するクーポンのクーポン識別情報とが対応付けて記憶されている。条件は、複数存在してもよい。
条件は、例えば、以下のようなものである。すなわち、レシートの発行に係る会計において、所定の商品名の商品が購入されていること、所定の商品名の商品を、所定の個数以上購入したこと、を条件としてもよい。また、合計金額が予め定められた所定の金額を上回ったこと、が条件の一例である。
なお、条件は、時間帯や、会員によって動的に変更する構成であってもよい。すなわち、条件とは、レシートに印刷される情報に基づいて、その成否が決定するものであれば、どのようなものであってもよい。
次いで、レシート、および、クーポンを別個に発行する場合の処理について説明する。
印刷制御部40は、レシートを発行する際、POSアプリケーションAPの機能により、条件データベースDB2にアクセスし、成立した条件が存在するか否かを判別する。
成立した条件が存在する場合、印刷制御部40は、条件に対応付けられたクーポン識別情報のクーポンの画像をレシートに印刷することを指示するレシート用制御コマンド(図4(A)で例示したコマンド)を生成し、ポートハンドラー45に出力する。
上述したように、印刷制御部40が生成するレシート用制御コマンドには、クーポン画像印刷指示コマンドが含まれている。
ポートハンドラー45は、入力されたレシート用制御コマンドをクーポン判別部46に出力する。クーポン判別部46は、入力されたレシート用制御コマンドを分析すると共に、適宜、条件データベースDB2にアクセスし、成立した条件があるか否かを判別する。詳述すると、クーポン判別部46は、レシート用制御コマンドを分析し、購入された商品の商品名や、個数、合計金額等の条件の成否を決定するために必要な情報を取得する。その上で、クーポン判別部46は、条件データベースDB2にアクセスし、当該データベースに格納された条件のそれぞれについて、その成否を判別する。
成立した条件が存在する場合、クーポン判別部46は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。次いで、クーポン判別部46は、レシート用制御コマンドの中から、クーポン画像印刷指示コマンドを特定する。当該特定は、どのような方法で行われてもよい。例えば、他の画像との関係でクーポン画像R5の位置が予め定められている場合、クーポン判別部46は、他の画像との位置関係を踏まえて、クーポン画像印刷指示コマンドを特定する。
その後、第1実施形態と同様の手法により、コマンド処理部47は、処理後レシート用制御コマンドを生成して、レシートプリンター10に出力させると共に、クーポン用制御コマンドを生成して、クーポンプリンター11に出力させる。
以上により、印刷制御部40の機能を実現するためのプログラムに改変を加えることなく、レシートとクーポンとが別個に発行される。
以上説明したように、本実施形態では、印刷制御部40は、発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係るクーポン画像印刷指示コマンドをレシート用制御コマンドに含める。そして、データ処理部41は、レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
この構成によれば、条件が成立した場合に、条件に対応するクーポン画像印刷指示コマンドがレシート用制御コマンドに含まれることを踏まえ、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれているか否かを的確に判別できる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、第1印刷装置がサーマル方式のプリンターであり、第2印刷装置がインクジェット方式のプリンターであったが、プリンターの形式は何でもよい。
また、図1、2、6に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、ホストコンピューター12の各機能を、これら装置に外部接続される別の装置に持たせてもよい。また、ホストコンピューター12は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
1…制御システム、10…レシートプリンター(第1印刷装置)、11…クーポンプリンター(第2印刷装置)、12…ホストコンピューター(制御装置)、20…ホスト制御部(制御部)、40…印刷制御部、41…データ処理部、45…ポートハンドラー、46…クーポン判別部、47…コマンド処理部。

Claims (12)

  1. レシート発行用の第1印刷装置に接続されると共に、前記第1印刷装置とは異なる第2印刷装置が接続された制御装置であって、
    前記第1印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、
    前記印刷制御部が生成した前記レシート用制御コマンドに、クーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれていると判別した場合、前記クーポン画像印刷指示コマンドを抜き出した処理後レシート用制御コマンドを生成して前記第1印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて前記クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第2印刷装置に出力するデータ処理部と、を備え、
    前記データ処理部は、
    前記レシート用制御コマンドに含まれるコマンドであって画像の印刷を指示する画像印刷指示コマンドを抽出し、抽出した前記画像印刷指示コマンドの中に前記クーポン画像印刷指示コマンドが含まれているか否かを判別する
    ことを特徴とする制御装置。
  2. 前記データ処理部は、
    抽出した前記画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項1に記載の制御装置。
  3. 前記データ処理部は、
    抽出した前記画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項1に記載の制御装置。
  4. 前記データ処理部は、
    抽出した前記画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項1に記載の制御装置。
  5. 前記データ処理部は、
    抽出した前記画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した前記画像印刷指示コマンドが、前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項1に記載の制御装置。
  6. 前記印刷制御部は、
    発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係る前記クーポン画像印刷指示コマンドを前記レシート用制御コマンドに含め、
    前記データ処理部は、
    前記レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別することを特徴とする請求項1に記載の制御装置。
  7. レシート発行用の第1印刷装置に接続されると共に、前記第1印刷装置とは異なる第2印刷装置が接続された制御装置の制御方法であって、
    前記第1印刷装置にレシートを発行させるレシート用制御コマンドを生成する印刷制御ステップと、
    前記印刷制御ステップが生成した前記レシート用制御コマンドに、クーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれていると判別した場合、前記クーポン画像印刷指示コマンドを抜き出した処理後レシート用制御コマンドを生成して前記第1印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて前記クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第2印刷装置に出力するデータ処理ステップと、を備え、
    前記データ処理ステップは、
    前記レシート用制御コマンドに含まれるコマンドであって画像の印刷を指示する画像印刷指示コマンドを抽出し、抽出した前記画像印刷指示コマンドの中に前記クーポン画像印刷指示コマンドが含まれているか否かを判別する
    ことを特徴とする制御装置の制御方法。
  8. 前記データ処理ステップは、
    抽出した前記画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項7に記載の制御装置の制御方法。
  9. 前記データ処理ステップは、
    抽出した前記画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項7に記載の制御装置の制御方法。
  10. 前記データ処理ステップは、
    抽出した前記画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項7に記載の制御装置の制御方法。
  11. 前記データ処理ステップは、
    抽出した前記画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した前記画像印刷指示コマンドが、前記クーポン画像印刷指示コマンドであると判別し、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項7に記載の制御装置の制御方法。
  12. 前記印刷制御ステップは、
    発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係る前記クーポン画像印刷指示コマンドを前記レシート用制御コマンドに含め、
    前記データ処理ステップは、
    前記レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、前記レシート用制御コマンドに、前記クーポン画像印刷指示コマンドが含まれていると判別する
    ことを特徴とする請求項7に記載の制御装置の制御方法。
JP2013130318A 2013-06-21 2013-06-21 制御装置、および、制御装置の制御方法 Expired - Fee Related JP6160289B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013130318A JP6160289B2 (ja) 2013-06-21 2013-06-21 制御装置、および、制御装置の制御方法
CN201410239120.7A CN104228365B (zh) 2013-06-21 2014-05-30 控制装置、控制装置的控制方法
US14/311,704 US10048901B2 (en) 2013-06-21 2014-06-23 Control device, control method of a control device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013130318A JP6160289B2 (ja) 2013-06-21 2013-06-21 制御装置、および、制御装置の制御方法

Publications (3)

Publication Number Publication Date
JP2015005161A JP2015005161A (ja) 2015-01-08
JP2015005161A5 JP2015005161A5 (ja) 2016-05-19
JP6160289B2 true JP6160289B2 (ja) 2017-07-12

Family

ID=52110683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013130318A Expired - Fee Related JP6160289B2 (ja) 2013-06-21 2013-06-21 制御装置、および、制御装置の制御方法

Country Status (2)

Country Link
US (1) US10048901B2 (ja)
JP (1) JP6160289B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6638391B2 (ja) 2015-02-12 2020-01-29 セイコーエプソン株式会社 プリンタードライバーおよびposシステム
US11010778B2 (en) * 2017-03-06 2021-05-18 Valassis Communications, Inc. Blockchain data
JP7232619B2 (ja) * 2018-10-30 2023-03-03 セイコーインスツル株式会社 プリンタシステム、プリンタ、プリンタシステムの制御方法、およびプリンタの制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3865611B2 (ja) * 2001-10-11 2007-01-10 富士通株式会社 データ収集方法
US20030193686A1 (en) * 2002-04-15 2003-10-16 Ncr Corporation Serial data conversion
JP2006323445A (ja) * 2005-05-17 2006-11-30 Seiko Epson Corp 印刷システム、posシステム、接続デバイス、印刷システムの制御方法およびそのプログラム
US20090066996A1 (en) * 2005-05-17 2009-03-12 Seiko Epson Corporation Printing System, POS System, Connection Device, Control Method of Printing System, and Program Therefor
JP2008244628A (ja) * 2007-03-26 2008-10-09 Murata Mach Ltd 画像処理装置
JP5214225B2 (ja) 2007-11-20 2013-06-19 カタリナ マーケティング ジャパン株式会社 クーポン発行管理システム
JP5272897B2 (ja) * 2008-07-29 2013-08-28 セイコーエプソン株式会社 印刷装置、印刷装置の制御方法及び制御プログラム
JP2012168758A (ja) * 2011-02-15 2012-09-06 Seiko Epson Corp 印刷物編集用プログラム、印刷物編集装置、及び、印刷物編集方法
JP2012208765A (ja) 2011-03-30 2012-10-25 Seiko Epson Corp 印刷内容変更プログラム、印刷内容変更方法、及び、ホスト装置
JP5742416B2 (ja) * 2011-04-15 2015-07-01 セイコーエプソン株式会社 広告宣伝機能拡張プログラム、広告宣伝機能拡張方法、及び、ホスト装置
US10346874B2 (en) * 2011-09-15 2019-07-09 Quotient Technology Inc. Checkout-based distributed of digital promotions

Also Published As

Publication number Publication date
US20140376009A1 (en) 2014-12-25
CN104228365A (zh) 2014-12-24
JP2015005161A (ja) 2015-01-08
US10048901B2 (en) 2018-08-14

Similar Documents

Publication Publication Date Title
US9672456B2 (en) Image processing device, printing device, and image processing method
JP5090526B2 (ja) 両面印刷のためのデータ分割方法
US9898691B2 (en) Control device, control system, and control method of a control device
US8659788B2 (en) Reduced printing width printer, printer control method, and operation control method
US10430697B2 (en) Printer and method for processing string information
KR101429850B1 (ko) 기록 장치, 및 기록 장치의 제어 방법
JP6160289B2 (ja) 制御装置、および、制御装置の制御方法
JP6155808B2 (ja) 制御装置、制御システム、および制御装置の制御方法
JP6069977B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP4594812B2 (ja) 印刷システム、印刷要求装置の制御方法、プログラム、及び印刷要求装置
JP2021168150A (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP2012198613A (ja) 出力装置、ジャーナル生成システム、ジャーナル生成方法及びプログラム
JP6186846B2 (ja) 制御装置、制御システム、および制御装置の制御方法
CN104228365B (zh) 控制装置、控制装置的控制方法
JP2012106431A (ja) 記録装置、記録システム、記録装置の制御方法、及び、プログラム
JP5906606B2 (ja) 制御装置、記録装置、制御装置の制御方法、及び、プログラム
JP6032334B2 (ja) 制御装置、及び、記録システム
CN107111919A (zh) 打印数据处理装置、打印数据处理方法、程序以及打印系统
JP2014054846A (ja) 制御装置、制御装置の制御方法、及び、プログラム
JP5838742B2 (ja) 制御装置、制御装置の制御方法、及び、プログラム
JP6111546B2 (ja) 印刷装置、印刷システム、及びposシステム
JP6127638B2 (ja) 印刷装置、印刷装置の制御方法、及び、プログラム
JP2011176409A (ja) 制御装置、記録装置、制御装置の制御方法、及び、プログラム
JP2013114292A (ja) 制御装置、制御装置の制御方法、及び、プログラム
JP2017111466A (ja) プリンター及びプリンター制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160328

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160616

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170529

R150 Certificate of patent or registration of utility model

Ref document number: 6160289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees