JP6759817B2 - 情報処理装置、情報処理装置の制御方法、及び、制御プログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及び、制御プログラム Download PDF

Info

Publication number
JP6759817B2
JP6759817B2 JP2016150738A JP2016150738A JP6759817B2 JP 6759817 B2 JP6759817 B2 JP 6759817B2 JP 2016150738 A JP2016150738 A JP 2016150738A JP 2016150738 A JP2016150738 A JP 2016150738A JP 6759817 B2 JP6759817 B2 JP 6759817B2
Authority
JP
Japan
Prior art keywords
information
item
receipt
area
character string
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.)
Active
Application number
JP2016150738A
Other languages
English (en)
Other versions
JP2018018465A5 (ja
JP2018018465A (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 JP2016150738A priority Critical patent/JP6759817B2/ja
Priority to US15/663,108 priority patent/US20180032483A1/en
Publication of JP2018018465A publication Critical patent/JP2018018465A/ja
Publication of JP2018018465A5 publication Critical patent/JP2018018465A5/ja
Application granted granted Critical
Publication of JP6759817B2 publication Critical patent/JP6759817B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、情報処理装置の制御方法、及び、制御プログラムに関する。
従来、POS端末内の会計処理部から出力された出力データを、外部装置が解釈可能な形式のデータに変換し、変換したデータを外部装置に送信し、送信したデータを外部装置で管理する技術が知られる(例えば、特許文献1参照)。
特開2012−27633号公報
ここで、上述した特許文献1に係るPOS端末のように会計に基づく処理を実行するPOS端末では、会計に応じて、POS端末が、又は、POS端末に接続された印刷装置が、レシートを発行する。レシートには、会計に関する情報等の様々な情報が印刷される。
そして、レシートに印刷される情報のように、印刷媒体に印刷される情報は、後に活用可能な有益な情報が含まれる場合がある。これを踏まえ、情報処理装置により、印刷媒体に印刷される情報がテキストとして記述されたテキストデータを分析することが行われている。このような分析に際し、ユーザーが行うことが必要な操作をできるだけ簡易化し、ユーザーの負担を軽減したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作を簡易化することを目的とする。
上記課題を解決するために、本発明の情報処理装置は、印刷媒体に印刷される複数の項目の項目値を含む情報をテキストで記述されたテキストデータとして取得し、前記複数の項目を選択可能な第1の領域、および、前記第1の領域で選択された項目に対応する項目値を前記テキストデータから取得する際に使用するルールを指定可能な第2の領域を表示させ、前記第2の領域で指定されたルールに基づいて前記テキストデータを分析し、分析対象となる前記項目に対応する項目値を取得する、制御部を備える。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、本発明は、前記制御部は、前記第1領域に表示される前記複数の項目のうち、前記項目値を取得可能な状態とすることが求められる項目について、第1の付加情報を付加して表示させる。
本発明の構成によれば、ユーザーは、項目値を取得できる状態とすることが求められる項目について、的確に認識できる。
また、本発明は、前記制御部は、前記第1の領域に表示される前記複数の項目のうち、前記項目値が取得できないことが検出される項目について、第2の付加情報を付加して表示させる。
本発明によれば、ユーザーは、現時点で、項目値が取得できない状態の項目について、的確に認識できる。
また、本発明は、前記制御部は、前記テキストデータに基づくテキストが表示された第3の領域をさらに表示させる。
本発明によれば、ユーザーは、テキストデータに基づくテキストを参照しつつ、的確に、第2領域への入力を行うことができる。
また、本発明は、前記テキストデータには、前記印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、前記制御部は、前記第3の領域に、前記レイアウトに準じた状態で、前記テキストデータに基づくテキストを表示させる。
本発明によれば、ユーザーは、テキストの内容、及び、対応するレイアウトを簡易かつ直感的に把握できる。
また、本発明は、レシートを発行可能な印刷装置に接続され、前記制御部は、前記印刷装置によって前記レシートに印刷された情報を前記テキストデータとして取得する。
本発明によれば、情報処理装置によるレシートに対応するテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、本発明は、前記項目値は、小計、合計、又は、商品に関する情報のいずれかに対応する情報である。
本発明によれば、小計、合計、又は商品に関する情報が印刷されるレシートに対応するテキストデータの情報処理装置による分析に際し、ユーザーが行う操作が簡易化する。
また、上記課題を解決するため、本発明の情報処理装置の制御方法は、印刷媒体に印刷される複数の項目および項目値を含む情報をテキストで記述されたテキストデータとして取得し、前記複数の項目を選択可能な第1の領域、および、前記第1の領域で選択された項目に対応する項目値を前記テキストデータから取得する際に使用するルールを指定可能な第2の領域を表示させ、前記第2の領域で指定されたルールに基づいて前記テキストデータを分析し、分析対象となる前記項目に対応する項目値を取得する。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、上記課題を解決するため、本発明は、情報処理装置を制御する制御部により実行可能な制御プログラムであって、前記制御部に、印刷媒体に印刷される複数の項目および項目値を含む情報をテキストで記述されたテキストデータとして取得させ、前記複数の項目を選択可能な第1の領域、および、前記第1の領域で選択された項目に対応する項目値を前記テキストデータから取得する際に使用するルールを指定可能な第2の領域を表示させ、前記第2の領域で指定されたルールに基づいて前記テキストデータを分析させ、分析対象となる前記項目に対応する項目値を取得させる。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
本実施形態に係る会計システムの構成を示す図。 会計システムの各装置の機能的構成を示すブロック図。 タブレット端末、印刷装置、制御サーバーの動作を示すフローチャート。 印刷データの一例を示す図。 レシートの一例を示す図。 レシートの一例を示す図。 印刷テキストデータの一例を示す図。 印刷テキストデータの一例を示す図。 パーサー管理データベースのレコードを示す図。 分析項目の説明に利用する図。 分析データの一例を示す図。 分析データ管理データベースのレコードを示す図。 第1ユーザーインターフェースを示す図。 第2ユーザーインターフェースを示す図。 第3ユーザーインターフェースを示す図。 印刷装置管理データベースのレコードを示す図。 第4ユーザーインターフェースを示す図。 図6Aの印刷テキストデータに含まれる単語を示す表。 図6Bの印刷テキストデータに含まれる単語を示す表である。 図6Bの印刷テキストデータに基づくテキストが表示されたテキスト表示画面を示す図。 図6Bの印刷テキストデータに基づくテキストが表示されたテキスト表示画面を示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 制御サーバーの動作を示すフローチャート。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。 第4ユーザーインターフェースを示す図。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る会計システム1(情報処理システム)の構成を示す図である。
図1に示すように、会計システム1は、複数の店舗システム11を備える。店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗は、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム11は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
店舗システム11が適用される店舗には、顧客が会計を行なうレジカウンターLが設けられる。レジカウンターLには、ロール紙(印刷媒体)に印刷する機能を有する印刷装置12が設けられる。また、レジカウンターLには、印刷装置12と無線通信可能に接続され、印刷装置12を制御するタブレット端末13が設けられる。
レジカウンターLにおける会計に際し、レジ担当者は、印刷装置12に接続されたバーコードリーダーBRで商品や商品の包装に付されたバーコードを読み取り、また、タブレット端末13に対して会計に対応する入力を行う。印刷装置12は、バーコードリーダーBRによる読み取りに基づくデータを、タブレット端末13に送信する。タブレット端末13は、印刷装置12から受信したバーコードリーダーBRの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて、印刷装置12を制御し、印刷装置12にレシートを発行させる。印刷装置12により発行されたレシートは、レジ担当者により顧客に引き渡される。
印刷装置12、及び、タブレット端末13の構成、機能、及び、機能に基づく処理については後述する。
店舗システム11は、ローカルエリアネットワークLNを備える。
ローカルエリアネットワークLNには、印刷装置12が接続される。
また、ローカルエリアネットワークLNには、通信装置14が接続される。通信装置14は、ローカルエリアネットワークLNと、インターネット、電話網、その他の通信網を含むグローバルネットワークGNとを接続するインターフェース装置である。通信装置14は、モデム(又は、ONU(Optical Network Unit))に係る機能、ルーター機能、NAT(Network Address Translation)機能、及び、DHCP(Dynamic Host Configuration Protocol)サーバー機能等を有する。通信装置14は、ローカルエリアネットワークLNに接続された機器と、グローバルネットワークGNに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図1では、通信装置14を1つのブロックで表現するが、通信装置14は、機能に応じた複数の装置を有する構成でもよい。
印刷装置12は、通信装置14を介して、グローバルネットワークGNにアクセス可能である。
グローバルネットワークGNには、制御サーバー15(情報処理装置)が接続される。制御サーバー15は、印刷装置12と通信可能なサーバー装置である。すなわち、制御サーバー15は、クライアントからの要求等をトリガーとして、所定の演算処理を実行する。制御サーバー15は、必要に応じて、演算処理の結果に基づくデータを、クライアントに送信する。なお、図1では、制御サーバー15を、1つのブロックによって表現するが、これは制御サーバー15が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー15は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー15は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
図2は、会計システム1が備える各装置の機能的構成を示すブロック図である。
タブレット端末13は、前面の広い領域にタッチパネル22が設けられたタブレット型の(板状の)端末である。タブレット端末13は、レジカウンターLにおける会計に際し、会計に関する各種処理を実行して印刷装置12を制御するホストコンピューターとして機能する。
図2に示すように、タブレット端末13は、タブレット端末制御部20と、タブレット端末通信部21と、タッチパネル22と、タブレット端末記憶部23と、を備える。
タブレット端末制御部20は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、タブレット端末13の各部を制御する。タブレット端末制御部20は、例えばCPUが、ROMに記憶されたプログラムをRAMに読み出して処理を実行し、また例えばASICに実装された機能により処理を実行し、また例えば信号処理回路で信号処理を行って処理を実行する等、ハードウェア及びソフトウェアにより処理を実行する。タブレット端末13には、所定のアプリケーションが事前にインストールされる。タブレット端末制御部20は、当該所定のアプリケーション、当該所定のアプリケーションに付随するプログラム(OSや、API、プラグイン等。)、その他のプログラムを読み出して実行することにより、アプリケーション実行部201として機能する。
タブレット端末通信部21は、タブレット端末制御部20の制御で、所定の無線通信の規格に従って、印刷装置12と通信する。タブレット端末13と印刷装置12との間で行われる通信の無線通信規格は、アドホックモードに対応する無線LANに係る規格や、インフラストラクチャーモードに対応する無線LANに係る規格、Bluetooth(登録商標)等の近距離無線通信に係る規格等、どのような規格でもよい。
タッチパネル22は、液晶表示パネル等の表示パネルと、表示パネルに重ねて設けられたタッチセンサーとを備える。表示パネルは、タブレット端末制御部20の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、タブレット端末制御部20に出力する。タブレット端末制御部20は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
タブレット端末記憶部23は、不揮発性メモリーを備え、各種データを記憶する。
印刷装置12は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して画像を印刷するサーマルプリンターである。
なお、本実施形態に係る印刷装置12の印刷方式はサーマル方式であるが、印刷装置12の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、印刷装置12の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
図2に示すように、印刷装置12は、印刷装置制御部30と、印刷部31と、印刷装置記憶部32と、印刷装置通信部33と、印刷装置ネットワーク通信部34と、デバイス通信部35と、を備える。
印刷装置制御部30は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、印刷装置12の各部を制御する。印刷装置制御部30は、例えばCPUが、ROMに記憶されたプログラムをRAMに読み出して処理を実行し、また例えばASICに実装された機能により処理を実行し、また例えば信号処理回路で信号処理を行って処理を実行する等、ハードウェア及びソフトウェアにより処理を実行する。
印刷部31は、印刷装置12の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への印刷に関する各種機構を備える。印刷部31は、印刷装置制御部30の制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙にレシートに係る画像を印刷し、切断機構により所定の位置でロール紙を切断して、レシートを発行する。
印刷装置記憶部32は、不揮発性メモリーを備え、各種データを記憶する。
印刷装置通信部33は、印刷装置制御部30の制御で、タブレット端末13と所定の無線通信規格に従って通信する。タブレット端末13と印刷装置12との間で行われる通信の無線通信規格は、アドホックモードに対応する無線LANに係る規格や、インフラストラクチャーモードに対応する無線LANに係る規格、Bluetooth等の近距離無線通信に係る規格等、どのような規格でもよい。
印刷装置ネットワーク通信部34は、印刷装置制御部30の制御で、グローバルネットワークGNと接続する機器(制御サーバー15を含む。)と所定の通信規格に従って通信する。印刷装置ネットワーク通信部34が通信に用いる通信規格は、HTTPや、WebSocket等、どのような規格でもよい。
デバイス通信部35は、USBの規格に従ったポートや、USB以外のシリアル通信規格(RS232C等。)に従ったポート、パラレル通信規格(IEEE1284等。)に従ったポート、有線LANに係る通信規格(イーサネット(登録商標)等。)に従ったポート、その他ポートを有するインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部35は、印刷装置制御部30の制御で、ポートを介して印刷装置12に接続されたデバイスと通信する。
なお、デバイス通信部35が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
印刷装置12には、デバイスとして、バーコードリーダーBR、カスタマーディスプレーCD、及び、自動釣銭機JTが接続される。
バーコードリーダーBRは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部35に出力する。デバイス通信部35は、バーコードリーダーBRから入力されたデータを、印刷装置制御部30に出力する。
カスタマーディスプレーCDは、印刷装置制御部30の制御で、会計に関する情報を表示する。カスタマーディスプレーCDに表示された情報は、レジカウンターLで会計を行う顧客が視認できる。
自動釣銭機JTは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、印刷装置制御部30の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
制御サーバー15は、サーバー装置である。
図2に示すように、制御サーバー15は、制御サーバー制御部40(制御部)と、制御サーバーネットワーク通信部41と、制御サーバー記憶部42と、制御サーバー表示部43と、制御サーバー入力部44とを備える。
制御サーバー制御部40は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、制御サーバー15の各部を制御する。制御サーバー制御部40は、例えばCPUが、ROMに記憶されたプログラムをRAMに読み出して処理を実行し、また例えばASICに実装された機能により処理を実行し、また例えば信号処理回路で信号処理を行って処理を実行する等、ハードウェア及びソフトウェアにより処理を実行する。
制御サーバーネットワーク通信部41は、制御サーバー制御部40の制御で、グローバルネットワークGNと接続する機器(印刷装置12を含む。)と所定の通信規格に従って通信する。制御サーバーネットワーク通信部41が通信に用いる通信規格は、HTTPや、WebSocket等、どのような規格でもよい。
制御サーバー記憶部42は、不揮発性メモリーを備え、各種データを記憶する。制御サーバー記憶部42は、パーサー管理データベース421と、分析データ管理データベース422と、印刷装置管理データベース423とを記憶する。これらデータベースについては後述する。
制御サーバー表示部43は、表示パネルを備え、制御サーバー制御部40の制御で、表示パネルに各種情報を表示する。
制御サーバー入力部44は、キーボード、マウス、その他の入力手段を備え、入力手段に対するユーザーの操作を検出し、制御サーバー制御部40に出力する。制御サーバー制御部40は、制御サーバー入力部44からの入力に基づいて、入力手段に対するユーザーの操作に対応する処理を実行する。
次に、レジカウンターLで顧客の会計が行われた場合の、タブレット端末13、印刷装置12、及び、制御サーバー15の動作について説明する。
図3は、レジカウンターLで会計が行われた場合のタブレット端末13、印刷装置12、及び、制御サーバー15の動作を示すフローチャートである。図3のフローチャートFAはタブレット端末13の動作を示し、フローチャートFBは印刷装置12の動作を示し、フローチャートFCは制御サーバー15の動作をそれぞれ示す。
図3のフローチャートFAに示すように、タブレット端末13のタブレット端末制御部20のアプリケーション実行部201は、顧客の会計に応じて会計処理(決済処理)を実行し、会計処理に基づいて印刷データを生成する(ステップSA1)。
ステップSA1の処理について詳述すると、アプリケーション実行部201は、タッチパネル22に、会計に対応する入力が可能なユーザーインターフェースを表示させる。アプリケーション実行部201は、タッチパネル22に対するレジ担当者の入力や、顧客の会計に伴う印刷装置12からの入力に応じて、レシート情報を生成する。レシート情報とは、印刷装置12に発行させるレシートに印刷される情報である。レシート情報の具体的な内容については、後に、例を挙げて説明する。
次いで、アプリケーション実行部201は、生成したレシート情報に基づいて、印刷データを生成する。印刷データは、所定のレイアウトでレシート情報が印刷されたレシートの発行を指示するデータである。印刷データは、印刷装置12のコマンド体系に従った複数の制御コマンドを含んで構成される。
図4は、印刷データの一例である印刷データDT1を示す図である。
図4の印刷データDT1に示すように、印刷データには、グラフィック画像印刷指示コマンドCM1と、文字列印刷関連コマンド群GMと、改行コマンドLFと、カットコマンドCM4とを含む。また、文字列印刷関連コマンド群GMは、文字列装飾コマンドCM2と、文字列印刷指示コマンドCM3とを含む。
グラフィック画像印刷指示コマンドCM1は、専用の命令コードと、ビットマップデータ等のイメージデータとを含み、イメージデータに基づくグラフィック画像の印刷を指示する制御コマンドである。イメージデータとは、ドットマトリックス状に配置されたドットについて、各ドットの色に関する情報を保持するデータである。グラフィック画像は、フォントデータに基づいて印刷される画像ではなく、ホストコンピューターとして機能する装置(本実施形態では、タブレット端末13。)から受信したイメージデータに基づいて印刷される画像である。後述するロゴ情報J1は、グラフィック画像に相当する。
文字列印刷関連コマンド群GMに含まれる文字列印刷指示コマンドCM3は、1行分の文字列の印刷を指示する制御コマンドである。文字列印刷指示コマンドCM3は、専用の命令コードと、印刷を指示する文字列の情報(文字列を構成する1又は複数の文字の文字コードの組み合わせ。)と、を含む。
文字列印刷関連コマンド群GMに含まれる文字列装飾コマンドCM2は、文字列印刷指示コマンドCM3によって印刷が指示された文字列に施す装飾を指定する制御コマンドである。文字列に施す装飾は、例えば、右寄せ、中央寄せ、左寄せ、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、拡大、縮小である。
ここで、印刷装置12の印刷装置記憶部32は、印刷可能な文字のそれぞれのフォントデータを記憶する。印刷装置12の印刷装置制御部30は、1の文字列印刷関連コマンド群GMに基づいて文字列を印刷する場合、以下の処理を実行する。すなわち、印刷装置制御部30は、所定の手段で、当該1の文字列印刷関連コマンド群GMに含まれる文字列印刷指示コマンドCM3に含まれる文字コードのそれぞれを、対応するフォントデータのそれぞれに変換する。次いで、印刷装置制御部30は、フォントデータのそれぞれに、当該1の文字列印刷関連コマンド群GMに含まれる文字列装飾コマンドCM2が指定する装飾を施し、フォントデータのそれぞれを画像バッファーに展開する。次いで、印刷装置制御部30は、画像バッファーに展開したフォントデータのそれぞれに基づいて印刷部31を制御し、1行分の文字列を印刷する。
改行コマンドLFは、改行を指示するコマンドである。
カットコマンドCM4は、ロール紙の切断を指示するコマンドである。
図3のフローチャートFAに示すように、ステップSA1で印刷データを生成した後、アプリケーション実行部201は、タブレット端末通信部21を制御して、生成した印刷データを、印刷装置12に送信する(ステップSA2)。
図3のフローチャートFBに示すように、印刷装置12の印刷装置制御部30は、印刷装置通信部33を制御して、印刷データを受信する(ステップSB1)。
次いで、印刷装置制御部30は、ステップSB1で受信した印刷データに基づいて、印刷部31を制御して、レシートを発行する(ステップSB2)。発行されたレシートは、顧客に引き渡される。
ここで、店舗において印刷装置12により発行されるレシートには、以下の特徴がある。すなわち、1の印刷装置12が発行するレシートのレイアウトは、タブレット端末13にインストールされた所定のアプリケーションの変更がない限り、同じである。一方、印刷装置12と通信するタブレット端末13の違いによって、1の印刷装置12と、他の印刷装置12とでは、発行するレシートのレイアウトが、相互に異なる場合がある。
図5Aは印刷データに基づいて印刷装置12により発行されるレシートの一例であるレシートR1を示す。図5Bは、図5Aで例示するレシートR1のレイアウトとは異なるレイアウトのレシートR2を示す。なお、図5Aで例示するレシートR1に印刷された情報の内容と、図5Bで例示するレシートR2に印刷された情報の内容とは、同一性を有する。
なお、本実施形態では、文字コードが割り当てられた対象のことを「文字」と表現する。従って、文字には、文字コードが割り当てられた記号(「@」や、「−」、「$」、「¥」等。)や、文字コードが割り当てられた空白文字(スペースや、ブランクと呼ばれる場合もある。)が含まれる。以下、空白文字を、適宜、「△」で表す。
図5Aで例示するレシートR1には、先頭に、店舗の名称を図案化したロゴ情報J1が印刷される。ロゴ情報J1は、上述したグラフィック画像印刷指示コマンドCM1に基づいて印刷される。
レシートR1において、ロゴ情報J1の下方は、店舗の住所を文字列で表す店舗住所情報J2が一行で印刷される。店舗住所情報J2は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、店舗の住所を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
レシートR1において、店舗住所情報J2の一行下には、店舗の電話番号を文字列で表す店舗電話番号情報J3が一行で印刷される。店舗電話番号情報J3は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、店舗の電話番号を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
レシートR1において、店舗電話番号情報J3の一行下には、第1エリア分割情報SK1が印刷される。第1エリア分割情報SK1は、文字「−」が一行内で、所定の個数、連続して構成された文字列である。
レシートR1は、1つ目の第1エリア分割情報SK1によって印刷領域が区切られ、1つ目の第1エリア分割情報SK1よりも上方がエリア分けされる。以下、レシートR1において、第1エリア分割情報SK1よりも上方のエリアを「エリアAA1」とする。
レシートR1において、1つ目の第1エリア分割情報SK1の一行下には、レシート識別関連情報J4が印刷される。レシート識別関連情報J4は、レシートを識別する識別情報を文字列で表すレシート識別情報J42を有する。レシート識別情報J42の値は、レシートごとに異なる。また、レシート識別関連情報J4は、レシート識別情報J42の同一行において、レシート識別情報J42の左方に印刷され、レシート識別情報J42がレシートを識別する識別情報であることを明示する情報を文字列で表すレシート識別明示情報J41を有する。図5Aに示すように、レシートR1に係るレシート識別明示情報J41は、文字列「Check♯:」からなる情報である。
レシート識別関連情報J4は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、レシート識別明示情報J41を表す文字列と、1つの空白文字と、レシート識別情報J42を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。図5AのレシートR1では、「レシート識別明示情報J41を表す文字列と、空白文字と、レシート識別情報J42を表す文字列とが連続する文字列」は、文字列「Check♯:△C0001」である。
レシートR1において、レシート識別関連情報J4の一行下には、レシートが発行された日時を文字列で表す発行日時情報J5が印刷される。発行日時情報J5は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、レシートが発行された日時を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
発行日時情報J5の一行下には、第1エリア分割情報SK1が印刷される。
レシートR1は、1つ目の第1エリア分割情報SK1と、2つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、1つ目の第1エリア分割情報SK1と、2つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAA2」とする。
レシートR1において、2つ目の第1エリア分割情報SK1の一行下には、1又は複数(図5Aの例では「2個」。)の商品情報J6が印刷される。
商品情報J6は、顧客が購入した商品に関する情報である。商品情報J6は、顧客が購入した商品の種類ごとに、レシートR1に印刷される。従って、例えば、顧客が購入した商品の種類が3つである場合は、3つの種類の商品のそれぞれに対応する3つの商品情報J6が印刷される。レシートR1に複数の商品情報J6が印刷される場合、複数の商品情報J6は、異なる行に、1行ずつ連続して印刷される。
商品情報J6は、購入数量情報J61と、商品名情報J62と、単価情報J63とを有する。購入数量情報J61、商品名情報J62、及び、単価情報J63は、同一行に印刷される。購入数量情報J61は、対応する商品の購入数量を文字列で表す情報である。商品名情報J62は、対応する商品の名称を文字列で表す情報である。単価情報J63は、対応する商品の単価を文字列で表す情報である。
レシートR1では、1行内で、右へ向かって購入数量情報J61、商品名情報J62、及び、単価情報J63の順番で印刷される。
商品情報J6は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、購入数量情報J61を表す文字列と、1つの空白文字と、商品名情報J62を表す文字列と、1個又は複数個の空白文字と、単価情報J63を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。商品名情報J62を表す文字列と、単価情報J63を表す文字列との間に挿入される空白文字の個数は、単価情報J63の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1に印刷される商品情報J6のうち、最上部に印刷される商品情報J6については、「購入数量情報J61を表す文字列と、1つの空白文字と、商品名情報J62を表す文字列と、1個又は複数個の空白文字と、単価情報J63を表す文字列とが連続する文字列」は、文字列「1△Beer△△・・・△△10.00」である。
レシートR1において、最下部に印刷される商品情報J6の一行下には、第2エリア分割情報SK2が印刷される。第2エリア分割情報SK2は、文字「〜」が一行内で複数連続して構成された文字列である。
レシートR1は、2つ目の第1エリア分割情報SK1と、1つ目の第2エリア分割情報SK2とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、2つ目の第1エリア分割情報SK1と、1つ目の第2エリア分割情報SK2とで囲まれたエリアを「エリアAA3」とする。
レシートR1において、1つ目の第2エリア分割情報SK2の一行下には、小計関連情報J7が印刷される。小計関連情報J7は、小計を文字列で表す小計情報J72を有する。また、小計関連情報J7は、小計情報J72の同一行において、小計情報J72の左方に印刷され、小計情報J72が小計を示す情報であることを明示する情報を文字列によって表す小計明示情報J71を有する。図5Aに示すように、レシートR1に係る小計明示情報J71は、8個の大文字のアルファベットの文字列「SUBTOTAL」からなる文字列である。
小計関連情報J7は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計明示情報J71を表す文字列と、小計情報J72を表す文字列との間に挿入される空白文字の個数は、小計情報J72の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1では、「小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列」は、文字列「SUBTOTAL△△・・・△△70.00」である。
レシートR1において、小計関連情報J7の一行下には、税関連情報J8が印刷される。税関連情報J8は、税額を文字列で表す税額情報J82を有する。また、税関連情報J8は、税額情報J82の同一行において、税額情報J82の左方に印刷され、税額情報J82が税額を示す情報であることを明示する情報を文字列によって表す税明示情報J81を有する。図5Aに示すように、レシートR1に係る税明示情報J81は、3個の大文字のアルファベットの文字列「TAX」からなる文字列である。
税関連情報J8は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報J81を表す文字列と、税額情報J82を表す文字列との間に挿入される空白文字の個数は、税額情報J82の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1では、「税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列」は、文字列「TAX△△・・・△△6.13」である。
レシートR1において、税関連情報J8の一行下には、合計金額関連情報J9が印刷される。合計金額関連情報J9は、合計金額を文字列で表す合計金額情報J92を有する。また、合計金額関連情報J9は、合計金額情報J92の同一行において、合計金額情報J92の左方に印刷され、合計金額情報J92が合計金額を示す情報であることを明示する情報を文字列によって表す合計金額明示情報J91を有する。図5Aに示すように、レシートR1に係る合計金額明示情報J91は、5個の大文字のアルファベットの文字列「TOTAL」からなる文字列である。
合計金額関連情報J9は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報J91を表す文字列と、合計金額情報J92を表す文字列との間に挿入される空白文字の個数は、合計金額情報J92の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1では、「合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列」は、文字列「TOTAL△△・・・△△76.13」である。
以下の説明において、第1エリア分割情報SK1、第2エリア分割情報SK2、及び、後述する第3エリア分割情報SK3を、区別せずに表示する場合、「エリア分割情報」という。
このように、レシートR1は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に3つのエリア分割情報が印刷され、これら3つのエリア分割情報により、印刷領域が、上から順番に、エリアAA1、エリアAA2、エリアAA3、及び、エリアAA4の4つのエリアに区分けされる。エリアAA1には、ロゴ情報J1、店舗住所情報J2、及び、店舗電話番号情報J3がこの順番で印刷される。エリアAA2には、レシート識別関連情報J4、及び、発行日時情報J5がこの順番で印刷される。エリアAA3には、1又は複数の商品情報J6が印刷される。また、商品情報J6は、1行内で、右へ向かって購入数量情報J61、商品名情報J62、及び単価情報J63の順番で印刷される。エリアAA4には、小計関連情報J7、税関連情報J8、及び、合計金額関連情報J9がこの順番で印刷される。
上述したように、レシートR1に係る印刷装置12が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートR1で示すレイアウトと同様である。
図5Bで例示するレシートR2には、先頭に、ロゴ情報J1が印刷される。
レシートR2において、ロゴ情報J1の下方には、レシート識別関連情報J4が印刷される。レシート識別関連情報J4は、レシート識別明示情報J41と、レシート識別情報J42とを有する。
図5Bに示すように、レシートR2に係るレシート識別明示情報J41は、文字列「CheckNO.」からなる情報であり、レシートR1に係るレシート識別明示情報J41と文字列の態様が相違する。
レシートR2において、レシート識別関連情報J4は、中央寄せで印字される。また、レシートR2において、レシート識別明示情報J41と、レシート識別情報J42との間には、1つの空白文字が挿入される。
レシートR2において、レシート識別関連情報J4の一行下には、発行日時情報J5が印刷される。発行日時情報J5は、中央寄せで印刷される。
レシートR2において、発行日時情報J5の一行下には、第1エリア分割情報SK1が印刷される。
レシートR2は、1つ目の第1エリア分割情報SK1によって、第1エリア分割情報SK1より上方と、下方とが区切られ、エリア分けされる。以下、レシートR2において、第1エリア分割情報SK1よりも上方の情報のエリアを「エリアAB1」とする。
レシートR2において、第1エリア分割情報SK1の一行下には、1個又は複数個(図5Bの例では「2個」。)の商品情報J6が、異なる行に、1行ずつ連続して印刷される。
レシートR2において、商品情報J6に含まれる購入数量情報J61、商品名情報J62、及び、単価情報J63は、1行内で、右へ向かってこの順番で印刷される。
レシートR2において、商品情報J6は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、商品名情報J62を表す文字列と、1個又は複数個の空白文字と、購入数量情報J61を表す文字列と、1個又は複数個の空白文字と、単価情報J63を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。商品名情報J62を表す文字列と、購入数量情報J61を表す文字列との間に挿入される空白文字の個数は、購入数量情報J61の位置が、「行」における所定の位置となるように調整される。また、購入数量情報J61を表す文字列と、単価情報J63を表す文字列との間に挿入される空白文字の個数は、単価情報J63の位置が、「行」の末尾に位置するように調整される。図5BのレシートR2に印刷される商品情報J6のうち、最上部に印刷される商品情報J6については、「商品名情報J62を表す文字列と、1個又は複数個の空白文字と、購入数量情報J61を表す文字列と、1個又は複数個の空白文字と、単価情報J63を表す文字列とが連続する文字列」は、文字列「Beer△△・・・△△1△△・・・△△10.00」である。
レシートR2において、最下部に印刷される商品情報J6の一行下には、小計関連情報J7が印刷される。図5Bに示すように、レシートR2に係る小計明示情報J71は、9個の小文字のアルファベットの「sub−total」からなる文字列であり、レシートR1に係る小計明示情報J71と文字列の態様が相違する。
レシートR2において、小計関連情報J7は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計明示情報J71を表す文字列と、小計情報J72を表す文字列との間に挿入される空白文字の個数は、小計情報J72の位置が、「行」の末尾に位置するように、調整される。図5BのレシートR2では、「小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列」は、文字列「sub−total△△・・・△△70.00」である。
レシートR2において、小計関連情報J7の一行下には、税関連情報J8が印刷される。図5Bに示すように、レシートR2に係る税明示情報J81は、5個の小文字のアルファベットの「sales」からなる文字列と、1つの空白文字と、3個の小文字のアルファベットの「tax」からなる文字列とが連続する文字列「sales△tax」であり、レシートR1に係る税明示情報J81と文字列の態様が相違する。
レシートR2において、税関連情報J8は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報J81を表す文字列と、税額情報J82を表す文字列との間に挿入される空白文字の個数は、税額情報J82の位置が、「行」の末尾に位置するように、調整される。図5BのレシートR2では、「税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列」は、文字列「sales△tax△△・・・△△6.13」である。
レシートR2において、税関連情報J8の一行下には、第3エリア分割情報SK3が印刷される。第3エリア分割情報SK3は、文字「=」が一行内で複数連続して構成された文字列である。
レシートR2は、1つ目の第1エリア分割情報SK1と、1つ目の第3エリア分割情報SK3とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR2において、1つ目の第1エリア分割情報SK1と、1つ目の第3エリア分割情報SK3とで囲まれたエリアを「エリアAB2」とする。
レシートR2において、第3エリア分割情報SK3の一行下には、合計金額関連情報J9が印刷される。図5Bに示すように、レシートR2に係る合計金額明示情報J91は、5個の小文字のアルファベットの「total」からなる文字列であり、レシートR1に係る合計金額明示情報J91と文字列の態様が相違する。
レシートR2において、合計金額関連情報J9は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報J91を表す文字列と、合計金額情報J92を表す文字列との間に挿入される空白文字の個数は、合計金額情報J92の位置が、「行」の末尾に位置するように、調整される。図5BのレシートR2では、「合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列」は、文字列「total△△・・・△△76.13」である。
レシートR2において、合計金額関連情報J9の一行下には、2つ目の第1エリア分割情報SK1が印刷される。
レシートR2は、1つ目の第3エリア分割情報SK3と、2つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR2において、1つ目の第3エリア分割情報SK3と、2つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAB3」とする。また、2つ目の第1エリア分割情報SK1より下方のエリアを「エリアAB4」とする。
レシートR2において、2つ目の第1エリア分割情報SK1の一行下には、店舗電話番号情報J3が印刷される。店舗電話番号情報J3は、中央寄せで印刷される。
レシートR2において、店舗電話番号情報J3の一行下には、店舗住所情報J2が印刷される。店舗住所情報J2は、中央寄せで印刷される。
このように、レシートR2は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に3つのエリア分割情報が印刷され、これら3つのエリア分割情報により、印刷領域が、上から順番に、エリアAB1、エリアAB2、エリアAB3、及び、エリアAB4の4つのエリアに区分けされる。エリアAB1には、ロゴ情報J1、レシート識別関連情報J4、及び、発行日時情報J5がこの順番で印刷される。エリアAB2には、1又は複数の商品情報J6、小計関連情報J7、及び、税関連情報J8がこの順番で印刷される。エリアAB3には、合計金額関連情報J9が印刷される。エリアAB4には、付加情報J10、店舗電話番号情報J3、及び、店舗住所情報J2がこの順番で印刷される。
上述したように、レシートR2に係る印刷装置12が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートR2で示すレイアウトと同様である。
また、図5Aと、図5Bとの比較で明らかなとおり、レシートR1と、レシートR2とでは、レイアウトが異なる。
なお、レシートに印刷される情報のそれぞれが、「レシート情報」に相当する。図5AのレシートR1、及び、図5BのレシートR2で例示したように、レシートには、レシート情報が、所定のレイアウトに従って印刷される。
図3のフローチャートFBに示すように、ステップSB2でレシートを発行した後、印刷装置制御部30は、印刷データに基づいて、印刷テキストデータ(テキストデータ)を生成する(ステップSB3)。以下、ステップSB3の処理について詳述する。
印刷テキストデータは、印刷データに基づいてロール紙に印刷される情報のうち、文字として印刷される情報が、テキスト(文字コード)として記述されたテキストデータである。
ステップSB3において、印刷装置制御部30は、印刷データから、文字列の印刷に関する制御コマンドである文字列印刷指示コマンドCM3、及び、改行コマンドLFを抽出する。次いで、印刷装置制御部30は、抽出した制御コマンドに基づいて、レシートに文字として印刷される情報がテキストとして記述された印刷テキストデータを生成する。
印刷装置制御部30は、印刷テキストデータに、印刷で行われる改行が反映された状態で情報を記述する。また、印刷装置制御部30は、印刷テキストデータに、文字列装飾コマンドCM2で指定された装飾を反映しない状態で情報を記述する。従って、文字列装飾コマンドCM2によって、文字列に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータへのテキストの記述に際し、これら装飾は反映されない。
図6Aは、図5Aで例示したレシートR1に係る印刷データに基づいて生成される印刷テキストデータである印刷テキストデータT1の内容を示す図である。図6Aと、図5Aとの比較で明らかなとおり、印刷テキストデータT1には、レシートR1に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
図6Bは、図5Bで例示したレシートR2に係る印刷データに基づいて生成される印刷テキストデータである印刷テキストデータT2の内容を示す図である。図6Bと、図5Bとの比較で明らかなとおり、印刷テキストデータT2には、レシートR2に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
なお、ロゴ情報J1は、グラフィック画像であるため、印刷テキストデータには、記述されない。すなわち、図6A、及び、図6Bに示すように、文字コードに対応するフォントデータに基づいて印刷される文字以外の情報は、印刷テキストデータには記述されない。
図3のフローチャートFBに示すように、ステップSB3で印刷テキストデータを生成した後、印刷装置制御部30は、シリアル番号J11、店舗識別情報J12、ステップSB1で受信した印刷データ、及び、ステップSB3で生成した印刷テキストデータを、制御サーバー15に送信する(ステップSB4)。
シリアル番号J11は、印刷装置12の製造段階で、印刷装置12に一意に割り当てられる識別情報であり、印刷装置記憶部32の所定の記憶領域に記憶される。ステップSB4において、印刷装置制御部30は、印刷装置記憶部32の所定の記憶領域に記憶されたシリアル番号J11を取得する。
店舗識別情報J12は、印刷装置12が設けられた店舗を識別する識別情報であり、印刷装置記憶部32の所定の記憶領域に記憶される。ステップSB4において、印刷装置制御部30は、印刷装置記憶部32の所定の記憶領域に記憶された店舗識別情報J12を取得する。
なお、ステップSB4において、シリアル番号J11等を送信するのに必要な通信に関する情報(送信先に関する情報や、通信に用いるプロトコル、送信するデータのフォーマット等)は、印刷装置12に事前に登録される。
図3のフローチャートFCに示すように、制御サーバー15の制御サーバー制御部40は、制御サーバーネットワーク通信部41を制御して、印刷装置12が送信したシリアル番号J11、店舗識別情報J12、印刷データ、及び、印刷テキストデータを受信する(ステップSC1)。
次いで、制御サーバー制御部40は、パーサー管理データベース421(後述)を参照し、ステップSC1で受信したシリアル番号J11の値と同一の値のシリアル番号J11と対応付けられたパーサーセットPSSを取得する(ステップSC2)。
図7は、パーサー管理データベース421の1件のレコードが有する情報を模式的に示す図である。
図7に示すように、パーサー管理データベース421の1件のレコードは、シリアル番号J11と、パーサーセットPSSとを有する。また、パーサーセットPSSは、第1パーサーPS1〜第15パーサーPS15の15個のパーサーPSを有する。パーサーPS(第1パーサーPS1〜第15パーサーPS15。)については後述する。
次いで、制御サーバー制御部40は、取得したパーサーセットPSSに基づいてテキストデータ分析処理を実行する(ステップSC3)。
ステップSC3のテキストデータ分析処理は、パーサーセットPSSに基づいて、印刷テキストデータを分析し、予め定められた複数の項目について、項目値を取得し、又は、項目値を取得できないことを検出する処理である。以下、ステップSC3のテキストデータ分析処理において、項目値を取得する対象の項目を「レシート項目」という。
本実施形態では、レシート項目として、以下の15個の項目がある。なお、以下の説明において、「プロパティー」とは、JSON形式のデータ(後述する分析データや、応答データ等。)に項目が記述される場合の、対応するプロパティーを表す。なお、レシート項目の詳細については、後述する。
顧客識別情報項目(プロパティー「consumer_id」)。
会計割引情報項目(プロパティー「discounts」)。
顧客人数情報項目(プロパティー「guests」)。
払戻有無情報項目(プロパティー「is_refund」)。
取消有無情報項目(プロパティー「is_void」)。
会員情報項目(プロパティー「memberships」)。
支払方法情報項目(プロパティー「payment_methods」)。
発行日時情報項目(プロパティー「printed_at」)。
商品情報項目(プロパティー「products」)。
レシート識別情報項目(プロパティー「receipt_id」)。
販売方法情報項目(プロパティー「sale_type」)。
スタッフ情報項目(プロパティー「staff」)。
小計情報項目(プロパティー「subtotal」)。
税情報項目(プロパティー「taxes」)。
合計金額情報項目(プロパティー「total」)。
パーサーセットPSSは、レシート項目のそれぞれに対応するパーサーPSを含んで構成される。1のレシート項目に対応するパーサーPSとは、印刷テキストデータを分析し、当該1のレシート項目の項目値を取得し、又は、取得できないことを検出する機能を有するプログラムである。本実施形態では、パーサーセットPSSは、顧客識別情報項目の項目値を取得する機能を有する第1パーサーP1、会計割引情報項目の項目値を取得する機能を有する第2パーサーP2、顧客人数情報項目の項目値を取得する機能を有する第3パーサーP3、払戻有無情報項目の項目値を取得する機能を有する第4パーサーP4、取消有無情報項目の項目値を取得する機能を有する第5パーサーP5、会員情報項目の項目値を取得する機能を有する第6パーサーP6、支払方法情報項目の項目値を取得する機能を有する第7パーサーP7、発行日時情報項目の項目値を取得する機能を有する第8パーサーP8、商品情報項目の項目値を取得する機能を有する第9パーサーP9、レシート識別情報項目の項目値を取得する機能を有する第10パーサーP10、販売方法情報項目の項目値を取得する機能を有する第11パーサーP11、スタッフ情報項目の項目値を取得する機能を有する第12パーサーP12、小計情報項目の項目値を取得する機能を有する第13パーサーP13、税情報項目の項目値を取得する機能を有する第14パーサーP14、及び、合計金額情報項目の項目値を取得する機能を有する第15パーサーP15を含んで構成される。
なお、テキストデータ分析処理は、制御サーバー15にインストールされた制御プログラム、及び、当該制御プログラムに付随するプログラムの機能により実行される。そして、第1パーサーP1〜第15パーサーP15は、当該所定のプログラムにより呼び出し可能なプログラムであり、所定のスクリプト言語によって記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、パーサーセットPSSに含まれる第1パーサーPS1〜第15パーサーPS15のそれぞれに基づいて、上述した15個のレシート項目のそれぞれについて、項目値を取得し、又は、項目値が取得できないことを検出する。
次いで、制御サーバー制御部40は、ステップSC3のテキストデータ分析処理の処理結果に基づいて分析データを生成する(ステップSC4)。
分析データは、上述したレシート項目のそれぞれ、及び、以下の項目のそれぞれと、項目値とが対応付けて記述されたJSON形式のデータである。
統括識別情報項目(プロパティー「guid」)。
シリアル番号項目(プロパティー「serial_no」)。
店舗識別情報項目(プロパティー「shop_id」)。
以下、分析データに、プロパティーとして記述される項目(以下、「分析項目」という。)について詳述する。
図8は、分析項目のそれぞれの説明に利用する図である。
図9は、分析データの一例を示す図である。
図8に示すように、統括識別情報項目は、データ型:textのプロパティー「guid」に対応する項目である。統括識別情報項目の項目値は、分析データを一意に識別する識別情報(以下、「統括識別情報J15」という。)である。制御サーバー制御部40は、分析データの生成に際し、所定のルールに従って、データ型:textの統括識別情報J15を生成し、統括識別情報項目と対応付けて分析データに記述する。
図9で例示する分析データにおいて、プロパティー「guid」は、領域A1に記述される。
図8に示すように、シリアル番号項目は、データ型:textのプロパティー「seirial_no」に対応する項目である。シリアル番号項目の項目値は、シリアル番号J11である。制御サーバー制御部40は、分析データの生成に際し、ステップSC1で受信したシリアル番号J11を、必要に応じてデータ型をデータ型:textに変換し、シリアル番号項目と対応付けて分析データに記述する。
図9で例示する分析データにおいて、プロパティー「seirial_no」は、領域A2に記述される。
図8に示すように、店舗識別情報項目は、データ型:integerのプロパティー「shop_id」に対応する項目である。店舗識別情報項目の項目値は、店舗識別情報J12である。制御サーバー制御部40は、分析データの生成に際し、ステップSC1で受信した店舗識別情報J12を、必要に応じてデータ型をデータ型:integerに変換し、店舗識別情報項目と対応付けて分析データに記述する。
図9で例示する分析データにおいて、プロパティー「shop_id」は、領域A3に記述される。
図8に示すように、顧客識別情報項目は、データ型:textのプロパティー「consumer_id」に対応する項目である。顧客識別情報項目の項目値は、会計を行った顧客を識別する識別情報(以下、「顧客識別情報J16」という。)である。
会計において、顧客識別情報J16が記録された顧客カードが読み取られ、レシートに顧客識別情報J16が印刷される場合がある。この場合、レシート情報に顧客識別情報J16が含まれ、印刷テキストデータに顧客識別情報J16を示す文字列が記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第1パーサーPS1の機能により、印刷テキストデータを分析し、顧客識別情報J16を取得し、又は、取得できないことを検出する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で顧客識別情報J16を取得した場合、取得した顧客識別情報J16を、顧客識別情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で顧客識別情報J16を取得できないことを検出した場合、顧客識別情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「consumer_id」は、領域A4に記述される。
図8に示すように、会計割引情報項目は、データ型:arrayのプロパティー「discounts」に対応する項目である。会計割引情報項目には、会計割引名称情報項目と、会計割引額情報項目とが属する。
会計割引名称情報項目は、データ型:textのプロパティー「discounts[].name」に対応する項目である。会計割引名称情報項目の項目値は、会計に適用された割引の名称を示す情報(以下、「会計割引名称情報J17」という。)である。
会計割引額情報項目は、データ型:floatのプロパティー「discounts[].value」に対応する項目である。会計割引額情報項目の項目値は、会計に適用された割引の金額を示す情報(以下、「会計割引額情報J18」)である。
会計では、所定の割引が適用される場合がある。この場合において、レシートに、会計に適用された所定の割引に対応する会計割引名称情報J17、及び、会計割引額情報J18がレシートに印刷される場合がある。この場合、レシート情報に会計割引名称情報J17、及び、会計割引額情報J18が含まれ、印刷テキストデータに、会計割引名称情報J17を示す文字列、及び、会計割引額情報J18を示す文字列が記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第2パーサーPS2の機能により、印刷テキストデータを分析し、会計割引名称情報J17、及び、会計割引額情報J18を取得し、又は、取得できないことを検出する。
制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引名称情報J17を取得した場合、取得した会計割引名称情報J17を、会計割引名称情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引名称情報J17を取得できないことを検出した場合、会計割引名称情報項目と対応付けてnull値を分析データに記述する。
また、制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引額情報J18を取得した場合、取得した会計割引額情報J18のデータ型をデータ型:floatに変換することを試みる。会計割引額情報J18が、数字を表す文字や、所定の記号(小数点を表す記号等。)が所定の態様で組み合わされた情報ではない場合、データ型をデータ型:floatに変換することができない。制御サーバー制御部40は、データ型を変換することができた場合、データ型を変換した後の会計割引額情報J18を会計割引額情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、データ型を変換することができなかった場合、会計割引額情報項目と対応付けてnull値を分析データに記述する。
また、制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引額情報J18を取得できないことを検出した場合、会計割引名称情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「discounts」は、領域A5に記述される。
図8に示すように、顧客人数情報項目は、データ型:integerのプロパティー「guests」に対応する項目である。顧客人数情報項目の項目値は、会計を行った顧客の人数を示す情報(以下、「顧客人数情報J19」という。)である。
顧客人数情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「guests」は、領域A6に記述される。
図8に示すように、払戻有無情報項目は、データ型:booleanのプロパティー「is_refund」に対応する項目である。払戻有無情報項目は、項目値として、会計において払い戻しがあったことを示すtrue値と、会計において払い戻しがなかったことを示すfalse値とのいずれかをとる。
払戻有無情報項目に関し、制御サーバー制御部40は、後述する取消有無情報項目に関する処理と同様の処理を実行する。払戻有無情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「is_refund」は、領域A7に記述される。
図8に示すように、取消有無情報項目は、データ型:booleanのプロパティー「is_void」に対応する項目である。取消有無情報項目は、項目値として、会計が取り消されたことを示すtrue値と、会計が取り消されていないことを示すfalse値とのいずれかをとる。
会計は、取り消される場合がある。この場合において、レシートに、会計が取り消されたことを示す情報が印刷される場合がある。この場合、印刷テキストデータに、会計が取り消されたことを示す情報を表す文字列が記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第5パーサーPS5の機能により、印刷テキストデータを分析し、印刷テキストデータに、会計が取り消されたことを示す情報を表す文字列が記述されているか否かを判別する。当該文字列が記述されている場合、制御サーバー制御部40は、取消有無情報項目の項目値として、true値を取得する。当該文字列が記述されていない場合、制御サーバー制御部40は、取消有無情報項目の項目値として、false値を取得する。
制御サーバー制御部40は、分析データの生成に際し、取消有無情報項目と対応付けてtrue値、又は、false値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「is_void」は、領域A8に記述される。
図8に示すように、会員情報項目は、データ型:arrayのプロパティー「memberships」に対応する項目である。会員情報項目には、会員所属情報項目と、会員識別情報項目とが属する。
会員所属情報項目は、データ型:textのプロパティー「memberships[].name」に対応する項目である。会員所属情報項目の項目値は、顧客が所属するサービスプログラムの名称を示す情報(以下、「会員所属情報J20」という。)である。
会員識別情報項目は、データ型:textのプロパティー「memberships[].account.no」に対応する項目である。会員識別情報項目の項目値は、顧客が所属するサービスプログラムにおいて顧客を識別する識別情報(以下、「会員識別情報J21」という。)である。
会員情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「memberships」は、領域A9に記述される。
図8に示すように、支払方法情報項目は、データ型:arrayのプロパティー「payment_methods」に対応する項目である。支払方法情報項目には、支払方法名称情報項目と、支払額情報項目とが属する。
支払方法名称情報項目は、データ型:textのプロパティー「payment_methods[].name」に対応する項目である。支払方法名称情報項目の項目値は、支払い方法の名称を示す情報(以下、「支払方法名称情報J22」という。)である。
支払額情報項目は、データ型:floatのプロパティー「payment_methods[].value」に対応する項目である。支払額情報項目の項目値は、支払方法名称情報J22に係る支払い方法で顧客が支払った金銭の額を示す情報(以下、「支払額情報J23」という。)である。
支払方法情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「payment_methods」は、領域A10に記述される。
図8に示すように、発行日時情報項目は、データ型:datetime(フォーマットは、「YYYY−MM−DD」。)のプロパティー「printed_at」に対応する項目である。発行日時情報項目の項目値は、発行日時情報J5である。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第8パーサーPS8の機能により、印刷テキストデータを分析し、発行日時情報J5を取得し、又は、取得できないことを検出する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で発行日時情報J5を取得した場合において、データ型の変換が成功した場合、データ型を変換した後の発行日時情報J5を、発行日時情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で発行日時情報J5を取得した場合において、データ型の変換が失敗した場合、発行日時情報項目と対応付けてnull値を分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で発行日時情報J5を取得できないことを検出した場合、発行日時情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「printed_at」は、領域A11に記述される。
図8に示すように、商品情報項目は、データ型:arrayのプロパティー「puroducts」に対応する項目である。商品情報項目には、商品名情報項目と、購入数量情報項目と、単価情報項目とが属する。
商品名情報項目は、データ型:textのプロパティー「puroducts[].name」に対応する項目である。商品名情報項目の項目値は、商品名情報J62である。
購入数量情報項目は、データ型:textのプロパティー「puroducts[].quantity」に対応する項目である。購入数量情報項目の項目値は、購入数量情報J61である。
単価情報項目は、データ型:textのプロパティー「puroducts[].price」に対応する項目である。単価情報項目の項目値は、単価情報J63である。
商品名情報J62、購入数量情報J61、及び、単価情報J63について、ステップSC3のテキストデータ分析処理で、制御サーバー制御部40は、第9パーサーPS9の機能により、印刷テキストデータを分析し、各情報を取得し、又は、取得できないことを検出する。商品名情報J62、購入数量情報J61、及び、単価情報J63について、制御サーバー制御部40は、分析データの生成に際し、取得できた情報については対応する項目と対応付けて分析データに記述し、取得できなかった情報については対応する項目とnull値と対応付けて分析データに記述する。
図9で例示する分析データにおいて、プロパティー「products」は、領域A12に記述される。
図8に示すように、レシート識別情報項目は、データ型:textのプロパティー「receipt_id」に対応する項目である。レシート識別情報項目の項目値は、レシート識別情報J42である。
レシート識別情報項目に関する処理について、制御サーバー制御部40は、顧客識別情報項目に関する処理と同様の処理を実行する。レシート識別情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「receipt_id」は、領域A13に記述される。
図8に示すように、販売方法情報項目は、データ型:textのプロパティー「sale_type」に対応する項目である。販売方法情報項目の項目値は、商品の販売がどのような方法で行われたかを示す情報(以下、「販売方法情報J24」という。)である。販売方法情報項目の詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「sale_type」は、領域A14に記述される。
図8に示すように、スタッフ情報項目は、データ型:textのプロパティー「staff」に対応する項目である。スタッフ情報項目の項目値は、店舗におけるスタッフの名前を示す情報、又は、スタップを識別する識別情報(以下、「スタッフ情報J25」という。)である。スタッフとは、会計を担当した者や、店舗において顧客に対するサービスの提供を担当した者である。スタッフ情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「staff」は、領域A15に記述される。
図8に示すように、小計情報項目は、データ型:floatのプロパティー「subtotal」に対応する項目である。小計情報項目の項目値は、小計情報J72である。
小計情報項目に関し、制御サーバー制御部40は、後述する合計金額情報項目に関する処理と同様の処理を実行する。小計情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「subtotal」は、領域A16に記述される。
図8に示すように、税情報項目は、データ型:arrayのプロパティー「taxes」に対応する項目である。税情報項目には、税名称情報項目と、税額情報項目とが属する。
税名称情報項目は、データ型:textのプロパティー「taxes[].name」に対応する項目である。税名称情報項目の項目値は、税の名称を示す情報(以下、「税名称情報J26」という。)である。レシートには、税名称情報J26が印刷される場合がある。この場合、レシート情報に税名称情報J26が含まれ、印刷テキストデータに税名称情報J26を示す文字列が記述される。
税額情報項目は、データ型:floatのプロパティー「taxes.value」に対応する項目である。税額情報項目の項目値は、税額情報J82である。
税情報項目に関する処理について、制御サーバー制御部40は、上述した会計割引情報項目に関する処理と同様の処理を実行する。税額情報項目の詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「taxes」は、領域A17に記述される。
図8に示すように、合計金額情報項目は、データ型:floatのプロパティー「total」に対応する項目である。合計金額情報項目の項目値は、合計金額情報J92である。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第15パーサーPS15の機能により、印刷テキストデータを分析し、合計金額情報J92を取得し、又は、取得できないことを検出する。
制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で合計金額情報J92を取得した場合において、データ型の変換が成功した場合、データ型を変換した後の合計金額情報J92を、合計金額情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で合計金額情報J92を取得した場合において、データ型の変換が失敗した場合、合計金額情報項目と対応付けてnull値を分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で合計金額情報J92を取得できないことを検出した場合、合計金額情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「total」は、領域A18に記述される。
図3のフローチャートFCに示すように、ステップSC4で分析データを生成した後、制御サーバー制御部40は、分析データ管理データベース422に1件のレコードを登録する(ステップSC5)。
図10は、分析データ管理データベース422の1件のレコードが有する情報を模式的に示す図である。
図10に示すように、分析データ管理データベース422の1件のレコードは、統括識別情報J15、シリアル番号J11、店舗識別情報J12、発行日時情報J5、印刷データ、印刷テキストデータ、分析データを有する。
ステップSC5において、制御サーバー制御部40は、分析データに、対応する項目と対応付けて記述した統括識別情報J15、シリアル番号J11、店舗識別情報J12、及び発行日時情報J5と、受信した印刷データ、及び印刷テキストデータと、生成した分析データとを有するレコードを、分析データ管理データベース422に登録する。
ここで、制御サーバー15には、複数のWebAPI(Application Programming Interface)が登録される。そして、制御サーバー15は、外部の装置のブラウザーからの要求に応じて、分析データ管理データベース422に基づいて、登録されたWebAPIにより処理を行って、ユーザーが必要とする情報を提供することができる。
例えば、制御サーバー15の制御サーバー制御部40は、外部の装置のブラウザーからの要求に応じて、分析データ管理データベース422の分析データを用いて、特定のレシートに係る合計金額情報J92を提供する。
以上のように、制御サーバー15の制御サーバー制御部40は、パーサーPSの機能により、印刷テキストデータを分析し、対応する項目の項目値を取得し、又は、対応する項目の項目値が取得できないことを検出する。上述したように、レシートのレイアウトは、印刷装置12が異なると、異なる可能性がある。従って、1の印刷装置12が送信した印刷テキストデータを分析するパーサーPSは、当該1の印刷装置12のレイアウトを反映した処理を行って、対応する項目の項目値を取得することが求められる。
以上を踏まえ、本実施形態に係る制御サーバー15は、以下の処理を実行することにより、印刷装置12のレイアウトを反映して的確に項目値を取得する機能を有するパーサーPSを、ユーザーが簡易な操作を行って生成できるようにする。
以下、1の印刷装置12のパーサーPSのうち、以下のパーサーPSをユーザーの操作に基づいて生成する場合を例にして、制御サーバー15の処理について、説明する。
第15パーサーPS15(合計金額情報項目(プロパティー「total」)の項目値を取得するパーサーPS。)。
第5パーサーPS5(取消有無情報項目(プロパティー「is_void」)の項目値を取得するパーサーPS。)。
第9パーサーPS9(商品情報項目(プロパティー「products」)の項目値を取得するパーサーPS。)。
なお、以下の説明では、制御サーバー15は、制御サーバー15が備える入力手段に対する操作に応じて、制御サーバー15が備える表示パネルにユーザーインターフェースを表示する。しかしながら、ユーザーが、制御サーバー15と通信可能な外部の装置に対して所定の操作を行い、制御サーバー15が、当該外部の装置からの要求に応じて、当該外部の装置にユーザーインターフェースを表示する構成でもよい。
まず、パーサーPSを生成する場合、ユーザーは、制御サーバー15の入力手段を操作して、第1ユーザーインターフェースUI1の表示を指示する。制御サーバー制御部40は、ユーザーの指示に応じて、制御サーバー表示部43を制御して、表示パネルに第1ユーザーインターフェースUI1を表示する。
図11Aは、第1ユーザーインターフェースUI1を示す図である。
図11Aに示すように、第1ユーザーインターフェースUI1は、店舗識別情報J12を入力する入力欄N1aを有する。ユーザーは、パーサーPSを生成する対象とする印刷装置12が設けられた店舗の店舗識別情報J12を入力欄N1aに入力し、入力を確定する。
入力の確定に応じて、制御サーバー制御部40は、制御サーバー表示部43を制御して、表示パネルに第2ユーザーインターフェースUI2を表示する。
図11Bは、第2ユーザーインターフェースUI2を示す図である。
図11Bに示すように、第2ユーザーインターフェースUI2には、ユーザーが入力した店舗識別情報J12が表示される。
また、第2ユーザーインターフェースUI2には、ユーザーが入力した店舗識別情報J12の店舗に設けられた印刷装置12のうち、必須項目(後述)の項目値の取得が完了していないものが1つでもある印刷装置12について、シリアル番号J11が一覧表示される。1の必須項目の項目値の取得が完了していないとは、当該1の必須項目に対応するパーサーPSの機能によって、当該1の必須項目の項目値が取得できないことを意味する。また、第2ユーザーインターフェースUI2には、シリアル番号J11のそれぞれと対応付けて、ラジオボタンが表示される。ユーザーは、ラジオボタンにより、いずれか1つのシリアル番号J11を選択することができる。また、第2ユーザーインターフェースUI2には、シリアル番号J11のそれぞれと対応付けて、表示ボタンB2aが設けられる。表示ボタンB2aは、対応するシリアル番号J11の印刷装置12から受信した印刷テキストデータに記述されたテキストの表示を指示するボタンである。また、第2ユーザーインターフェースUI2には、ラジオボタンによるシリアル番号J11の選択を確定する確定ボタンB2bが設けられる。
ここで、必須項目とは、レシート項目のうち、パーサーPSの機能により取得することが求められる項目のことである。すなわち、必須項目とは、印刷テキストデータに基づいて生成される分析データにおいて、null値ではない項目値が対応付けて記述されることが求められる項目である。本実施形態では、発行日時情報項目(プロパティー「printed_at」。)、商品情報項目(プロパティー「products」。)、レシート識別情報項目(プロパティー「receipt_id」。)、税情報項目(プロパティー「taxes」。)、及び、合計金額情報項目(プロパティー「toal」。)が、必須項目である。
必須項目は、レシート情報のうち、レシートの発行に際して行われた会計を分析するときに重要か否かという観点から選択される。
第2ユーザーインターフェースUI2の表示に際し、制御サーバー制御部40は、印刷装置管理データベース423を参照する。印刷装置管理データベース423は、印刷装置12ごとに、レコードを有する。
図12は、印刷装置管理データベース423の1件のレコードが有する情報を模式的に示す図である。
図12に示すように、印刷装置管理データベース423の1件のレコードは、シリアル番号J11と、店舗識別情報J12と、取得完了管理フラグJ27(後述)とを有する。
印刷装置管理データベース423において、1の印刷装置12に対応するレコードは、当該1の印刷装置12のシリアル番号J11と、当該1の印刷装置12が設けられた店舗の店舗識別情報J12と、当該1の印刷装置12に対応する取得完了管理フラグJ27とを有する。当該1の印刷装置12に対応する取得完了管理フラグJ27は、当該1の印刷装置12に対応するパーサーPSの機能により、当該1の印刷装置12が送信する印刷テキストデータに基づいて全ての必須項目が取得可能な状態の場合、そのことを示す値を有し、1つでも取得できない必須項目がある場合、そのことを示す値を有する。
制御サーバー制御部40は、全ての必須項目が取得可能な状態か否かに応じて、所定の手段により、適宜、取得完了管理フラグJ27の値を書き換える。取得完了管理フラグJ27の値をユーザーが書き換える構成でもよい。
第2ユーザーインターフェースUI2の表示に際し、制御サーバー制御部40は、印刷装置管理データベース423を参照し、ユーザーが入力した店舗識別情報J12の店舗に設けられた印刷装置12のうち、必須項目(後述)の項目値の取得が完了していないものが1つでもある印刷装置12のシリアル番号J11を取得し、一覧表示する。
また、第2ユーザーインターフェースUI2のボタンB2aが操作されたことを検出した場合、制御サーバー制御部40は、制御サーバー表示部43を制御して、表示パネルに第3ユーザーインターフェースUI3を表示する。
図11Cは、第3ユーザーインターフェースUI3を示す図である。
図11Cに示すように、第3ユーザーインターフェースUI3は、印刷テキストデータに基づくテキストが表示される。
第3ユーザーインターフェースUI3の表示に際し、制御サーバー制御部40は、分析データ管理データベース422を参照し、操作されたボタンB2aに対応するシリアル番号J11の印刷装置12から受信した印刷テキストデータのうち、1つの印刷テキストデータを取得する。例えば、制御サーバー制御部40は、直近で、印刷装置12から受信した印刷テキストデータを取得する。次いで、制御サーバー制御部40は、取得した印刷テキストデータに記述されたテキストが表示された第3ユーザーインターフェースUI3を表示する。なお、制御サーバー制御部40が、所定の手段で、印刷装置12から受信した印刷テキストデータのうち、1つの印刷テキストデータをユーザーに選択させ、ユーザーに選択された印刷テキストデータを取得する構成でもよい。
ユーザーは、第3ユーザーインターフェースUI3を参照することにより、印刷テキストデータに記述された情報の内容、及び、対応するレシートのレイアウトを把握することができる。
ユーザーは、第3ユーザーインターフェースUI3に対して所定の操作を行うことにより、ユーザーインターフェースを第3ユーザーインターフェースUI3から第2ユーザーインターフェースUI2へ移行できる。
第2ユーザーインターフェースUI2の確定ボタンB2bが操作されたことを検出すると、制御サーバー制御部40は、制御サーバー表示部43を制御して、表示パネルに第4ユーザーインターフェースUI4を表示する。
図13は、第4ユーザーインターフェースUI4を示す図である。
図13に示すように、第4ユーザーインターフェースUI4は、その領域が、第1領域A41、第2領域A42、及び第3領域A43の3つに分かれる。
以下、第1領域A41、第3領域A43、第2領域A42の順番で、各領域に表示される画面、及び、画面を表示する際の制御サーバー制御部40の処理について説明する。
<第1領域A41>
第1領域A41について説明する。
第4ユーザーインターフェースUI4の第1領域A41には、項目選択画面G41が表示される。
図13に示すように、項目選択画面G41は、上述した15個のレシート項目のそれぞれのプロパティー名が、選択可能に一覧表示される。
項目選択画面G41において、項目選択画面G41にプロパティー名が表示されたレシート項目のうち、必須項目については、レシート項目が必須項目であることを示すマークM4a(第1の付加情報)が、プロパティー名と対応付けて表示される。具体的には、「printed_at」、「products」、「receipt_id」、「taxes」、及び、「toal」のプロパティー名と対応付けて、米印からなるマークM4aが表示される。
また、項目選択画面G41において、項目選択画面G41にプロパティー名が表示されたレシート項目のうち、項目値の取得が完了していない項目については、項目値の取得が完了していないことを示すマークM4b(第2の付加情報)が、プロパティー名と対応付けて表示される。図13の例では、「consumer_id」、「discounts」、「memberships」、「payment_methods」、「products」、「sale_type」、及び、「subtotal」のプロパティー名と対応付けて、×印が丸で囲まれたマークM4bが表示される。項目値の取得が完了していない項目とは、対応するパーサーPSの機能により分析データを生成した場合に、生成した分析データにおいて、項目と対応付けてnull値が記述される項目である。なお、上述したように、分析データの生成に際し、データ型の変換に失敗した項目については、項目と対応付けてnull値が記述される。このような項目についても、「項目値の取得ができなかった項目」に該当する。
なお、ユーザーは、項目選択画面G41に表示された項目のうち、1の項目にカーソルを重ねて、所定の操作(例えば、マウスに対するダブルクリック。)を行うことにより、当該1の項目を選択することができる。ユーザーが選択した項目については、プロパティー名が矩形の枠で囲まれ、ユーザーが選択したことが明示される。なお、ユーザーは、マウス、キーボード、その他の入力デバイスを利用して、第4ユーザーインターフェースUI4、その他のユーザーインターフェース上で、カーソルを動かすことができる。
ユーザーは、項目選択画面G41を参照することにより、必須項目を簡易かつ直感的に認識することができると共に、項目値の取得ができなかった項目を簡易かつ直感的に認識することができる。
項目選択画面G41の表示に際し、制御サーバー制御部40は、分析データ管理データベース422を参照し、第2ユーザーインターフェースUI2でユーザーが選択したシリアル番号J11の印刷装置12から受信した印刷テキストデータを取得する。その際、制御サーバー制御部40は、第2ユーザーインターフェースUI2の表示ボタンB2aが操作された場合に、第3ユーザーインターフェースUI3にテキストを表示する対象とする印刷テキストデータを取得する。
以下、第2ユーザーインターフェースUI2でユーザーが選択したシリアル番号J11の印刷装置12を、「選択印刷装置」という。また、取得した印刷テキストデータを、「処理対象テキストデータ」という。
次いで、制御サーバー制御部40は、パーサー管理データベース421を参照し、選択印刷装置のパーサーセットPSSを取得する。次いで、制御サーバー制御部40は、取得したパーサーセットPSSの機能により、処理対象テキストデータを分析し、レシート項目のそれぞれについて、項目値が取得できること、又は、項目値が取得できないことを判別する。なお、1の項目の項目値が取得できるとは、処理対象テキストデータの分析に基づいて生成される分析データにおいて、当該1の項目と対応付けてnull値以外の値の項目値が記述されることを意味する。また、1の項目の項目値が取得できないとは、処理対象テキストデータの分析に基づいて生成される分析データにおいて、当該1の項目と対応付けてnull値が記述されることを意味する。
次いで、制御サーバー制御部40は、判別結果に基づいて、適切な位置にマークM4bが表示された項目選択画面G41を、第1領域A41に表示する。
<第3領域A43>
次いで、第3領域A43について説明する。
第4ユーザーインターフェースUI4の第3領域A43には、テキスト表示画面G43が表示される。テキスト表示画面G43は、処理対象テキストデータに記述されたテキストが表示される画面である。
上述したように、処理対象テキストデータ(印刷テキストデータ)は、レシートに文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述されたテキストデータである。従って、テキスト表示画面G43に表示されるテキストには、情報が、レシートのレイアウトに従って配置される。ユーザーは、テキスト表示画面G43を参照することにより、処理対象テキストデータに記述された情報の内容、及び、対応するレシートのレイアウトを簡易かつ直感的に把握することができる。
また、テキスト表示画面G43において、処理対象テキストデータに基づくテキストは、「単語」(後述)が、キーワード(後述)として選択可能な状態で表示される。
以下、「単語」について詳述する。なお、以下の説明において、改行を表す文字コードを「改行文字」と表現する。
ここで、本実施形態では、文字の種類として、「区切文字」と、「特殊文字」と、「普通文字」とがある。
区切文字は、空白文字、及び、改行文字である。区切文字は、後述するように、単語と、単語との区切りの判別に利用される。
特殊文字は、記号のうち、予め定められた記号である。特殊文字は、エリア分割情報等、特殊な意味を持つ情報に使用する可能性がある記号とされる。本実施形態では、特殊文字は、文字「−」、文字「〜」、文字「=」、及び、文字「:」を含む。
普通文字は、文字のうち、区切文字、及び、特殊文字を除く文字である。
単語とは、(1)区切文字で区切られることなく連続する普通文字からなる文字列(1文字の場合もある。以下、1文字も、適宜、「文字列」と表現する。)、又は、(2)区切文字で区切られることなく連続する特殊文字からなる文字列である。
図14Aは、図6Aの印刷テキストデータT1に含まれる単語を、「行」を明示して示す表である。
図14Bは、図6Bの印刷テキストデータT2に含まれる単語を、「行」を明示して示す表である。
例えば、図6Bの印刷テキストデータT2の場合、レシート識別明示情報J41に対応する文字列「CheckNO.」、及び、レシート識別情報J42に対応する文字列「C0001」は、それぞれ、区切文字で区切られることなく連続する普通文字からなる文字列である。従って、これら文字列は、「単語」に該当する。
また例えば、図6Bの印刷テキストデータT2の場合、小計明示情報J71を構成する文字列「sub」、文字列「−」、文字列「total」は、それぞれ、単語に相当する。すなわち、文字列「sub」は、区切文字で区切られることなく連続する普通文字からなる文字列である。また、文字列「−」は、区切文字で区切られることなく連続する特殊文字からなる文字列である。また、文字列「total」は、区切文字で区切られることなく連続する普通文字からなる文字列である。従って、小計明示情報J71は、3つの単語が連続して構成された情報である。
また、エリア分割情報は、区切文字で区切られることなく連続する特殊文字からなる文字列である。従って、エリア分割情報は、「単語」に該当する。
テキスト表示画面G43の表示に際し、制御サーバー制御部40は、処理対象テキストデータに含まれる情報を単語に分解する。次いで、制御サーバー制御部40は、分解した単語のそれぞれ、及び、空白文字のそれぞれを、キーワード(後述)の選択に際し、独立して選択可能な状態で、処理対象テキストデータに記述されたテキストを、テキスト表示画面G43に表示する。以下、詳述する。
ここで、後に明らかとなるように、本実施形態では、空白文字を、キーワードの一部として選択することができる。このことを踏まえ、以下では、空白文字は、単語に含まれるものとする。
図15A、及び、図15Bは、テキスト表示画面G43の一例を、ユーザーが動かすことが可能なカーソルCSと共に示す図である。
制御サーバー制御部40は、テキスト表示画面G43において、単語又は空白文字の領域にカーソルCSが重なると、その単語又は空白文字の領域の背景の背景色を、所定の色(本実施形態では、黄色。)に変換する(所定の装飾を施す。)。
図15Aは、単語「SUB」の領域にカーソルCSが重なった様子を示す。図15Aに示すように、単語「SUB」の領域にカーソルCSが重なった場合、当該領域の背景色が黄色へと変化する。
図15Bは、単語「SUB」と、単語「TOTAL」との間の、空白文字の領域にカーソルCSが重なった様子を示す。図15Bに示すように、空白文字の領域にカーソルCSが重なった場合、当該領域の背景色が黄色へと変化する。
なお、カーソルCSが重なった単語(選択の候補となった単語。)に施される装飾は、背景色を変化させる装飾に限らない。単語に対応する文字列を太字化してもよく、強調点や、アンダーラインを引いてもよい。
ここで、カーソルが重なった単語、又は、空白文字は、後述するキーワード(又は、後述するように、キーワードの一部。)の選択にあたり、キーワードとして選択する候補となった状態の単語、又は、空白文字である。ユーザーは、所望の単語、又は、空白文字にカーソルを重ねて、所望の単語、又は、空白文字の背景色が黄色となったことを確認することにより、単語又は空白文字がキーワードとして選択する候補となったことを確認した上で、選択を指示する所定の操作(例えば、マウスに対するダブルクリック。)を行うことで、所望の単語、又は、空白文字を確実に、キーワードとして選択できる。
<第2領域A42>
次いで、第2領域A42について説明する。
以下の説明では、第1領域A41の項目選択画面G41においてユーザーに選択されたレシート項目を、「選択レシート項目」という。
第4ユーザーインターフェースUI4の第2領域A42には、選択レシート項目に対応するパーサーPSを生成するための情報を入力し、又は、当該情報を選択する画面が表示される。
ユーザーは、第2領域A42に表示された画面に対して、情報を選択し、又は、情報を入力することによって、選択レシート項目に対応するパーサーPSを生成できる。
以下、第15パーサーPS15(選択レシート項目が、合計金額情報項目。)、第5パーサーPS5(選択レシート項目が、取消有無情報項目。)、第9パーサーPS9(選択レシート項目が、商品情報項目。)の場合を例にして、第2領域A42に表示される画面、及び、制御サーバー15の処理について説明する。
<第15パーサーPS15>
第15パーサーPS15を生成する場合、ユーザーは、項目選択画面G41において、合計金額情報項目(プロパティー「total」。)を選択する。
図16は、項目選択画面G41で合計金額情報項目が選択された場合の第4ユーザーインターフェースUI4を示す図である。
図16に示すように、項目選択画面G41で合計金額情報項目が選択された場合、第2領域A42には、取得項目値表示画面G421が表示される。取得項目値表示画面G421には、パーサー管理データベース421において選択印刷装置のシリアル番号J11と対応付けられた第15パーサーPS15で、処理対象テキストデータを分析したときの分析結果(分析データにおいて合計金額情報項目に対応付けて記述される値。)が表示される。図16の例では、項目選択画面G41には、null値が表示され、これにより、現時点では、第15パーサーPS15によって、合計金額情報J92の取得ができない状態であることが明示される。
取得項目値表示画面G421の表示に際し、制御サーバー制御部40は、パーサー管理データベース421を参照し、選択印刷装置に対応し、選択レシート項目に対応するパーサーPSを取得する。制御サーバー制御部40は、取得したパーサーPSにより、処理対象テキストデータを分析し、分析結果に基づいて、取得項目値表示画面G421を表示する。
本実施形態では、選択レシート項目にかかわらず、制御サーバー制御部40は、第2領域A42に、取得項目値表示画面G421を表示し、パーサー管理データベース421に登録されたパーサーPSのうち、選択印刷装置に対応し、選択レシート項目に対応するパーサーPSの分析結果が表示される。これにより、以下の効果を奏する。
すなわち、ユーザーは、取得項目値表示画面G421を参照することにより、選択レシート項目に対応するパーサーPSの分析結果を簡易、かつ、直感的に認識できる。
さらに、第3領域A43のテキスト表示画面G43と、第2領域A42の取得項目値表示画面G421とが、同一のユーザーインターフェースで同時に表示される。このため、ユーザーは、テキスト表示画面G43と、取得項目値表示画面G421とを比較しながら参照することができる。このため、ユーザーは、テキスト表示画面G43と、取得項目値表示画面G421とを比較することにより、選択レシート項目に対応するパーサーPSの分析結果の妥当性を判別できる。例えば、合計金額情報項目(プロパティー「total」)について、ユーザーは、取得項目値表示画面G421に表示された値と、テキスト表示画面G43に表示された合計金額情報J92の値とを比較し、対応するパーサーPSが、正しい合計金額情報J92を取得できたか否かを判別できる。また、上述したように、販売方法情報J24は、レシートのフォーマットによって、レシートに印刷される場合もあれば、レシートに印刷されない場合もある。そして、販売方法情報J24が印刷されないフォーマットの場合、対応するパーサーPSの分析結果は、null値が正しい。このように、対応するパーサーPSの分析結果がnull値の場合であっても、null値であることが正しい場合があり、このような場合に、ユーザーは、テキスト表示画面G43と、取得項目値表示画面G421とを比較することにより、分析結果がnull値であることの妥当性を判別できる。
図16に示すように、第2領域A42の取得項目値表示画面G421には、選択印刷装置に対応し、選択レシート項目に対応するパーサーPSの生成のための処理の開始を指示するパーサー生成開始ボタンQBが表示される。
パーサー生成開始ボタンQBが操作されたことを検出した場合、制御サーバー制御部40は、第2領域A42に、取得項目値表示画面G421が表示された状態を維持して、フレーム選択画面G422を表示する。
図17は、第2領域A42にフレーム選択画面G422が表示された第4ユーザーインターフェースUI4を示す図である。
フレーム選択画面G422は、選択レシート項目に対応する項目値について、印刷テキストデータにおける位置を特定するときのルールの種類を選択する画面である。
上述したように、レシートには、レシートのレイアウトに従って情報が印刷される。従って、印刷テキストデータには、1の項目の項目値に対応する情報が、レシートのレイアウトを反映した当該1の項目に対応するルールに従って記述される。このため、1の項目の項目値の印刷テキストデータにおける位置は、当該1の項目に対応するルールに基づいて特定することができる。
以下、印刷テキストデータにおける項目値の位置を特定するときに使用するルールを「検索ルール」という。
そして、検索ルールは、項目値の位置を特定する方法によって、複数の種類が存在する。例えば、1の項目の項目値が、所定のキーワードと同一行の右方に位置する場合は、検索ルールは、当該所定のキーワードの右方に項目値が位置することを指定する種類のルールである。一方、1の項目の項目値が、所定のキーワードと同一行の左方に位置する場合は、検索ルールは、当該所定のキーワードの左方に項目値が位置することを指定する種類のルールである。
本実施形態では、検索ルールの種類を「フレーム」という概念を使って管理する。従って、フレーム選択画面G422には、選択レシート項目に対応する1又は複数の検索ルールの種類に応じて、1又は複数のフレームが選択可能に表示される。
ここで、レシートに係るレイアウトには、合計金額情報J92と共に合計金額明示情報J91が印刷され、かつ、合計金額明示情報J91と合計金額情報J92とは所定の位置関係にある、という特性がある。これを踏まえ、合計金額情報項目(プロパティー「total」)については、フレームとして、第1合計金額情報フレーム、及び、第2合計金額情報フレームが、選択可能である。
第1合計金額情報フレームは、合計金額情報J92が、キーワードとしての合計金額明示情報J91と同一行において、合計金額明示情報J91の1つ右に位置するか、又は、当該同一行の末尾に位置することを指定する検索ルールに対応するフレームである。
「1の項目値が、キーワードと同一行において、当該キーワードの1つ右に位置する」とは、当該1の項目値が、当該キーワードに対して、1又は複数の空白文字を介して右方に位置することを意味する。また、「1の項目値が、キーワードと同一行の末尾に位置する」とは、当該1の項目値が、当該同一行の右端部に位置し、当該1の項目値の次の文字が改行文字であることを意味する。
第2合計金額情報フレームは、上述した第1合計金額情報フレームに係る検索ルール以外の検索ルールであって、キーワードとしての合計金額明示情報J91と合計金額情報J92との位置関係により、合計金額情報J92の位置を指定する検索ルールに対応するフレームである。
図17のフレーム選択画面G422には、第1合計金額情報フレームを説明するフレーム情報JH17a、及び、第2合計金額情報フレームを説明するフレーム情報JH17bが一覧表示される。フレーム情報JH17a、及び、フレーム情報JH17bに係る情報のそれぞれには、ラジオボタンが対応付けて表示される。ユーザーは、ラジオボタンにより、第1合計金額情報フレームと第2合計金額情報フレームとのいずれかを選択できる。ユーザーは、フレーム選択画面G422と同時に表示されるテキスト表示画面G43を参照することにより、第1合計金額情報フレームと、第2合計金額情報フレームのうち、適用するフレームとして適切なフレームを認識でき、当該認識に基づいて、適切なフレームを選択できる。
図17に示すように、フレーム選択画面G422には、フレームの選択を確定するフレーム確定ボタンXBが表示される。制御サーバー制御部40は、フレーム確定ボタンXBが操作されたことを検出すると、フレーム選択画面G422を、ステップ対応画面G423へ遷移する。
以下の説明では、ユーザーが選択したフレームを「選択フレーム」という。
フレームごとに、1又は複数のステップが事前に用意される。ステップとは、フレームに対応する検索ルールに関する情報を選択し、又は、当該情報を入力することによって、検索ルールを指定する手順のことである。そして、フレームに対応する1又は複数のステップに対応して、1又は複数のステップ対応画面G423が用意される。なお、印刷テキストデータにおける項目値の位置は、複数の検索ルールに基づいて、特定可能な場合がある。このような場合、1つのフレームについて、複数のステップ対応画面G423が用意される。
後に明らかとなる通り、ユーザーは、フレームを選択した、1又は複数のステップ対応画面G423に情報を入力するという作業を行うことにより、選択レシート項目に対応する項目値を検索するために必要な1又は複数の検索ルールを指定できる。
以下、選択フレームが第1合計金額情報フレームと、選択フレームが第2合計金額情報フレームとの場合について、順次、説明する。
<第1合計金額情報フレーム>
図18は、図17のフレーム選択画面G422で第1合計金額情報フレームが選択された場合に、フレーム選択画面G422に代えて第2領域A42に表示されるステップ対応画面G423を示す図である。
図18のステップ対応画面G423には、以下の2つの情報が表示される。(1)合計金額情報J92(項目値)が、印刷テキストデータで最初に(最も上方に)出現するキーワードと同一行において、キーワードの1つ右に位置することを指定する検索ルールを示すルール情報JH18a。(2)合計金額情報J92(項目値)が、印刷テキストデータで最初に(最も上方に)出現するキーワードと同一行の末尾に位置することを指定する検索ルールを示すルール情報JH18b。また、2つのルール情報には、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
ユーザーは、ステップ対応画面G423と同時に表示されるテキスト表示画面G43を参照することにより、合計金額情報J92と、キーワード(合計金額明示情報J91)との位置関係を認識し、ルール情報JH18aに対応する検索ルールと、ルール情報JH18bに対応する検索ルールのうち、適切な情報を選択する。
ルール情報JH18a、及び、ルール情報JH18bでは、キーワードが、文字列「‘Text1’」によって表現される。そして、領域A18bの下方には、キーワードとして選択された単語が表示される領域A18aが形成される。後に明らかとなるとおり、キーワードは、複数の単語(空白文字を含む。)の組み合わせとして構成される場合がある。領域A18aには、文字列「‘Text1’」が表示され、当該領域にキーワードとして選択された単語が表示されることが明示される。
ユーザーは、第3領域A43のテキスト表示画面G43を用いて、以下の方法でキーワードとする1又は複数の単語を選択できる。
以下、図18に示す第4ユーザーインターフェースUI4が表示されている状態で、ユーザーが、キーワードとして、単語「TOTAL」と、単語「:」との組み合わせを選択する場合を例にして、ユーザーの操作、及び、制御サーバー制御部40の処理について説明する。なお、キーワード「TOTAL:」は、合計金額明示情報J91に相当する。
以下の説明において、複数の単語の組み合わせを、適宜、「単語群」という。
ユーザーは、テキスト表示画面G43において、キーワードに含める単語(上述したように、空白文字を含む。)にカーソルを重ねる。上述したように、カーソルが重なった単語の背景色は、黄色になり、選択の候補となったことが明示される。
図19は、単語「TOTAL」が選択の候補となった様子を示す。
ユーザーは、単語にカーソルを重ねた状態で所定の操作(例えば、ダブルクリック。)を行い、単語の選択を確定する。制御サーバー制御部40は、ユーザーにより所定の操作が行われ、単語の選択が確定したことを検出すると、選択された単語を、領域A18aに表示する。ユーザーは、領域A18aを参照することにより、選択した単語を確認できる。
図20は、単語「TOTAL」の選択が確定し、領域A18aに、単語「TOTAL」が表示された様子を示す。
単語「TOTAL」の選択が確定した後、制御サーバー制御部40は、さらに、以下の処理を実行する。すなわち、制御サーバー制御部40は、直近で選択が確定した単語(本例では、単語「TOTAL」。)と同一行において、当該単語に隣接し、当該単語の右方に位置する単語のみを選択可能な状態とし、選択可能な単語にアンダーラインを引く。図18の例では、制御サーバー制御部40は、単語「TOTAL」に隣接する単語「:」のみを選択可能な状態とし、単語「:」にアンダーラインを引く。
図21は、単語「:」が選択可能な状態とされ、単語「:」にアンダーラインが引かれた様子を示す。
ユーザーは、単語に引かれたアンダーラインを参照することにより、選択可能な単語を、簡易かつ直感的に認識することができる。
ユーザーは、単語「:」が選択可能であることを認識したうえで、単語「TOTAL」と同様の手順で、単語「:」を選択する。
図22は、単語「TOTAL」に続いて、単語「:」が選択され、領域A18cに、キーワードとして、単語「TOTAL」、及び、単語「:」が連続して表示された様子を示す。
このように、制御サーバー制御部40は、テキスト表示画面G43に、印刷テキストデータに記述されたテキストを、単語(空白文字を含む。)を選択可能な状態で表示する。そして、制御サーバー制御部40は、ユーザーにより選択された単語、又は、単語群をキーワードとして設定する。これにより、ユーザーがキーボードで文字を入力することによってキーワードを設定する場合に生じ得る入力ミスを確実に防止し、ユーザーに的確な単語、又は、単語群をキーワードとして選択させることができる。
また、制御サーバー制御部40は、キーワードの選択に際し、1の単語の選択が確定した後、当該1の単語に隣接し、当該1の単語の右方に位置する単語のみを選択可能な状態とする。これにより以下の効果を奏する。すなわち、レシートには、キーワードとして用いることが可能な単語群は、1行において連続する1又は複数の単語の組み合わせからなる、という特性がある。これを踏まえ、制御サーバー制御部40が上述した処理を実行することにより、ユーザーが、キーワードとして単語群を選択する場合、1行において連続する単語を、順次、選択させることができる。特に、図6Bの印刷テキストデータT2の税明示情報J81は、文字列「sales△tax」であり、単語「sales」と、空白文字と、単語「tax」の組み合わせにより構成される。そして、税明示情報J81をキーワードとして選択する場合、空白文字もキーワードに含める必要があるが、空白文字については、ユーザーが、キーワードに含める必要があることを認識していない場合もあると想定される。このように、空白文字を含む単語群をキーワードとして選択する場合であっても、制御サーバー制御部40が上述した処理を行うことにより、確実に、ユーザーに、キーワードの一部として空白文字を選択させることができる。
図18〜図22に示すステップ対応画面G423は、ステップ確定ボタンSBと、コンファームボタンCBとを有する。
ステップ確定ボタンSBは、そのステップ確定ボタンSBが表示されたステップ対応画面G423への入力を確定する際の操作されるボタンである。
コンファームボタンCBは、選択フレームに対応する1又は複数のステップ対応画面G423のうち、最後のステップ対応画面G423に表示される。コンファームボタンCBは、最後のステップ対応画面G423において、以下の場合に選択可能となる。すなわち、最後のステップ対応画面G423について必要な情報が選択され、入力された場合に、コンファームボタンCBは選択可能となる。なお、最後のステップ対応画面G423でコンファームボタンCBが操作されると、選択フレームに対応する全てのステップにおいて、検索ルールの指定が完了する。
コンファームボタンCBは、選択フレームに対応する全てのステップ対応画面G423(選択フレームに対応する全てのステップ)で指定された検索ルールに基づいて、印刷テキストデータから項目値を取得する処理を実行するパーサーPSの生成を指示するボタンである。
制御サーバー制御部40は、コンファームボタンCBが操作されたことを検出すると、以下の処理を実行する。
図23のフローチャートFDは、コンファームボタンCBが操作されたことを検出したときの制御サーバー15の動作を示すフローチャートである。
図23のフローチャートFDに示すように、制御サーバー制御部40は、選択フレームに対応する全てのステップ対応画面G423で指定された検索ルールを取得する(ステップSD1)。
次いで、制御サーバー制御部40は、取得した検索ルールのそれぞれに基づいて選択レシート項目の項目値を取得する処理を実行するパーサーPSを生成する(ステップSD2)。ここで、制御サーバー15には、1又は複数の検索ルールを入力とし、入力された1又は複数の検索ルールに従って項目値を検索し、取得する処理を実行する機能が実装されたパーサーPSを、入力された1又は複数の検索ルールに基づいて生成し、生成したパーサーPSを出力するエンジンがインストールされる。ステップSD2において、制御サーバー制御部40は、当該エンジンの機能により、パーサーPSを生成する。
例えば、ステップSD1で取得した検索ルールが、ルール情報JH18aに対応する検索ルールであったとする。この場合、ステップSD2において、制御サーバー制御部40は、印刷テキストデータで最初に(最も上方に)出現するキーワード(本例では、キーワード「TOTAL:」。)と同一行において、キーワードの1つ右に位置する情報を、項目値として取得する機能が実装されたパーサーPSを生成する。
特に、パーサーPSは、項目値を、印刷テキストデータにおけるキーワードと項目値との位置関係に基づいて検索する場合、以下の処理を行う。すなわち、まず、パーサーPSは、文字列検索により、印刷テキストデータにおけるキーワードの位置を特定する。なお、後述するように、キーワードに対応する文字列が、複数、印刷テキストデータに記述された状態の場合は、処理のルールに従って、項目値の検索に使用すべきキーワードを特定する。次いで、パーサーPSは、位置を特定したキーワードと、キーワード及び項目値の位置関係とに基づいて、項目値の位置を特定する(項目値を検索する。)。
このように、パーサーPSは、文字列検索を利用して印刷テキストデータにおけるキーワードの位置を特定する。このため、キーワードは、印刷テキストデータに記述される文字列と正確に同一であることが求められる。本実施形態では、上述したように、ユーザーは、簡易な作業で、印刷テキストデータに記述される文字列と正確に同一なキーワードを指定できる。
次いで、制御サーバー制御部40は、第2領域A42に、分析結果確認画面G424を表示する(ステップSD3)。
次いで、制御サーバー制御部40は、新たに生成したパーサーPSの機能により、処理対象テキストデータを分析し、分析結果を第2領域A42の分析結果確認画面G424に表示する(ステップSD4)。
図24は、第2領域A42に分析結果確認画面G424が表示された状態の第4ユーザーインターフェースUI4を示す。
ユーザーは、分析結果確認画面G424の内容を確認することにより、新たに生成されたパーサーPSの分析結果の妥当性を確認できる。すなわち、ユーザーは、第3領域A43のテキスト表示画面G43を参照し、パーサーPSが取得すべき正しい項目値を認識し、当該認識に基づいて新たに生成されたパーサーPSの分析結果の妥当性を確認できる。ユーザーは、分析結果確認画面G424に正しい項目値が表示されている場合は、パーサーPSの分析結果が妥当であると判別し、正しい項目値以外の値が表示されている場合は、パーサーPSの分析結果が妥当でないと判別する。
図24に示すように、分析結果確認画面G424は、新たに生成されたパーサーPSを適用することを指示する上書ボタンUBと、新たに生成されたパーサーPSの適用をキャンセルするキャンセルボタンCCとを有する。ユーザーは、分析結果確認画面G424の内容を確認し、新たに生成されたパーサーPSの分析結果が妥当かどうかを判別し、妥当であれば上書ボタンUBを操作し、妥当でない場合はキャンセルボタンCCを操作する。
図23のフローチャートFDに示すように、分析結果確認画面G424に、新たに生成したパーサーPSの分析結果を表示した後、制御サーバー制御部40は、キャンセルボタンCCが操作されたか否かを監視すると共に(ステップSD5)、上書ボタンUBが操作されたか否かを監視する(ステップSD6)。
上書ボタンUBが操作されたことを検出した場合(ステップSD6:YES)、制御サーバー制御部40は、以下の処理を実行する(ステップSD7)。すなわち、ステップSD7において、制御サーバー制御部40は、パーサー管理データベース421を参照し、当該データベースにおいて、選択印刷装置のシリアル番号J11と対応付けられた選択レシート項目に対応するパーサーPSを、新たに生成したパーサーPSにより、上書き更新する。
ステップSD7の処理の結果、制御サーバー制御部40は、選択印刷装置から印刷テキストデータを受信した場合、選択レシート項目については、項目値を取得する処理を、新たに生成したパーサーPSの機能に基づいて実行する。
次いで、制御サーバー制御部40は、分析結果確認画面G424を閉じる(ステップSD8)。
一方、キャンセルボタンCCが操作されたことを検出した場合(ステップSD5:YES)、制御サーバー制御部40は、パーサー管理データベース421の更新を行うことなく、処理手順をステップSD8へ移行し、分析結果確認画面G424を閉じる。
なお、1の印刷装置12について、パーサー管理データベース421にレコードが登録される場合、当該1の印刷装置12のシリアル番号J11と対応付けられるパーサーPSのそれぞれは、予め用意されたデフォルトのパーサーPSとされる。
<第2合計金額情報フレーム>
図25は、図17のフレーム選択画面G422において、第2合計金額情報フレームが選択された後に、フレーム選択画面G422から遷移するステップ対応画面G423を示す図である。第2合計金額情報フレームは、複数のステップを有する。
図25のステップ対応画面G423では、選択レシート項目(本例では、合計金額情報項目。)の項目値(本例では、合計金額情報J92。)を検索する場合に使用するキーワードを入力することが可能である。ユーザーは、テキスト表示画面G43を用いて、上述した方法で、キーワードとなる単語、又は、単語群を選択する。これにより、ユーザーは、キーワードが所定の単語、又は、単語群である、という検索ルールを指定する。
図25のステップ対応画面G423は、次に遷移可能なステップ対応画面G423が存在する。これを踏まえ、図25のステップ対応画面G423には、コンファームボタンCBが表示されず、次のステップ対応画面G423への遷移を指示する遷移ボタンNBが表示される。
遷移ボタンNBが操作されたことを検出した場合、制御サーバー制御部40は、次のステップ対応画面G423へ遷移する。
図26は、図25のステップ対応画面G423の遷移ボタンNBが操作された場合に、図25のステップ対応画面G423に代えて表示されるステップ対応画面G423を示す図である。
図26のステップ対応画面G423では、キーワードと、検索対象の項目値との位置関係に応じて、7個のルール情報JH26a〜ルール情報JH26gが選択可能に一覧表示される。ユーザーは、テキスト表示画面G43を参照し、ルール情報JH26a〜ルール情報JH26gのうち、適切な検索ルールに対応するルール情報を選択する。
以下、ルール情報JH26a〜ルール情報JH26gのうち、ルール情報JH26cについて説明する。
ルール情報JH26cは、選択レシート項目に対応する項目値が、キーワードと同一行において、左からN番目(Nは、正の整数。)の単語であることを指定する検索ルールを示すルール情報である。1の「行」におけるN番目の単語とは、以下のことを意味する。すなわち、1の「行」におけるN番目の単語とは、当該1の「行」に記述された単語を、空白文字を除いて左から順番に数えたときに、左からN番目に位置する単語を意味する。例えば、図6Bの印刷テキストデータT2の4行目には、空白文字を除き、単語が、単語「Beer」、単語「1」、単語「10.00」の順番で記述される。この場合、単語「Beer」は1番目の単語であり、単語「1」は2番目の単語であり、単語「10.00」は3番目の単語である。また、単語「10.00」は、印刷テキストデータT2の4行目において、最後の単語でもある。
図27は、図26のステップ対応画面G423において、ラジオボタンにより、ルール情報JH26cに対応する検索ルールが選択された場合のステップ対応画面G423を示す図である。
図27に示すように、ルール情報JH26cが選択された場合、ステップ対応画面G423の下部に、番号表示領域BAが形成される。番号表示領域BAは、ユーザーが選択した検索ルールが、N番目という情報を必要とする場合に、ユーザーにN番目の値を選択させると共に、ユーザーが選択したN番目の値を表示する領域である。図27において、番号表示領域BAに選択可能に表示される番号の値を、1つの行に存在する単語の数に対応させた値としてもよい。
このように、制御サーバー制御部40は、検索ルールが、N番目という情報を必要とする場合、ユーザーにN番目を選択させ、選択されたN番目の値を表示する番号表示領域BAを形成する。
図27に示すように、番号表示領域BAは、入力欄N27aを有する。入力欄N27aには、プルダウンメニューからN番目の値を選択することによって、N番目の値を入力できる。ユーザーは、入力欄N27aに対応するプルダウンメニューから、適切な値を選択することによって、入力欄N27aに、N番目の値を入力する。
図27に示すように、本実施形態では、ユーザーは、N番目の値として、1番目〜5番目のほか、「最後」、及び、「最後から2番目」を選択可能である。これは、所定の項目値は、所定の「行」において、「最後」、又は、「最後から2番目」に記述される場合があることに基づくものである。
このように、本実施形態では、所定の項目値は、所定の「行」においてN番目に位置するというルールに従って印刷テキストデータに記述される場合がある、という特性を踏まえ、ユーザーが、簡易な作業を行って、このようなルールに対応する検索ルールを指定できる。
図27に示すステップ対応画面G423について、ユーザーは、7個のルール情報JH26a〜ルール情報JH26gに対応する検索ルールから1つの検索ルールを選択し、必要に応じて番号表示領域BAを用いてN番目の値を選択した上で、遷移ボタンNBを操作して、検索ルールの指定を確定する。遷移ボタンNBが操作されたことを検出した場合、制御サーバー制御部40は、次のステップ対応画面G423へ遷移する。
図28は、図27のステップ対応画面G423において、ルール情報JH26cに対応する検索ルールが選択され、N番目の値として「最後」が選択された後、遷移ボタンNBが操作された場合に、図27のステップ対応画面G423に代えて表示されるステップ対応画面G423を示す図である。
図28のステップ対応画面G423は、ユーザーが設定したキーワードが印刷テキストデータに、複数、記述される場合に、項目値の検索に使用するキーワードが、印刷テキストデータにおいてN番目に出現することを示す検索ルールを指定する画面である。
ここで、印刷テキストデータには、キーワードとして用いる文字列が、複数、記述される場合がある。例えば、文字列「TOTAL」をキーワードとして用いる場合において、小計明示情報J71、及び、合計金額明示情報J91が、共に、文字列「TOTAL」を含み、これに起因して、印刷テキストデータに、文字列「TOTAL」が、複数、記述される場合がある。このような場合であっても、キーワードとして使用可能な文字列は、レシートのレイアウトに対応するルールに従って記述されるため、キーワードがN番目に出現することを指定することにより、所望のキーワードを特定可能である。
図28のステップ対応画面G423は、入力欄N28aを有する。入力欄N28aには、プルダウンメニューからN番目の値を選択することによって、N番目の値を入力できる。ユーザーは、入力欄N28aに対応するプルダウンメニューから、適切な値を選択することによって、入力欄N28aに、N番目の値を入力する。
図28に示すように、本実施形態では、ユーザーは、N番目の値として、1番目〜5番目のほか、「最後」、及び、「最後から2番目」を選択可能である。これは、所定のキーワードの位置については、「最後」、又は、「最後から2番目」に出現することを指定することによって、適切に特定できる場合があることに由来する。図28において、番号表示領域BAに選択可能に表示される番号の値を、印刷テキストデータに出現するキーワードに対応する単語の数に対応させた値としてもよい。
図28に示すステップ対応画面G423は、選択フレーム(本例では、第2合計金額情報フレーム。)に対応するステップ対応画面G423のうち、最後のステップ対応画面G423である。図28に示すステップ対応画面G423について、ユーザーは、プルダウンメニューを利用して、入力欄N28aに、N番目の値を入力する。入力欄N28aへの入力後、ユーザーは、ステップ確定ボタンSB、又は、コンファームボタンCBを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部40の処理は、上述したとおりである。
このように、本実施形態では、キーワードとして指定する文字列は、レシートのレイアウトに対応するルールに従って、印刷テキストデータに、複数、記述される場合がある、という特性を踏まえ、ユーザーが、簡易な作業を行って、このようなルールに対応する検索ルールを指定できる。
<第5パーサーPS5>
第5パーサーPS5を生成する場合について説明する。
第5パーサーPS5を生成する場合、ユーザーは、項目選択画面G41において、取消有無情報項目(プロパティー「is_void」。)を選択する。
プロパティー「is_void」(取消有無情報項目)は、データ型:booleanのプロパティーであり、その点で、プロパティー「total」(合計金額情報項目)と異なる。
上述したように、会計は取り消される場合があり、その場合、会計で発行されるレシートに基づく印刷テキストデータには、取り消しが行われたことを示す情報(以下、「取消明示情報J28」という。)が記述される。そして、取消明示情報J28が印刷テキストデータに記述されている場合、取消有無情報項目の項目値は、true値となり、取消明示情報J28が記述されていない場合、取消有無情報項目の項目値は、false値となる。
印刷テキストデータに所定の情報が記述されているか否かに応じてtrue値、又は、false値のいずれかをとるデータ型:booleanのプロパティーに対応するレシート項目を検索する機能を有するパーサーPSの生成に際し、制御サーバー制御部40は、以下の処理を実行する。
図29は、項目選択画面G41で取消有無情報項目が選択され、取消有無情報項目に係る取得項目値表示画面G421でパーサー生成開始ボタンQBが操作された場合に、第2領域A42に表示されるフレーム選択画面G422を示す図である。
取消有無情報項目について、対応するフレームの個数は、1つである。ユーザーは、取消有無情報項目に係るフレーム選択画面G422に表示されたフレーム確定ボタンXBを操作することにより、フレームの選択を確定する。フレーム確定ボタンXBが操作されたことを検出すると、制御サーバー制御部40は、フレーム選択画面G422を、ステップ対応画面G423に遷移する。
図30は、図29のフレーム選択画面G422から遷移するステップ対応画面G423を示す図である。取消有無情報項目に係るフレームは、1つのステップを有する。
図30のステップ対応画面G423では、選択レシート項目(本例では、取消有無情報項目。)の項目値を取得する場合に使用するキーワードを入力することが可能である。取消有無情報項目の場合、キーワードは、取消明示情報J28である。
ユーザーは、図30のステップ対応画面G423により、キーワードが所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面G43にテキストが表示された処理対象テキストデータに、取消明示情報J28が記述されている場合、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
一方、ユーザーは、テキスト表示画面G43にテキストが表示された処理対象テキストデータに、取消明示情報J28が記述されてない場合、以下の方法で、検索ルールを指定する。ユーザーは、会計の取り消しが行われた場合に、レシートに印刷される取消明示情報J28を所定の手段で認識し、取消明示情報J28を表す文字列を、キーボード等を利用して入力する。
ユーザーにより入力されたキーワードは、ステップ対応画面G423の所定の領域に表示される。
図30に示すステップ対応画面G423について、ユーザーは、キーワードを入力した後、ステップ確定ボタンSB、又は、コンファームボタンCBを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部40の処理は、上述したとおりである。
このように、本実施形態では、データ型:booleanのプロパティーに対応するレシート項目の項目値を取得するパーサーPSについて、ユーザーが、簡易な作業を行って、パーサーPSを生成させることができる。
<第9パーサーPS9>
第9パーサーPS9を生成する場合について説明する。
第9パーサーPS9を生成する場合、ユーザーは、項目選択画面G41において、商品情報項目(プロパティー「products」。)を選択する。
上述したように、商品情報項目には、商品名情報項目、購入数量情報項目、及び、単価情報項目が属する。
第9パーサーPS9は、購入数量情報項目、商品名情報項目、及び、単価情報項目のそれぞれの項目値を取得する処理を実行する機能を有するパーサーPSである。
ここで、印刷テキストデータへの情報の記述に関し、購入数量情報J61(購入数量情報項目の項目値。)、商品名情報J62(商品情報項目の項目値。)、及び、単価情報J63(単価情報項目の項目値)には、以下の特徴がある。
購入数量情報J61、商品名情報J62、及び、単価情報J63は、印刷テキストデータへの記述に関し、何らかの特定の情報と対応付けて記述されない場合がある、という特徴がある。この場合、キーワードとの位置関係で、これら情報の位置を特定することはできない。
また、1の種類の商品に係る購入数量情報J61、商品名情報J62、及び、単価情報J63について、これら情報は、レシートのレイアウトにかかわらず、一行内に印刷される場合があるという特徴がある。これら情報は、レシートに印刷されることが必須の情報であるからであり、また、これら情報を同一行に印刷することにより、これら情報が1つの種類の商品に関連する情報であることが明示されるからである。また、これら情報を同一行に印刷することにより、商品情報J6が、複数個(=複数行)、レシートに印刷された場合に、購入数量情報J61、商品名情報J62、及び、単価情報J63の対応関係が明確になるからである。
また、購入数量情報J61、商品名情報J62、及び、単価情報J63を含む商品情報J6は、レシートにおいて、1の特定の文字列と、他の特定の文字列とで挟まれた領域に印刷される場合があるという特徴がある。この場合、これら情報は、印刷テキストデータにおいて、1の特定の文字列と、他の特定の文字列とで挟まれた領域に記述される。
これら特徴を踏まえ、第9パーサーPS9の生成に際し、制御サーバー制御部40は、以下の処理を実行する。
図31は、項目選択画面G41で商品情報項目が選択され、商品情報項目に係る取得項目値表示画面G421でパーサー生成開始ボタンQBが操作された場合に、第2領域A42に表示されるフレーム選択画面G422を示す図である。
商品情報項目について、対応するフレームの個数は、第1商品情報フレーム、第2商品情報フレームの2つである。図31に示すフレーム選択画面G422には、第1商品情報フレームを説明するフレーム情報JH31a、及び、第2商品情報フレームを説明するフレーム情報JH31bが一覧表示される。また、フレーム情報のそれぞれにはラジオボタンが対応付けて表示され、ユーザーは、ラジオボタンにより、フレームを選択できる。
第1商品情報フレームは、購入数量情報J61、商品名情報J62、及び、単価情報J63の1行における並び順(1行における出現形式。)に基づいて、これら情報の印刷テキストデータにおける位置を特定することを指定する検索ルールに対応するフレームである。
第2商品情報フレームは、購入数量情報J61、商品名情報J62、及び、単価情報J63の1行における並び順、及び、これら情報が記述される領域に基づいて、これら情報の印刷テキストデータにおける位置を特定することを指定する検索ルールに対応するフレームである。
ユーザーは、ラジオボタンによりフレームを選択した上で、商品情報項目に係るフレーム選択画面G422に表示されたフレーム確定ボタンXBを操作することにより、フレームの選択を確定する。フレーム確定ボタンXBが操作されたことを検出すると、制御サーバー制御部40は、フレーム選択画面G422を、ステップ対応画面G423に遷移する。
以下、選択フレームが第1商品情報フレームの場合と、選択フレームが第2商品情報フレームの場合とについて、順次、説明する。
<第1商品情報フレーム>
図32は、第1商品情報フレームが選択された場合に、図31のフレーム選択画面G422から遷移するステップ対応画面G423を示す図である。第1商品情報フレームは、1つのステップを有する。
ここで、購入数量情報J61、商品名情報J62、及び、単価情報J63が同一行に印刷される場合において、これら情報の並び順は、右に向かって以下の6パターンある。
第1パターン:購入数量情報J61、商品名情報J62、単価情報J63。
第2パターン:購入数量情報J61、単価情報J63、商品名情報J62。
第3パターン:商品名情報J62、購入数量情報J61、単価情報J63。
第4パターン:商品名情報J62、単価情報J63、購入数量情報J61。
第5パターン:単価情報J63、購入数量情報J61、商品名情報J62。
第6パターン:単価情報J63、商品名情報J62、購入数量情報J61。
これを踏まえ、図32のステップ対応画面G423には、購入数量情報J61、商品名情報J62、及び、単価情報J63が、第1パターンで印刷されることを指定する検索ルールを示すルール情報JH32a、第2パターンで印刷されることを指定する検索ルールを示すルール情報JH32b、第3パターンで印刷されることを指定する検索ルールを示すルール情報JH32c、第4パターンで印刷されることを指定する検索ルールを示すルール情報JH32d、第5パターンで印刷されることを指定する検索ルールを示すルール情報JH32e、及び、第6パターンで印刷されることを指定する検索ルールを示すルール情報JH32fが一覧表示される。これらルール情報のそれぞれには、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
図32に示すステップ対応画面G423について、ユーザーは、検索ルールを指定した後、ステップ確定ボタンSB、又は、コンファームボタンCBを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部40の処理は、上述したとおりである。すなわち、制御サーバー制御部40は、選択フレームに対応する全てのステップ対応画面G423で指定された検索ルールを取得する。次いで、制御サーバー制御部40は、取得した検索ルールのそれぞれに基づいて選択レシート項目の項目値を取得する処理を実行するパーサーPS(本例では、第9パーサーPS)を生成する。以下、1つの行において情報が出現するパターンによって、第9パーサーPSが項目値を特定する方法について、具体例を挙げて説明する。
ここで、第1商品情報フレームに係る第9パーサーPS9の機能について、第1パターンに係る検索ルールに基づいて処理を実行する場合を例にして説明する。
購入数量情報J61を表す文字列には、以下の特徴がある。すなわち、購入数量情報J61を表す文字列を構成する文字には、数字を表す文字、及び、特定の文字が使用可能であり、他の文字が使用されないという特徴がある。購入数量情報J61を表す文字列を構成する文字に使用可能な、特定の文字とは、例えば、単位当たりの個数を表すときに一般的に用いられる文字「@」である。以下、これらの文字により構成される文字列で表される情報を、「個数型の情報」という。
また、単価情報J63を表す文字列には、以下の特徴がある。すなわち、単価情報J63を表す文字列を構成する文字には、数字を表す文字、小数点を表す文字、通貨記号(「¥」、「$」等。)、プラス記号(「+」)、マイナス記号(「−」)が使用可能であり、他の文字が使用されないという特徴がある。以下、これらの文字により構成される文字列で表される情報を、「数値型の情報」という。
以下、個数型の情報ではなく、かつ、数値型の情報ではない情報を、「任意型の情報」という。
これらのことを踏まえ、第1パターンの場合、購入数量情報J61、商品名情報J62、及び、単価情報J63が記述された「行」には、情報が以下の態様で記述される。すなわち、情報が3つ存在し、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述される。
このことを踏まえ、第9パーサーPS9は、処理対象テキストデータにおける「行」のうち、3つの情報が記述されると共に、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述された1又は複数の「行」を特定する。次いで、第9パーサーPS9は、特定した「行」において、先頭に記述された情報を購入数量情報J61(個数型の情報)として特定し、次に記述された情報を商品名情報J62(任意型の情報)として特定し、その次に記述された情報を単価情報J63(数値型の情報)として特定する。
第1商品情報フレームは、購入数量情報J61、商品名情報J62、及び、単価情報J63が記述される「行」以外の「行」に、個数型の情報、任意型の情報、数値型の情報が所定の順番で並ぶ「行」が存在しない場合に、有効である。
<第2商品情報フレーム>
図33は、第2商品情報フレームが選択された場合に、図31のフレーム選択画面G422から遷移するステップ対応画面G423を示す図である。
図33には、上述したルール情報JH32a〜ルール情報JH32fが一覧表示される。これらルール情報のそれぞれには、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
図33に示すステップ対応画面G423について、ユーザーは、検索ルールを指定した後、遷移ボタンNBを操作する。遷移ボタンNBが操作されたことを検出した場合、制御サーバー制御部40は、図33のステップ対応画面G423を、次のステップ対応画面G423へ遷移させる。
図34は、図33のステップ対応画面G423の遷移ボタンNBが操作された場合に、図33のステップ対応画面G423に代えて表示されるステップ対応画面G423を示す図である。
上述したように、商品情報J6は、1の特定の文字列と、他の特定の文字列とで挟まれた領域に記述されるというルールに従って、印刷テキストデータに記述される場合がある。以下、商品情報J6が記述される領域を規定する特定の文字列のうち、上方に位置する文字列を「領域先頭文字列」といい、下方に位置する文字列を「領域末尾文字列」という。そして、図34のステップ対応画面G423では、領域先頭文字列を入力することが可能である。
ユーザーは、図34のステップ対応画面G423により、領域先頭文字列が所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面G43に表示された処理対象テキストデータに基づくテキストを利用して、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
ユーザーにより入力された領域先頭文字列に係る単語、又は、単語群は、ステップ対応画面G423の所定の領域に表示される。図34では、領域先頭文字列に係る単語群がステップ対応画面G423の所定の領域に表示された様子を示す。
図34に示すステップ対応画面G423について、ユーザーは、領域先頭文字列を入力した後、遷移ボタンNBを操作する。遷移ボタンNBが操作されたことを検出した場合、制御サーバー制御部40は、図34のステップ対応画面G423を、次のステップ対応画面G423へ遷移させる。
図35は、図34のステップ対応画面G423の遷移ボタンNBが操作された場合に、図34のステップ対応画面G423に代えて表示されるステップ対応画面G423を示す図である。
図35のステップ対応画面G423では、領域末尾文字列を入力することが可能である。
ユーザーは、図35のステップ対応画面G423により、領域末尾文字列が所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面G43に表示された処理対象テキストデータに基づくテキストを利用して、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
ユーザーにより入力された領域末尾文字列に係る単語、又は、単語群は、ステップ対応画面G423の所定の領域に表示される。図35では、領域末尾文字列に係る単語、又は、単語群がステップ対応画面G423の所定の領域に表示された様子を示す。
図35に示すステップ対応画面G423について、ユーザーは、キーワードを入力した後、ステップ確定ボタンSB、又は、コンファームボタンCBを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部40の処理は、上述したとおりである。
第2商品情報フレームに係る第9パーサーPS9は、購入数量情報J61、商品名情報J62、及び、単価情報J63の検索に際し、ユーザーに入力された領域先頭文字列と、領域末尾文字列とで挟まれる領域を特定する。次いで、第9パーサーPS9は、特定した領域から、上述した方法で、これら情報の位置を特定する。例えば、第1パターンに係る検索ルールに基づいて処理を実行する場合、制御サーバー制御部40は、以下の処理を実行する。制御サーバー制御部40は、第9パーサーPS9の機能により、特定した領域内で、処理対象テキストデータにおける「行」のうち、3つの情報が記述されると共に、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述された1又は複数の「行」を特定する。次いで、第9パーサーPS9は、特定した「行」において、先頭に記述された情報を購入数量情報J61(個数型の情報)として特定し、次に記述された情報を商品名情報J62(任意型の情報)として特定し、その次に記述された情報を単価情報J63(数値型の)として特定する。
以上説明したように、本実施形態によれば、制御サーバー制御部40(制御部)は、印刷媒体に印刷される情報をテキストで記述された印刷テキストデータ(テキストデータ)として取得し、取得した印刷テキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、選択された1又は複数の単語に基づいて、印刷テキストデータを分析する。
この構成によれば、ユーザーは、印刷テキストデータに基づくテキストを参照しつつ、1又は複数の単語を選択する、という簡易な作業を行って、パーサーPSの生成に必要なキーワードを入力でき、簡易にパーサーPSを生成することが可能となる。すなわち、制御サーバー15による印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、本実施形態では、印刷テキストデータには、印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、制御サーバー制御部40は、レイアウトに準じた状態で、単語に分解したテキストを表示させる。
この構成によれば、ユーザーは、印刷テキストデータに記述された情報の内容、及び、対応するレイアウトを簡易かつ直感的に把握することができ、的確に、キーワードとする1又は複数の単語を選択できる。
また、本実施形態では、制御サーバー制御部40は、表示した単語のうち、選択の候補となっている単語に対して、所定の装飾を施す。
この構成によれば、ユーザーは、単語が、選択の候補となったことを的確に認識した上で、所望の単語を的確にキーワードとして選択できる。
また、本実施形態では、制御サーバー制御部40は、1の単語が選択された場合、当該1の単語と同一行において、当該1の単語と連続する単語をキーワードとして選択可能な状態とする。
この構成によれば、キーワードとして複数の単語を選択する場合、同一行で連続する単語を選択可能な状況下において、ユーザーに、誤りなくキーワードとする単語を選択させることができる。
また、本実施形態では、制御サーバー15は、レシートを発行可能な印刷装置12に接続される。制御サーバー制御部40は、レシートに印刷された情報がテキストとして記述された印刷テキストデータを取得する。
この構成によれば、制御サーバー15は、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム(パーサーPS)を生成できる。すなわち、制御サーバー15によるレシートに対応する印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、以上説明したように、本実施形態によれば、制御サーバー制御部40(制御部)は、印刷媒体に印刷される複数の項目の項目値を含む情報をテキストで記述された印刷テキストデータ(テキストデータ)として取得し記複数の項目を選択可能な第1領域A41(第1の領域)、および、第1領域A41で選択された項目に対応する項目値を印刷テキストデータから取得する際に使用するルールを指定可能な第2領域A42を表示させ、第2領域A42で指定されたルールに基づいて印刷テキストデータを分析し、分析対象となる項目に対応する項目値を取得する。
この構成によれば、第1領域A41で項目を選択し、第2領域で、選択した項目に対応するルールを指定するという簡易な作業を行って、パーサーPSを生成することができる。すなわち、制御サーバー15による印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、本実施形態では、制御サーバー制御部40は、第1領域A41において、複数の項目のうち、項目に対応するルールに従って項目値を取得する処理を実行した場合に、項目値を取得できる状態とすることが求められる項目については、そのことを示すマークM4a(第1の付加情報)を対応付けて表示する。
この構成によれば、ユーザーは、項目値を取得できる状態とすることが求められる項目について、的確に認識できる。
また、本実施形態では、制御サーバー制御部40は、第1領域A41において、複数の項目のうち、項目に対応するルールに従って項目値を取得する処理を実行した場合に、項目値が取得できないことが検出される項目については、そのことを示すマークM4b(第2の付加情報)を対応付けて表示する。
この構成によれば、ユーザーは、現時点で、項目値が取得できない状態の項目について、的確に認識できる。
また、本実施形態では、第4ユーザーインターフェースUI4は、印刷テキストデータに基づくテキストが表示された第3領域A43をさらに有する。
この構成によれば、ユーザーは、印刷テキストデータに基づくテキストを参照しつつ、的確に、第2領域A42への入力を行うことができる。
また、本実施形態では、印刷テキストデータには、印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、制御サーバー制御部40は、第3領域A43に、レイアウトに準じた状態で、印刷テキストデータに基づくテキストを表示させる。
この構成によれば、ユーザーは、印刷テキストデータに記述された情報の内容、及び、対応するレイアウトを簡易かつ直感的に把握できる。
また、本実施形態では、制御サーバー15は、レシートを発行可能な印刷装置12に接続される。制御サーバー制御部40は、レシートに印刷された情報がテキストとして記述された印刷テキストデータを取得する。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム(パーサーPS)を生成できる。すなわち、制御サーバー15よるレシートに対応する印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
また、本実施形態では、パーサーPSにより取得する対象とする項目値は、レシートが発行されたときの会計における小計に関する情報(小計情報J72)、合計に関する情報(合計金額情報J92)、又は、購入された商品に関する情報(商品情報J6)を含む。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される小計情報J72、合計金額情報J92、及び、商品情報J6を取得する処理を実行するプログラム(パーサーPS)を生成できる。
また、以上説明したように、本実施形態では、制御サーバー制御部40(制御部)は、印刷媒体に印刷される複数の項目の項目値を含む情報をテキストで記述されたテキストデータとして取得し、前記複数の項目のうちいずれか1つの項目を選択させ、選択された項目に対応する項目値を前記テキストデータから取得するプログラムを生成する際に使用するルールを指定可能な画面を表示させ、前記画面で指定された前記ルールに基づいて前記プログラムを生成する。
この構成によれば、ユーザーは、ステップ対応画面G423に情報を入力するという簡易な作業を行うことにより、パーサーPSを生成することができる。
また、本実施形態では、制御サーバー制御部40は、選択された項目について、選択された項目の項目値を取得する処理を実行するときに使用するフレーム(ルールの種類)を選択させ、フレームに応じて、選択された項目に対応するルールを指定するための情報を入力させるステップ対応画面G423を表示する。
この構成によれば、ユーザーは、フレームに対応するステップ対応画面G423に情報を入力するという簡易な作業を行うことにより、フレームに対応するパーサーPSを生成することができる。
また、本実施形態では、制御サーバー制御部40は、選択された項目について、選択された項目の項目値を取得する処理を実行するときに使用するルールが複数ある場合は、各ルールを指定するための情報を入力させるステップ対応画面G423を順番に表示し、ステップ対応画面G423のそれぞれに入力された情報に基づいて、複数のルールを取得し、取得した複数のルールに基づいてパーサーPSを生成する。
この構成によれば、ユーザーはステップ対応画面G423に、順次、情報を入力する、という簡易な作業を行うことにより、複数のルールに基づいて項目値を取得する処理を実行するパーサーPSを生成できる。
また、本実施形態では、ステップ対応画面G423は、コンファームボタンCB(所定のボタン。)を有する。制御サーバー制御部40は、コンファームボタンCBが操作されたことを検出した場合、ステップ対応画面G423に入力された情報に基づいてパーサーPSを生成し、生成したパーサーPSの機能により印刷テキストデータを分析し、分析結果を表示する。
この構成によれば、ユーザーは、分析結果を確認することにより、生成されたパーサーPSの分析結果の妥当性を的確に判別できる。
また、本実施形態では、制御サーバー15は、レシートを発行可能な印刷装置12に接続される。制御サーバー制御部40は、レシートに印刷された情報がテキストとして記述された印刷テキストデータを取得する。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム(パーサーPS)を生成できる。
また、本実施形態では、パーサーPSにより取得する対象とする項目値は、レシートが発行されたときの会計における小計に関する情報(小計情報J72)、合計に関する情報(合計金額情報J92)、又は、購入された商品に関する情報(商品情報J6)を含む。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される小計情報J72、合計金額情報J92、及び、商品情報J6を取得する処理を実行するプログラム(パーサーPS)を生成できる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
また例えば、上述した制御サーバー15の制御方法(情報処理装置の制御方法)が、制御サーバー15が備えるコンピューター、又は、制御サーバー15に接続される外部装置を用いて実現される場合、本発明を、当該方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、HDD(Hard Disk Drive)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、Blu−ray(登録商標)Disc、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、制御サーバー15や、制御サーバー15に接続された外部装置が備える内部記憶装置であるRAM(Random Access Memory)、ROM(Read Only Memory)、HDD等の不揮発性記憶装置でもよい。
また例えば、上述した実施形態では、会計に応じて、印刷装置12が印刷データに基づいて印刷テキストデータを生成した。しかしながら、制御サーバー15が、印刷装置12から印刷データを受信し、受信した印刷データに基づいて印刷テキストデータを生成する構成でもよい。すなわち、印刷テキストデータ(テキストデータ)を生成する主体は、印刷装置12に限らず、何でもよい。
また例えば、上述した実施形態では、印刷装置12と、ホストコンピューターとして機能するタブレット端末13とは、無線通信する構成であった。しかしながら、印刷装置12とホストコンピューターとは、無線通信に限らず、有線LANに係る通信規格や、USB、USB以外のシリアル通信に係る通信規格、パラレル通信に係る規格に従って有線通信する構成でもよい。また、ホストコンピューターは、タブレット端末13のように、タブレット型の装置に限らず、例えば、据え置き型の装置でもよい。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
1…会計システム、12…印刷装置、13…タブレット端末、15…制御サーバー、20…タブレット端末制御部、21…タブレット端末通信部、22…タッチパネル、23…タブレット端末記憶部、30…印刷装置制御部、31…印刷部、32…印刷装置記憶部、33…印刷装置通信部、34…印刷装置ネットワーク通信部、35…デバイス通信部、40…制御サーバー制御部、41…制御サーバーネットワーク通信部、42…制御サーバー記憶部、43…制御サーバー表示部、44…制御サーバー入力部、201…アプリケーション実行部、421…パーサー管理データベース、422…分析データ管理データベース、423…印刷装置管理データベース、BR…バーコードリーダー、CD…カスタマーディスプレー、JT…自動釣銭機。

Claims (9)

  1. 表示部と、制御部とを備えた情報処理装置であって、
    前記制御部は、
    項目、及び、前記項目に対応する項目値を複数含む印刷データを、文字コードで記述したテキストデータとして取得し、
    複数の前記項目を選択可能な第1の領域、及び、前記第1の領域で選択を受けた前記項目の項目値の前記テキストデータにおける位置を特定するルールの種類である1又は複数のフレーム選択可能な第2の領域を前記表示部に表示する制御を行い、
    前記第2の領域で表示した前記1または複数のフレームのうちの1のフレームが選択されたとき、選択された前記1のフレームに基づいて、前記テキストデータを分析して前記項目の前記項目値を取得し、又は取得できないことを検出する機能を有するパーサーを生成し、生成した前記パーサーを実行して、前記テキストデータから、前記項目に対応する前記項目値を取得する、情報処理装置。
  2. 前記制御部は、
    前記第1の領域に表示する複数の前記項目のうち、必須項目である前記項目に対して、第1の付加情報を付加して表示する制御を行う、請求項1に記載の情報処理装置。
  3. 前記制御部は、
    前記第1の領域に表示する複数の前記項目のうち、前記項目に対応する前記パーサーの機能により前記項目値を取得できないことを検出したときに、前記項目値を取得できない前記項目に対して、第2の付加情報を付加して表示する制御を行う、請求項1又は2に記載の情報処理装置。
  4. 前記制御部は、
    第3の領域に前記文字コードで記述した前記テキストデータを表示する制御を行う、請求項1から3のいずれか一項に記載の情報処理装置。
  5. 前記制御部は、
    前記第3の領域に、前記印刷データのレイアウトに準じて、前記テキストデータを表示する制御を行う、請求項4に記載の情報処理装置。
  6. レシートを発行可能な印刷装置と接続可能であり、
    前記制御部は、
    前記レシートに関する前記印刷データを前記テキストデータとして取得する、請求項1から5のいずれか一項に記載の情報処理装置。
  7. 前記項目値は、小計、合計、又は、商品に関する情報のいずれかに対応する情報である請求項6に記載の情報処理装置。
  8. 表示部を備えた情報処理装置の制御方法であって、
    項目、及び、前記項目に対応する項目値を複数含む印刷データを、文字コードで記述したテキストデータとして取得し、
    複数の前記項目を選択可能な第1の領域、及び、前記第1の領域で選択を受けた前記項目の項目値の前記テキストデータにおける位置を特定するルールの種類である1又は複数のフレーム選択可能な第2の領域を前記表示部に表示し、
    前記第2の領域で表示した前記1または複数のフレームのうちの1のフレームが選択されたとき、選択された前記1のフレームに基づいて、前記テキストデータを分析して前記項目の前記項目値を取得し、又は取得できないことを検出する機能を有するパーサーを生成し、生成した前記パーサーを実行して、前記テキストデータから、前記項目に対応する前記項目値を取得する、情報処理装置の制御方法。
  9. 情報処理装置の制御部により実行可能な制御プログラムであって、
    前記制御部に、
    項目、及び、前記項目に対応する項目値を複数含む印刷データを、文字コードで記述したテキストデータとして取得する工程と、
    複数の前記項目を選択可能な第1の領域、及び、前記第1の領域で選択を受けた前記項目の項目値の前記テキストデータにおける位置を特定するルールの種類である1又は複数のフレーム選択可能な第2の領域を表示する工程と、
    前記第2の領域で表示した前記1または複数のフレームのうちの1のフレームが選択されたとき、選択された前記1のフレームに基づいて、前記テキストデータを分析して前記項目の前記項目値を取得し、又は取得できないことを検出する機能を有するパーサーを生成し、生成した前記パーサーを実行して、前記テキストデータから、前記項目に対応する前記項目値を取得する工程と、を実行させる制御プログラム。
JP2016150738A 2016-07-29 2016-07-29 情報処理装置、情報処理装置の制御方法、及び、制御プログラム Active JP6759817B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016150738A JP6759817B2 (ja) 2016-07-29 2016-07-29 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
US15/663,108 US20180032483A1 (en) 2016-07-29 2017-07-28 Information processing device, control method of an information processing device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016150738A JP6759817B2 (ja) 2016-07-29 2016-07-29 情報処理装置、情報処理装置の制御方法、及び、制御プログラム

Publications (3)

Publication Number Publication Date
JP2018018465A JP2018018465A (ja) 2018-02-01
JP2018018465A5 JP2018018465A5 (ja) 2019-08-22
JP6759817B2 true JP6759817B2 (ja) 2020-09-23

Family

ID=61076267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016150738A Active JP6759817B2 (ja) 2016-07-29 2016-07-29 情報処理装置、情報処理装置の制御方法、及び、制御プログラム

Country Status (1)

Country Link
JP (1) JP6759817B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7006096B2 (ja) 2017-09-29 2022-01-24 セイコーエプソン株式会社 情報処理装置、及び、情報処理装置の制御方法
JP2020042582A (ja) * 2018-09-11 2020-03-19 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7205178B2 (ja) * 2018-11-19 2023-01-17 セイコーエプソン株式会社 情報処理装置、及び、情報処理装置の制御方法
JP7127506B2 (ja) * 2018-11-19 2022-08-30 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
JP6992733B2 (ja) * 2018-11-22 2022-01-13 セイコーエプソン株式会社 情報処理装置、および情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187319A (ja) * 1996-10-31 1998-07-14 Fujitsu Ltd 未処理案内方法及び装置及び未処理案内プログラムを格納した記憶媒体
US20050247773A1 (en) * 2004-05-06 2005-11-10 Jack Hoang Template-based information extraction system and method
JP2012003670A (ja) * 2010-06-21 2012-01-05 East Cloud Inc 領収書情報処理装置、方法、及びコンピュータプログラム
JP2012168758A (ja) * 2011-02-15 2012-09-06 Seiko Epson Corp 印刷物編集用プログラム、印刷物編集装置、及び、印刷物編集方法
JP6100532B2 (ja) * 2013-01-15 2017-03-22 株式会社富士通マーケティング レシート定義データ作成装置およびそのプログラム
JP6404579B2 (ja) * 2014-03-05 2018-10-10 グローリー株式会社 売上管理システム及び売上管理方法
JP5739043B1 (ja) * 2014-06-09 2015-06-24 東芝テック株式会社 販売データ処理装置およびプログラム
JP6379960B2 (ja) * 2014-10-08 2018-08-29 セイコーエプソン株式会社 情報処理装置、会計システム、及び、記録装置

Also Published As

Publication number Publication date
JP2018018465A (ja) 2018-02-01

Similar Documents

Publication Publication Date Title
JP6759817B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
US10909360B2 (en) Information processing device, control method of information processing device, and storage medium
US20090066996A1 (en) Printing System, POS System, Connection Device, Control Method of Printing System, and Program Therefor
JP6379960B2 (ja) 情報処理装置、会計システム、及び、記録装置
JP6657945B2 (ja) 制御サーバー、情報処理システム、及び、制御サーバーの制御方法
JP6949596B2 (ja) 商品データ処理装置及び商品データ処理プログラム
JP6766503B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
JP6772636B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
US10078829B2 (en) Information processing device, transaction processing system, and recording device
US10984298B2 (en) Acquiring item values from printers based on notation form settings
US10990861B2 (en) Printer communication using formatted printing information and alteration or deletion of formatted printing information
JP7006096B2 (ja) 情報処理装置、及び、情報処理装置の制御方法
JP6756102B2 (ja) 情報処理装置、情報処理装置の情報処理方法、及び、情報処理システム
JP2013210914A (ja) 産地直売所用ラベル発行機
EP3370211A1 (en) Point-of -sale terminal
JP7205178B2 (ja) 情報処理装置、及び、情報処理装置の制御方法
JP7183718B2 (ja) 印刷装置、及び、情報処理システム
JP2014167830A (ja) 商取引処理装置及びレシート明細検索プログラム
JP5502838B2 (ja) 商品販売データ処理装置およびプログラム
JP2024015275A (ja) 商品販売データ処理装置及び制御プログラム
JP2019067040A (ja) 情報処理装置、及び、情報処理装置の制御方法
JPH056453A (ja) ハンデイスキヤナー

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200626

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: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200817

R150 Certificate of patent or registration of utility model

Ref document number: 6759817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150