JP6759817B2 - 情報処理装置、情報処理装置の制御方法、及び、制御プログラム - Google Patents
情報処理装置、情報処理装置の制御方法、及び、制御プログラム Download PDFInfo
- 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
Links
Images
Description
そして、レシートに印刷される情報のように、印刷媒体に印刷される情報は、後に活用可能な有益な情報が含まれる場合がある。これを踏まえ、情報処理装置により、印刷媒体に印刷される情報がテキストとして記述されたテキストデータを分析することが行われている。このような分析に際し、ユーザーが行うことが必要な操作をできるだけ簡易化し、ユーザーの負担を軽減したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作を簡易化することを目的とする。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
本発明の構成によれば、ユーザーは、項目値を取得できる状態とすることが求められる項目について、的確に認識できる。
本発明によれば、ユーザーは、現時点で、項目値が取得できない状態の項目について、的確に認識できる。
本発明によれば、ユーザーは、テキストデータに基づくテキストを参照しつつ、的確に、第2領域への入力を行うことができる。
本発明によれば、ユーザーは、テキストの内容、及び、対応するレイアウトを簡易かつ直感的に把握できる。
本発明によれば、情報処理装置によるレシートに対応するテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
本発明によれば、小計、合計、又は商品に関する情報が印刷されるレシートに対応するテキストデータの情報処理装置による分析に際し、ユーザーが行う操作が簡易化する。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
図1は、本実施形態に係る会計システム1(情報処理システム)の構成を示す図である。
図1に示すように、会計システム1は、複数の店舗システム11を備える。店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗は、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム11は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
レジカウンターLにおける会計に際し、レジ担当者は、印刷装置12に接続されたバーコードリーダーBRで商品や商品の包装に付されたバーコードを読み取り、また、タブレット端末13に対して会計に対応する入力を行う。印刷装置12は、バーコードリーダーBRによる読み取りに基づくデータを、タブレット端末13に送信する。タブレット端末13は、印刷装置12から受信したバーコードリーダーBRの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて、印刷装置12を制御し、印刷装置12にレシートを発行させる。印刷装置12により発行されたレシートは、レジ担当者により顧客に引き渡される。
印刷装置12、及び、タブレット端末13の構成、機能、及び、機能に基づく処理については後述する。
ローカルエリアネットワーク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にアクセス可能である。
タブレット端末13は、前面の広い領域にタッチパネル22が設けられたタブレット型の(板状の)端末である。タブレット端末13は、レジカウンターLにおける会計に際し、会計に関する各種処理を実行して印刷装置12を制御するホストコンピューターとして機能する。
図2に示すように、タブレット端末13は、タブレット端末制御部20と、タブレット端末通信部21と、タッチパネル22と、タブレット端末記憶部23と、を備える。
なお、本実施形態に係る印刷装置12の印刷方式はサーマル方式であるが、印刷装置12の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、印刷装置12の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
図2に示すように、印刷装置12は、印刷装置制御部30と、印刷部31と、印刷装置記憶部32と、印刷装置通信部33と、印刷装置ネットワーク通信部34と、デバイス通信部35と、を備える。
なお、デバイス通信部35が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
バーコードリーダーBRは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部35に出力する。デバイス通信部35は、バーコードリーダーBRから入力されたデータを、印刷装置制御部30に出力する。
カスタマーディスプレーCDは、印刷装置制御部30の制御で、会計に関する情報を表示する。カスタマーディスプレーCDに表示された情報は、レジカウンターLで会計を行う顧客が視認できる。
自動釣銭機JTは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、印刷装置制御部30の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
図2に示すように、制御サーバー15は、制御サーバー制御部40(制御部)と、制御サーバーネットワーク通信部41と、制御サーバー記憶部42と、制御サーバー表示部43と、制御サーバー入力部44とを備える。
次いで、アプリケーション実行部201は、生成したレシート情報に基づいて、印刷データを生成する。印刷データは、所定のレイアウトでレシート情報が印刷されたレシートの発行を指示するデータである。印刷データは、印刷装置12のコマンド体系に従った複数の制御コマンドを含んで構成される。
図4の印刷データDT1に示すように、印刷データには、グラフィック画像印刷指示コマンドCM1と、文字列印刷関連コマンド群GMと、改行コマンドLFと、カットコマンドCM4とを含む。また、文字列印刷関連コマンド群GMは、文字列装飾コマンドCM2と、文字列印刷指示コマンドCM3とを含む。
文字列印刷関連コマンド群GMに含まれる文字列装飾コマンドCM2は、文字列印刷指示コマンドCM3によって印刷が指示された文字列に施す装飾を指定する制御コマンドである。文字列に施す装飾は、例えば、右寄せ、中央寄せ、左寄せ、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、拡大、縮小である。
レシートR1において、店舗住所情報J2の一行下には、店舗の電話番号を文字列で表す店舗電話番号情報J3が一行で印刷される。店舗電話番号情報J3は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、店舗の電話番号を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
レシートR1は、1つ目の第1エリア分割情報SK1によって印刷領域が区切られ、1つ目の第1エリア分割情報SK1よりも上方がエリア分けされる。以下、レシートR1において、第1エリア分割情報SK1よりも上方のエリアを「エリアAA1」とする。
レシート識別関連情報J4は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、レシート識別明示情報J41を表す文字列と、1つの空白文字と、レシート識別情報J42を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。図5AのレシートR1では、「レシート識別明示情報J41を表す文字列と、空白文字と、レシート識別情報J42を表す文字列とが連続する文字列」は、文字列「Check♯:△C0001」である。
レシートR1は、1つ目の第1エリア分割情報SK1と、2つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、1つ目の第1エリア分割情報SK1と、2つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAA2」とする。
商品情報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の順番で印刷される。
レシートR1は、2つ目の第1エリア分割情報SK1と、1つ目の第2エリア分割情報SK2とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、2つ目の第1エリア分割情報SK1と、1つ目の第2エリア分割情報SK2とで囲まれたエリアを「エリアAA3」とする。
小計関連情報J7は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計明示情報J71を表す文字列と、小計情報J72を表す文字列との間に挿入される空白文字の個数は、小計情報J72の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1では、「小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列」は、文字列「SUBTOTAL△△・・・△△70.00」である。
税関連情報J8は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報J81を表す文字列と、税額情報J82を表す文字列との間に挿入される空白文字の個数は、税額情報J82の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1では、「税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列」は、文字列「TAX△△・・・△△6.13」である。
合計金額関連情報J9は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報J91を表す文字列と、合計金額情報J92を表す文字列との間に挿入される空白文字の個数は、合計金額情報J92の位置が、「行」の末尾に位置するように、調整される。図5AのレシートR1では、「合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列」は、文字列「TOTAL△△・・・△△76.13」である。
図5Bに示すように、レシートR2に係るレシート識別明示情報J41は、文字列「CheckNO.」からなる情報であり、レシートR1に係るレシート識別明示情報J41と文字列の態様が相違する。
レシートR2において、レシート識別関連情報J4は、中央寄せで印字される。また、レシートR2において、レシート識別明示情報J41と、レシート識別情報J42との間には、1つの空白文字が挿入される。
レシートR2は、1つ目の第1エリア分割情報SK1によって、第1エリア分割情報SK1より上方と、下方とが区切られ、エリア分けされる。以下、レシートR2において、第1エリア分割情報SK1よりも上方の情報のエリアを「エリアAB1」とする。
レシートR2において、商品情報J6に含まれる購入数量情報J61、商品名情報J62、及び、単価情報J63は、1行内で、右へ向かってこの順番で印刷される。
レシートR2において、小計関連情報J7は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計明示情報J71を表す文字列と、小計情報J72を表す文字列との間に挿入される空白文字の個数は、小計情報J72の位置が、「行」の末尾に位置するように、調整される。図5BのレシートR2では、「小計明示情報J71を表す文字列と、1個又は複数個の空白文字と、小計情報J72を表す文字列とが連続する文字列」は、文字列「sub−total△△・・・△△70.00」である。
レシートR2において、税関連情報J8は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報J81を表す文字列と、税額情報J82を表す文字列との間に挿入される空白文字の個数は、税額情報J82の位置が、「行」の末尾に位置するように、調整される。図5BのレシートR2では、「税明示情報J81を表す文字列と、1個又は複数個の空白文字と、税額情報J82を表す文字列とが連続する文字列」は、文字列「sales△tax△△・・・△△6.13」である。
レシートR2は、1つ目の第1エリア分割情報SK1と、1つ目の第3エリア分割情報SK3とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR2において、1つ目の第1エリア分割情報SK1と、1つ目の第3エリア分割情報SK3とで囲まれたエリアを「エリアAB2」とする。
レシートR2において、合計金額関連情報J9は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報J91を表す文字列と、合計金額情報J92を表す文字列との間に挿入される空白文字の個数は、合計金額情報J92の位置が、「行」の末尾に位置するように、調整される。図5BのレシートR2では、「合計金額明示情報J91と、1個又は複数個の空白文字と、合計金額情報J92を表す文字列とが連続する文字列」は、文字列「total△△・・・△△76.13」である。
レシートR2は、1つ目の第3エリア分割情報SK3と、2つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR2において、1つ目の第3エリア分割情報SK3と、2つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAB3」とする。また、2つ目の第1エリア分割情報SK1より下方のエリアを「エリアAB4」とする。
このように、レシートR2は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に3つのエリア分割情報が印刷され、これら3つのエリア分割情報により、印刷領域が、上から順番に、エリアAB1、エリアAB2、エリアAB3、及び、エリアAB4の4つのエリアに区分けされる。エリアAB1には、ロゴ情報J1、レシート識別関連情報J4、及び、発行日時情報J5がこの順番で印刷される。エリアAB2には、1又は複数の商品情報J6、小計関連情報J7、及び、税関連情報J8がこの順番で印刷される。エリアAB3には、合計金額関連情報J9が印刷される。エリアAB4には、付加情報J10、店舗電話番号情報J3、及び、店舗住所情報J2がこの順番で印刷される。
なお、レシートに印刷される情報のそれぞれが、「レシート情報」に相当する。図5AのレシートR1、及び、図5BのレシートR2で例示したように、レシートには、レシート情報が、所定のレイアウトに従って印刷される。
ステップSB3において、印刷装置制御部30は、印刷データから、文字列の印刷に関する制御コマンドである文字列印刷指示コマンドCM3、及び、改行コマンドLFを抽出する。次いで、印刷装置制御部30は、抽出した制御コマンドに基づいて、レシートに文字として印刷される情報がテキストとして記述された印刷テキストデータを生成する。
印刷装置制御部30は、印刷テキストデータに、印刷で行われる改行が反映された状態で情報を記述する。また、印刷装置制御部30は、印刷テキストデータに、文字列装飾コマンドCM2で指定された装飾を反映しない状態で情報を記述する。従って、文字列装飾コマンドCM2によって、文字列に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータへのテキストの記述に際し、これら装飾は反映されない。
図6Bは、図5Bで例示したレシートR2に係る印刷データに基づいて生成される印刷テキストデータである印刷テキストデータT2の内容を示す図である。図6Bと、図5Bとの比較で明らかなとおり、印刷テキストデータT2には、レシートR2に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
なお、ロゴ情報J1は、グラフィック画像であるため、印刷テキストデータには、記述されない。すなわち、図6A、及び、図6Bに示すように、文字コードに対応するフォントデータに基づいて印刷される文字以外の情報は、印刷テキストデータには記述されない。
シリアル番号J11は、印刷装置12の製造段階で、印刷装置12に一意に割り当てられる識別情報であり、印刷装置記憶部32の所定の記憶領域に記憶される。ステップSB4において、印刷装置制御部30は、印刷装置記憶部32の所定の記憶領域に記憶されたシリアル番号J11を取得する。
店舗識別情報J12は、印刷装置12が設けられた店舗を識別する識別情報であり、印刷装置記憶部32の所定の記憶領域に記憶される。ステップSB4において、印刷装置制御部30は、印刷装置記憶部32の所定の記憶領域に記憶された店舗識別情報J12を取得する。
なお、ステップSB4において、シリアル番号J11等を送信するのに必要な通信に関する情報(送信先に関する情報や、通信に用いるプロトコル、送信するデータのフォーマット等)は、印刷装置12に事前に登録される。
図7に示すように、パーサー管理データベース421の1件のレコードは、シリアル番号J11と、パーサーセットPSSとを有する。また、パーサーセットPSSは、第1パーサーPS1〜第15パーサーPS15の15個のパーサーPSを有する。パーサーPS(第1パーサーPS1〜第15パーサーPS15。)については後述する。
ステップ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」)。
分析データは、上述したレシート項目のそれぞれ、及び、以下の項目のそれぞれと、項目値とが対応付けて記述されたJSON形式のデータである。
統括識別情報項目(プロパティー「guid」)。
シリアル番号項目(プロパティー「serial_no」)。
店舗識別情報項目(プロパティー「shop_id」)。
図8は、分析項目のそれぞれの説明に利用する図である。
図9は、分析データの一例を示す図である。
図9で例示する分析データにおいて、プロパティー「guid」は、領域A1に記述される。
図9で例示する分析データにおいて、プロパティー「seirial_no」は、領域A2に記述される。
図9で例示する分析データにおいて、プロパティー「shop_id」は、領域A3に記述される。
会計において、顧客識別情報J16が記録された顧客カードが読み取られ、レシートに顧客識別情報J16が印刷される場合がある。この場合、レシート情報に顧客識別情報J16が含まれ、印刷テキストデータに顧客識別情報J16を示す文字列が記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第1パーサーPS1の機能により、印刷テキストデータを分析し、顧客識別情報J16を取得し、又は、取得できないことを検出する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で顧客識別情報J16を取得した場合、取得した顧客識別情報J16を、顧客識別情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で顧客識別情報J16を取得できないことを検出した場合、顧客識別情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「consumer_id」は、領域A4に記述される。
会計割引名称情報項目は、データ型:textのプロパティー「discounts[].name」に対応する項目である。会計割引名称情報項目の項目値は、会計に適用された割引の名称を示す情報(以下、「会計割引名称情報J17」という。)である。
会計割引額情報項目は、データ型:floatのプロパティー「discounts[].value」に対応する項目である。会計割引額情報項目の項目値は、会計に適用された割引の金額を示す情報(以下、「会計割引額情報J18」)である。
会計では、所定の割引が適用される場合がある。この場合において、レシートに、会計に適用された所定の割引に対応する会計割引名称情報J17、及び、会計割引額情報J18がレシートに印刷される場合がある。この場合、レシート情報に会計割引名称情報J17、及び、会計割引額情報J18が含まれ、印刷テキストデータに、会計割引名称情報J17を示す文字列、及び、会計割引額情報J18を示す文字列が記述される。
制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引名称情報J17を取得した場合、取得した会計割引名称情報J17を、会計割引名称情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引名称情報J17を取得できないことを検出した場合、会計割引名称情報項目と対応付けてnull値を分析データに記述する。
また、制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引額情報J18を取得した場合、取得した会計割引額情報J18のデータ型をデータ型:floatに変換することを試みる。会計割引額情報J18が、数字を表す文字や、所定の記号(小数点を表す記号等。)が所定の態様で組み合わされた情報ではない場合、データ型をデータ型:floatに変換することができない。制御サーバー制御部40は、データ型を変換することができた場合、データ型を変換した後の会計割引額情報J18を会計割引額情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、データ型を変換することができなかった場合、会計割引額情報項目と対応付けてnull値を分析データに記述する。
また、制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で会計割引額情報J18を取得できないことを検出した場合、会計割引名称情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「discounts」は、領域A5に記述される。
顧客人数情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「guests」は、領域A6に記述される。
払戻有無情報項目に関し、制御サーバー制御部40は、後述する取消有無情報項目に関する処理と同様の処理を実行する。払戻有無情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「is_refund」は、領域A7に記述される。
会計は、取り消される場合がある。この場合において、レシートに、会計が取り消されたことを示す情報が印刷される場合がある。この場合、印刷テキストデータに、会計が取り消されたことを示す情報を表す文字列が記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第5パーサーPS5の機能により、印刷テキストデータを分析し、印刷テキストデータに、会計が取り消されたことを示す情報を表す文字列が記述されているか否かを判別する。当該文字列が記述されている場合、制御サーバー制御部40は、取消有無情報項目の項目値として、true値を取得する。当該文字列が記述されていない場合、制御サーバー制御部40は、取消有無情報項目の項目値として、false値を取得する。
制御サーバー制御部40は、分析データの生成に際し、取消有無情報項目と対応付けてtrue値、又は、false値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「is_void」は、領域A8に記述される。
会員所属情報項目は、データ型:textのプロパティー「memberships[].name」に対応する項目である。会員所属情報項目の項目値は、顧客が所属するサービスプログラムの名称を示す情報(以下、「会員所属情報J20」という。)である。
会員識別情報項目は、データ型:textのプロパティー「memberships[].account.no」に対応する項目である。会員識別情報項目の項目値は、顧客が所属するサービスプログラムにおいて顧客を識別する識別情報(以下、「会員識別情報J21」という。)である。
会員情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「memberships」は、領域A9に記述される。
支払方法名称情報項目は、データ型:textのプロパティー「payment_methods[].name」に対応する項目である。支払方法名称情報項目の項目値は、支払い方法の名称を示す情報(以下、「支払方法名称情報J22」という。)である。
支払額情報項目は、データ型:floatのプロパティー「payment_methods[].value」に対応する項目である。支払額情報項目の項目値は、支払方法名称情報J22に係る支払い方法で顧客が支払った金銭の額を示す情報(以下、「支払額情報J23」という。)である。
支払方法情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「payment_methods」は、領域A10に記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第8パーサーPS8の機能により、印刷テキストデータを分析し、発行日時情報J5を取得し、又は、取得できないことを検出する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で発行日時情報J5を取得した場合において、データ型の変換が成功した場合、データ型を変換した後の発行日時情報J5を、発行日時情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で発行日時情報J5を取得した場合において、データ型の変換が失敗した場合、発行日時情報項目と対応付けてnull値を分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で発行日時情報J5を取得できないことを検出した場合、発行日時情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「printed_at」は、領域A11に記述される。
商品名情報項目は、データ型:textのプロパティー「puroducts[].name」に対応する項目である。商品名情報項目の項目値は、商品名情報J62である。
購入数量情報項目は、データ型:textのプロパティー「puroducts[].quantity」に対応する項目である。購入数量情報項目の項目値は、購入数量情報J61である。
単価情報項目は、データ型:textのプロパティー「puroducts[].price」に対応する項目である。単価情報項目の項目値は、単価情報J63である。
図9で例示する分析データにおいて、プロパティー「products」は、領域A12に記述される。
レシート識別情報項目に関する処理について、制御サーバー制御部40は、顧客識別情報項目に関する処理と同様の処理を実行する。レシート識別情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「receipt_id」は、領域A13に記述される。
図9で例示する分析データにおいて、プロパティー「sale_type」は、領域A14に記述される。
図9で例示する分析データにおいて、プロパティー「staff」は、領域A15に記述される。
小計情報項目に関し、制御サーバー制御部40は、後述する合計金額情報項目に関する処理と同様の処理を実行する。小計情報項目についての詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「subtotal」は、領域A16に記述される。
税名称情報項目は、データ型:textのプロパティー「taxes[].name」に対応する項目である。税名称情報項目の項目値は、税の名称を示す情報(以下、「税名称情報J26」という。)である。レシートには、税名称情報J26が印刷される場合がある。この場合、レシート情報に税名称情報J26が含まれ、印刷テキストデータに税名称情報J26を示す文字列が記述される。
税額情報項目は、データ型:floatのプロパティー「taxes.value」に対応する項目である。税額情報項目の項目値は、税額情報J82である。
税情報項目に関する処理について、制御サーバー制御部40は、上述した会計割引情報項目に関する処理と同様の処理を実行する。税額情報項目の詳細な説明は省略する。
図9で例示する分析データにおいて、プロパティー「taxes」は、領域A17に記述される。
ステップSC3のテキストデータ分析処理において、制御サーバー制御部40は、第15パーサーPS15の機能により、印刷テキストデータを分析し、合計金額情報J92を取得し、又は、取得できないことを検出する。
制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で合計金額情報J92を取得した場合において、データ型の変換が成功した場合、データ型を変換した後の合計金額情報J92を、合計金額情報項目と対応付けて分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で合計金額情報J92を取得した場合において、データ型の変換が失敗した場合、合計金額情報項目と対応付けてnull値を分析データに記述する。制御サーバー制御部40は、分析データの生成に際し、テキストデータ分析処理で合計金額情報J92を取得できないことを検出した場合、合計金額情報項目と対応付けてnull値を分析データに記述する。
図9で例示する分析データにおいて、プロパティー「total」は、領域A18に記述される。
図10は、分析データ管理データベース422の1件のレコードが有する情報を模式的に示す図である。
図10に示すように、分析データ管理データベース422の1件のレコードは、統括識別情報J15、シリアル番号J11、店舗識別情報J12、発行日時情報J5、印刷データ、印刷テキストデータ、分析データを有する。
ステップSC5において、制御サーバー制御部40は、分析データに、対応する項目と対応付けて記述した統括識別情報J15、シリアル番号J11、店舗識別情報J12、及び発行日時情報J5と、受信した印刷データ、及び印刷テキストデータと、生成した分析データとを有するレコードを、分析データ管理データベース422に登録する。
例えば、制御サーバー15の制御サーバー制御部40は、外部の装置のブラウザーからの要求に応じて、分析データ管理データベース422の分析データを用いて、特定のレシートに係る合計金額情報J92を提供する。
以上を踏まえ、本実施形態に係る制御サーバー15は、以下の処理を実行することにより、印刷装置12のレイアウトを反映して的確に項目値を取得する機能を有するパーサーPSを、ユーザーが簡易な操作を行って生成できるようにする。
第15パーサーPS15(合計金額情報項目(プロパティー「total」)の項目値を取得するパーサーPS。)。
第5パーサーPS5(取消有無情報項目(プロパティー「is_void」)の項目値を取得するパーサーPS。)。
第9パーサーPS9(商品情報項目(プロパティー「products」)の項目値を取得するパーサーPS。)。
図11Aに示すように、第1ユーザーインターフェースUI1は、店舗識別情報J12を入力する入力欄N1aを有する。ユーザーは、パーサーPSを生成する対象とする印刷装置12が設けられた店舗の店舗識別情報J12を入力欄N1aに入力し、入力を確定する。
入力の確定に応じて、制御サーバー制御部40は、制御サーバー表示部43を制御して、表示パネルに第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が設けられる。
必須項目は、レシート情報のうち、レシートの発行に際して行われた会計を分析するときに重要か否かという観点から選択される。
図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のボタンB2aが操作されたことを検出した場合、制御サーバー制御部40は、制御サーバー表示部43を制御して、表示パネルに第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へ移行できる。
図13に示すように、第4ユーザーインターフェースUI4は、その領域が、第1領域A41、第2領域A42、及び第3領域A43の3つに分かれる。
以下、第1領域A41、第3領域A43、第2領域A42の順番で、各領域に表示される画面、及び、画面を表示する際の制御サーバー制御部40の処理について説明する。
第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、その他のユーザーインターフェース上で、カーソルを動かすことができる。
以下、第2ユーザーインターフェースUI2でユーザーが選択したシリアル番号J11の印刷装置12を、「選択印刷装置」という。また、取得した印刷テキストデータを、「処理対象テキストデータ」という。
次いで、制御サーバー制御部40は、判別結果に基づいて、適切な位置にマークM4bが表示された項目選択画面G41を、第1領域A41に表示する。
次いで、第3領域A43について説明する。
第4ユーザーインターフェースUI4の第3領域A43には、テキスト表示画面G43が表示される。テキスト表示画面G43は、処理対象テキストデータに記述されたテキストが表示される画面である。
上述したように、処理対象テキストデータ(印刷テキストデータ)は、レシートに文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述されたテキストデータである。従って、テキスト表示画面G43に表示されるテキストには、情報が、レシートのレイアウトに従って配置される。ユーザーは、テキスト表示画面G43を参照することにより、処理対象テキストデータに記述された情報の内容、及び、対応するレシートのレイアウトを簡易かつ直感的に把握することができる。
以下、「単語」について詳述する。なお、以下の説明において、改行を表す文字コードを「改行文字」と表現する。
区切文字は、空白文字、及び、改行文字である。区切文字は、後述するように、単語と、単語との区切りの判別に利用される。
特殊文字は、記号のうち、予め定められた記号である。特殊文字は、エリア分割情報等、特殊な意味を持つ情報に使用する可能性がある記号とされる。本実施形態では、特殊文字は、文字「−」、文字「〜」、文字「=」、及び、文字「:」を含む。
普通文字は、文字のうち、区切文字、及び、特殊文字を除く文字である。
図14Aは、図6Aの印刷テキストデータT1に含まれる単語を、「行」を明示して示す表である。
図14Bは、図6Bの印刷テキストデータT2に含まれる単語を、「行」を明示して示す表である。
例えば、図6Bの印刷テキストデータT2の場合、レシート識別明示情報J41に対応する文字列「CheckNO.」、及び、レシート識別情報J42に対応する文字列「C0001」は、それぞれ、区切文字で区切られることなく連続する普通文字からなる文字列である。従って、これら文字列は、「単語」に該当する。
また例えば、図6Bの印刷テキストデータT2の場合、小計明示情報J71を構成する文字列「sub」、文字列「−」、文字列「total」は、それぞれ、単語に相当する。すなわち、文字列「sub」は、区切文字で区切られることなく連続する普通文字からなる文字列である。また、文字列「−」は、区切文字で区切られることなく連続する特殊文字からなる文字列である。また、文字列「total」は、区切文字で区切られることなく連続する普通文字からなる文字列である。従って、小計明示情報J71は、3つの単語が連続して構成された情報である。
また、エリア分割情報は、区切文字で区切られることなく連続する特殊文字からなる文字列である。従って、エリア分割情報は、「単語」に該当する。
ここで、後に明らかとなるように、本実施形態では、空白文字を、キーワードの一部として選択することができる。このことを踏まえ、以下では、空白文字は、単語に含まれるものとする。
制御サーバー制御部40は、テキスト表示画面G43において、単語又は空白文字の領域にカーソルCSが重なると、その単語又は空白文字の領域の背景の背景色を、所定の色(本実施形態では、黄色。)に変換する(所定の装飾を施す。)。
図15Aは、単語「SUB」の領域にカーソルCSが重なった様子を示す。図15Aに示すように、単語「SUB」の領域にカーソルCSが重なった場合、当該領域の背景色が黄色へと変化する。
図15Bは、単語「SUB」と、単語「TOTAL」との間の、空白文字の領域にカーソルCSが重なった様子を示す。図15Bに示すように、空白文字の領域にカーソルCSが重なった場合、当該領域の背景色が黄色へと変化する。
なお、カーソルCSが重なった単語(選択の候補となった単語。)に施される装飾は、背景色を変化させる装飾に限らない。単語に対応する文字列を太字化してもよく、強調点や、アンダーラインを引いてもよい。
次いで、第2領域A42について説明する。
以下の説明では、第1領域A41の項目選択画面G41においてユーザーに選択されたレシート項目を、「選択レシート項目」という。
第4ユーザーインターフェースUI4の第2領域A42には、選択レシート項目に対応するパーサーPSを生成するための情報を入力し、又は、当該情報を選択する画面が表示される。
ユーザーは、第2領域A42に表示された画面に対して、情報を選択し、又は、情報を入力することによって、選択レシート項目に対応するパーサーPSを生成できる。
以下、第15パーサーPS15(選択レシート項目が、合計金額情報項目。)、第5パーサーPS5(選択レシート項目が、取消有無情報項目。)、第9パーサーPS9(選択レシート項目が、商品情報項目。)の場合を例にして、第2領域A42に表示される画面、及び、制御サーバー15の処理について説明する。
第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を表示する。
すなわち、ユーザーは、取得項目値表示画面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値であることの妥当性を判別できる。
パーサー生成開始ボタンQBが操作されたことを検出した場合、制御サーバー制御部40は、第2領域A42に、取得項目値表示画面G421が表示された状態を維持して、フレーム選択画面G422を表示する。
フレーム選択画面G422は、選択レシート項目に対応する項目値について、印刷テキストデータにおける位置を特定するときのルールの種類を選択する画面である。
上述したように、レシートには、レシートのレイアウトに従って情報が印刷される。従って、印刷テキストデータには、1の項目の項目値に対応する情報が、レシートのレイアウトを反映した当該1の項目に対応するルールに従って記述される。このため、1の項目の項目値の印刷テキストデータにおける位置は、当該1の項目に対応するルールに基づいて特定することができる。
以下、印刷テキストデータにおける項目値の位置を特定するときに使用するルールを「検索ルール」という。
そして、検索ルールは、項目値の位置を特定する方法によって、複数の種類が存在する。例えば、1の項目の項目値が、所定のキーワードと同一行の右方に位置する場合は、検索ルールは、当該所定のキーワードの右方に項目値が位置することを指定する種類のルールである。一方、1の項目の項目値が、所定のキーワードと同一行の左方に位置する場合は、検索ルールは、当該所定のキーワードの左方に項目値が位置することを指定する種類のルールである。
本実施形態では、検索ルールの種類を「フレーム」という概念を使って管理する。従って、フレーム選択画面G422には、選択レシート項目に対応する1又は複数の検索ルールの種類に応じて、1又は複数のフレームが選択可能に表示される。
第1合計金額情報フレームは、合計金額情報J92が、キーワードとしての合計金額明示情報J91と同一行において、合計金額明示情報J91の1つ右に位置するか、又は、当該同一行の末尾に位置することを指定する検索ルールに対応するフレームである。
「1の項目値が、キーワードと同一行において、当該キーワードの1つ右に位置する」とは、当該1の項目値が、当該キーワードに対して、1又は複数の空白文字を介して右方に位置することを意味する。また、「1の項目値が、キーワードと同一行の末尾に位置する」とは、当該1の項目値が、当該同一行の右端部に位置し、当該1の項目値の次の文字が改行文字であることを意味する。
図17に示すように、フレーム選択画面G422には、フレームの選択を確定するフレーム確定ボタンXBが表示される。制御サーバー制御部40は、フレーム確定ボタンXBが操作されたことを検出すると、フレーム選択画面G422を、ステップ対応画面G423へ遷移する。
後に明らかとなる通り、ユーザーは、フレームを選択した、1又は複数のステップ対応画面G423に情報を入力するという作業を行うことにより、選択レシート項目に対応する項目値を検索するために必要な1又は複数の検索ルールを指定できる。
以下、選択フレームが第1合計金額情報フレームと、選択フレームが第2合計金額情報フレームとの場合について、順次、説明する。
図18は、図17のフレーム選択画面G422で第1合計金額情報フレームが選択された場合に、フレーム選択画面G422に代えて第2領域A42に表示されるステップ対応画面G423を示す図である。
ユーザーは、ステップ対応画面G423と同時に表示されるテキスト表示画面G43を参照することにより、合計金額情報J92と、キーワード(合計金額明示情報J91)との位置関係を認識し、ルール情報JH18aに対応する検索ルールと、ルール情報JH18bに対応する検索ルールのうち、適切な情報を選択する。
以下、図18に示す第4ユーザーインターフェースUI4が表示されている状態で、ユーザーが、キーワードとして、単語「TOTAL」と、単語「:」との組み合わせを選択する場合を例にして、ユーザーの操作、及び、制御サーバー制御部40の処理について説明する。なお、キーワード「TOTAL:」は、合計金額明示情報J91に相当する。
以下の説明において、複数の単語の組み合わせを、適宜、「単語群」という。
図19は、単語「TOTAL」が選択の候補となった様子を示す。
図20は、単語「TOTAL」の選択が確定し、領域A18aに、単語「TOTAL」が表示された様子を示す。
図21は、単語「:」が選択可能な状態とされ、単語「:」にアンダーラインが引かれた様子を示す。
ユーザーは、単語に引かれたアンダーラインを参照することにより、選択可能な単語を、簡易かつ直感的に認識することができる。
ユーザーは、単語「:」が選択可能であることを認識したうえで、単語「TOTAL」と同様の手順で、単語「:」を選択する。
図22は、単語「TOTAL」に続いて、単語「:」が選択され、領域A18cに、キーワードとして、単語「TOTAL」、及び、単語「:」が連続して表示された様子を示す。
ステップ確定ボタンSBは、そのステップ確定ボタンSBが表示されたステップ対応画面G423への入力を確定する際の操作されるボタンである。
コンファームボタンCBは、選択フレームに対応する全てのステップ対応画面G423(選択フレームに対応する全てのステップ)で指定された検索ルールに基づいて、印刷テキストデータから項目値を取得する処理を実行するパーサーPSの生成を指示するボタンである。
図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は、文字列検索を利用して印刷テキストデータにおけるキーワードの位置を特定する。このため、キーワードは、印刷テキストデータに記述される文字列と正確に同一であることが求められる。本実施形態では、上述したように、ユーザーは、簡易な作業で、印刷テキストデータに記述される文字列と正確に同一なキーワードを指定できる。
次いで、制御サーバー制御部40は、新たに生成したパーサーPSの機能により、処理対象テキストデータを分析し、分析結果を第2領域A42の分析結果確認画面G424に表示する(ステップSD4)。
ユーザーは、分析結果確認画面G424の内容を確認することにより、新たに生成されたパーサーPSの分析結果の妥当性を確認できる。すなわち、ユーザーは、第3領域A43のテキスト表示画面G43を参照し、パーサーPSが取得すべき正しい項目値を認識し、当該認識に基づいて新たに生成されたパーサーPSの分析結果の妥当性を確認できる。ユーザーは、分析結果確認画面G424に正しい項目値が表示されている場合は、パーサーPSの分析結果が妥当であると判別し、正しい項目値以外の値が表示されている場合は、パーサーPSの分析結果が妥当でないと判別する。
図24に示すように、分析結果確認画面G424は、新たに生成されたパーサーPSを適用することを指示する上書ボタンUBと、新たに生成されたパーサーPSの適用をキャンセルするキャンセルボタンCCとを有する。ユーザーは、分析結果確認画面G424の内容を確認し、新たに生成されたパーサーPSの分析結果が妥当かどうかを判別し、妥当であれば上書ボタンUBを操作し、妥当でない場合はキャンセルボタンCCを操作する。
上書ボタンUBが操作されたことを検出した場合(ステップSD6:YES)、制御サーバー制御部40は、以下の処理を実行する(ステップSD7)。すなわち、ステップSD7において、制御サーバー制御部40は、パーサー管理データベース421を参照し、当該データベースにおいて、選択印刷装置のシリアル番号J11と対応付けられた選択レシート項目に対応するパーサーPSを、新たに生成したパーサーPSにより、上書き更新する。
ステップSD7の処理の結果、制御サーバー制御部40は、選択印刷装置から印刷テキストデータを受信した場合、選択レシート項目については、項目値を取得する処理を、新たに生成したパーサーPSの機能に基づいて実行する。
次いで、制御サーバー制御部40は、分析結果確認画面G424を閉じる(ステップSD8)。
図25は、図17のフレーム選択画面G422において、第2合計金額情報フレームが選択された後に、フレーム選択画面G422から遷移するステップ対応画面G423を示す図である。第2合計金額情報フレームは、複数のステップを有する。
図25のステップ対応画面G423では、選択レシート項目(本例では、合計金額情報項目。)の項目値(本例では、合計金額情報J92。)を検索する場合に使用するキーワードを入力することが可能である。ユーザーは、テキスト表示画面G43を用いて、上述した方法で、キーワードとなる単語、又は、単語群を選択する。これにより、ユーザーは、キーワードが所定の単語、又は、単語群である、という検索ルールを指定する。
遷移ボタンNBが操作されたことを検出した場合、制御サーバー制御部40は、次のステップ対応画面G423へ遷移する。
図26のステップ対応画面G423では、キーワードと、検索対象の項目値との位置関係に応じて、7個のルール情報JH26a〜ルール情報JH26gが選択可能に一覧表示される。ユーザーは、テキスト表示画面G43を参照し、ルール情報JH26a〜ルール情報JH26gのうち、適切な検索ルールに対応するルール情報を選択する。
ルール情報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に示すように、ルール情報JH26cが選択された場合、ステップ対応画面G423の下部に、番号表示領域BAが形成される。番号表示領域BAは、ユーザーが選択した検索ルールが、N番目という情報を必要とする場合に、ユーザーにN番目の値を選択させると共に、ユーザーが選択したN番目の値を表示する領域である。図27において、番号表示領域BAに選択可能に表示される番号の値を、1つの行に存在する単語の数に対応させた値としてもよい。
このように、制御サーバー制御部40は、検索ルールが、N番目という情報を必要とする場合、ユーザーにN番目を選択させ、選択されたN番目の値を表示する番号表示領域BAを形成する。
図27に示すように、本実施形態では、ユーザーは、N番目の値として、1番目〜5番目のほか、「最後」、及び、「最後から2番目」を選択可能である。これは、所定の項目値は、所定の「行」において、「最後」、又は、「最後から2番目」に記述される場合があることに基づくものである。
図28のステップ対応画面G423は、ユーザーが設定したキーワードが印刷テキストデータに、複数、記述される場合に、項目値の検索に使用するキーワードが、印刷テキストデータにおいてN番目に出現することを示す検索ルールを指定する画面である。
ここで、印刷テキストデータには、キーワードとして用いる文字列が、複数、記述される場合がある。例えば、文字列「TOTAL」をキーワードとして用いる場合において、小計明示情報J71、及び、合計金額明示情報J91が、共に、文字列「TOTAL」を含み、これに起因して、印刷テキストデータに、文字列「TOTAL」が、複数、記述される場合がある。このような場合であっても、キーワードとして使用可能な文字列は、レシートのレイアウトに対応するルールに従って記述されるため、キーワードが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を生成する場合、ユーザーは、項目選択画面G41において、取消有無情報項目(プロパティー「is_void」。)を選択する。
プロパティー「is_void」(取消有無情報項目)は、データ型:booleanのプロパティーであり、その点で、プロパティー「total」(合計金額情報項目)と異なる。
上述したように、会計は取り消される場合があり、その場合、会計で発行されるレシートに基づく印刷テキストデータには、取り消しが行われたことを示す情報(以下、「取消明示情報J28」という。)が記述される。そして、取消明示情報J28が印刷テキストデータに記述されている場合、取消有無情報項目の項目値は、true値となり、取消明示情報J28が記述されていない場合、取消有無情報項目の項目値は、false値となる。
印刷テキストデータに所定の情報が記述されているか否かに応じてtrue値、又は、false値のいずれかをとるデータ型:booleanのプロパティーに対応するレシート項目を検索する機能を有するパーサーPSの生成に際し、制御サーバー制御部40は、以下の処理を実行する。
取消有無情報項目について、対応するフレームの個数は、1つである。ユーザーは、取消有無情報項目に係るフレーム選択画面G422に表示されたフレーム確定ボタンXBを操作することにより、フレームの選択を確定する。フレーム確定ボタンXBが操作されたことを検出すると、制御サーバー制御部40は、フレーム選択画面G422を、ステップ対応画面G423に遷移する。
図30のステップ対応画面G423では、選択レシート項目(本例では、取消有無情報項目。)の項目値を取得する場合に使用するキーワードを入力することが可能である。取消有無情報項目の場合、キーワードは、取消明示情報J28である。
ユーザーは、図30のステップ対応画面G423により、キーワードが所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面G43にテキストが表示された処理対象テキストデータに、取消明示情報J28が記述されている場合、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
一方、ユーザーは、テキスト表示画面G43にテキストが表示された処理対象テキストデータに、取消明示情報J28が記述されてない場合、以下の方法で、検索ルールを指定する。ユーザーは、会計の取り消しが行われた場合に、レシートに印刷される取消明示情報J28を所定の手段で認識し、取消明示情報J28を表す文字列を、キーボード等を利用して入力する。
ユーザーにより入力されたキーワードは、ステップ対応画面G423の所定の領域に表示される。
第9パーサーPS9を生成する場合について説明する。
第9パーサーPS9を生成する場合、ユーザーは、項目選択画面G41において、商品情報項目(プロパティー「products」。)を選択する。
上述したように、商品情報項目には、商品名情報項目、購入数量情報項目、及び、単価情報項目が属する。
第9パーサーPS9は、購入数量情報項目、商品名情報項目、及び、単価情報項目のそれぞれの項目値を取得する処理を実行する機能を有するパーサーPSである。
購入数量情報J61、商品名情報J62、及び、単価情報J63は、印刷テキストデータへの記述に関し、何らかの特定の情報と対応付けて記述されない場合がある、という特徴がある。この場合、キーワードとの位置関係で、これら情報の位置を特定することはできない。
また、1の種類の商品に係る購入数量情報J61、商品名情報J62、及び、単価情報J63について、これら情報は、レシートのレイアウトにかかわらず、一行内に印刷される場合があるという特徴がある。これら情報は、レシートに印刷されることが必須の情報であるからであり、また、これら情報を同一行に印刷することにより、これら情報が1つの種類の商品に関連する情報であることが明示されるからである。また、これら情報を同一行に印刷することにより、商品情報J6が、複数個(=複数行)、レシートに印刷された場合に、購入数量情報J61、商品名情報J62、及び、単価情報J63の対応関係が明確になるからである。
また、購入数量情報J61、商品名情報J62、及び、単価情報J63を含む商品情報J6は、レシートにおいて、1の特定の文字列と、他の特定の文字列とで挟まれた領域に印刷される場合があるという特徴がある。この場合、これら情報は、印刷テキストデータにおいて、1の特定の文字列と、他の特定の文字列とで挟まれた領域に記述される。
これら特徴を踏まえ、第9パーサーPS9の生成に際し、制御サーバー制御部40は、以下の処理を実行する。
商品情報項目について、対応するフレームの個数は、第1商品情報フレーム、第2商品情報フレームの2つである。図31に示すフレーム選択画面G422には、第1商品情報フレームを説明するフレーム情報JH31a、及び、第2商品情報フレームを説明するフレーム情報JH31bが一覧表示される。また、フレーム情報のそれぞれにはラジオボタンが対応付けて表示され、ユーザーは、ラジオボタンにより、フレームを選択できる。
第2商品情報フレームは、購入数量情報J61、商品名情報J62、及び、単価情報J63の1行における並び順、及び、これら情報が記述される領域に基づいて、これら情報の印刷テキストデータにおける位置を特定することを指定する検索ルールに対応するフレームである。
以下、選択フレームが第1商品情報フレームの場合と、選択フレームが第2商品情報フレームの場合とについて、順次、説明する。
図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。
購入数量情報J61を表す文字列には、以下の特徴がある。すなわち、購入数量情報J61を表す文字列を構成する文字には、数字を表す文字、及び、特定の文字が使用可能であり、他の文字が使用されないという特徴がある。購入数量情報J61を表す文字列を構成する文字に使用可能な、特定の文字とは、例えば、単位当たりの個数を表すときに一般的に用いられる文字「@」である。以下、これらの文字により構成される文字列で表される情報を、「個数型の情報」という。
また、単価情報J63を表す文字列には、以下の特徴がある。すなわち、単価情報J63を表す文字列を構成する文字には、数字を表す文字、小数点を表す文字、通貨記号(「¥」、「$」等。)、プラス記号(「+」)、マイナス記号(「−」)が使用可能であり、他の文字が使用されないという特徴がある。以下、これらの文字により構成される文字列で表される情報を、「数値型の情報」という。
以下、個数型の情報ではなく、かつ、数値型の情報ではない情報を、「任意型の情報」という。
これらのことを踏まえ、第1パターンの場合、購入数量情報J61、商品名情報J62、及び、単価情報J63が記述された「行」には、情報が以下の態様で記述される。すなわち、情報が3つ存在し、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述される。
このことを踏まえ、第9パーサーPS9は、処理対象テキストデータにおける「行」のうち、3つの情報が記述されると共に、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述された1又は複数の「行」を特定する。次いで、第9パーサーPS9は、特定した「行」において、先頭に記述された情報を購入数量情報J61(個数型の情報)として特定し、次に記述された情報を商品名情報J62(任意型の情報)として特定し、その次に記述された情報を単価情報J63(数値型の情報)として特定する。
図33は、第2商品情報フレームが選択された場合に、図31のフレーム選択画面G422から遷移するステップ対応画面G423を示す図である。
図33には、上述したルール情報JH32a〜ルール情報JH32fが一覧表示される。これらルール情報のそれぞれには、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
上述したように、商品情報J6は、1の特定の文字列と、他の特定の文字列とで挟まれた領域に記述されるというルールに従って、印刷テキストデータに記述される場合がある。以下、商品情報J6が記述される領域を規定する特定の文字列のうち、上方に位置する文字列を「領域先頭文字列」といい、下方に位置する文字列を「領域末尾文字列」という。そして、図34のステップ対応画面G423では、領域先頭文字列を入力することが可能である。
ユーザーは、図34のステップ対応画面G423により、領域先頭文字列が所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面G43に表示された処理対象テキストデータに基づくテキストを利用して、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
ユーザーにより入力された領域先頭文字列に係る単語、又は、単語群は、ステップ対応画面G423の所定の領域に表示される。図34では、領域先頭文字列に係る単語群がステップ対応画面G423の所定の領域に表示された様子を示す。
図35のステップ対応画面G423では、領域末尾文字列を入力することが可能である。
ユーザーは、図35のステップ対応画面G423により、領域末尾文字列が所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面G43に表示された処理対象テキストデータに基づくテキストを利用して、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
ユーザーにより入力された領域末尾文字列に係る単語、又は、単語群は、ステップ対応画面G423の所定の領域に表示される。図35では、領域末尾文字列に係る単語、又は、単語群がステップ対応画面G423の所定の領域に表示された様子を示す。
この構成によれば、ユーザーは、印刷テキストデータに基づくテキストを参照しつつ、1又は複数の単語を選択する、という簡易な作業を行って、パーサーPSの生成に必要なキーワードを入力でき、簡易にパーサーPSを生成することが可能となる。すなわち、制御サーバー15による印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
この構成によれば、ユーザーは、印刷テキストデータに記述された情報の内容、及び、対応するレイアウトを簡易かつ直感的に把握することができ、的確に、キーワードとする1又は複数の単語を選択できる。
この構成によれば、ユーザーは、単語が、選択の候補となったことを的確に認識した上で、所望の単語を的確にキーワードとして選択できる。
この構成によれば、キーワードとして複数の単語を選択する場合、同一行で連続する単語を選択可能な状況下において、ユーザーに、誤りなくキーワードとする単語を選択させることができる。
この構成によれば、制御サーバー15は、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム(パーサーPS)を生成できる。すなわち、制御サーバー15によるレシートに対応する印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
この構成によれば、第1領域A41で項目を選択し、第2領域で、選択した項目に対応するルールを指定するという簡易な作業を行って、パーサーPSを生成することができる。すなわち、制御サーバー15による印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
この構成によれば、ユーザーは、項目値を取得できる状態とすることが求められる項目について、的確に認識できる。
この構成によれば、ユーザーは、現時点で、項目値が取得できない状態の項目について、的確に認識できる。
この構成によれば、ユーザーは、印刷テキストデータに基づくテキストを参照しつつ、的確に、第2領域A42への入力を行うことができる。
この構成によれば、ユーザーは、印刷テキストデータに記述された情報の内容、及び、対応するレイアウトを簡易かつ直感的に把握できる。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム(パーサーPS)を生成できる。すなわち、制御サーバー15よるレシートに対応する印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される小計情報J72、合計金額情報J92、及び、商品情報J6を取得する処理を実行するプログラム(パーサーPS)を生成できる。
この構成によれば、ユーザーは、ステップ対応画面G423に情報を入力するという簡易な作業を行うことにより、パーサーPSを生成することができる。
この構成によれば、ユーザーは、フレームに対応するステップ対応画面G423に情報を入力するという簡易な作業を行うことにより、フレームに対応するパーサーPSを生成することができる。
この構成によれば、ユーザーはステップ対応画面G423に、順次、情報を入力する、という簡易な作業を行うことにより、複数のルールに基づいて項目値を取得する処理を実行するパーサーPSを生成できる。
この構成によれば、ユーザーは、分析結果を確認することにより、生成されたパーサーPSの分析結果の妥当性を的確に判別できる。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム(パーサーPS)を生成できる。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される小計情報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のように、タブレット型の装置に限らず、例えば、据え置き型の装置でもよい。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
Claims (9)
- 表示部と、制御部とを備えた情報処理装置であって、
前記制御部は、
項目、及び、前記項目に対応する項目値を複数含む印刷データを、文字コードで記述したテキストデータとして取得し、
複数の前記項目を選択可能な第1の領域、及び、前記第1の領域で選択を受けた前記項目の項目値の前記テキストデータにおける位置を特定するルールの種類である1又は複数のフレームを選択可能な第2の領域を前記表示部に表示する制御を行い、
前記第2の領域で表示した前記1または複数のフレームのうちの1のフレームが選択されたとき、選択された前記1のフレームに基づいて、前記テキストデータを分析して前記項目の前記項目値を取得し、又は取得できないことを検出する機能を有するパーサーを生成し、生成した前記パーサーを実行して、前記テキストデータから、前記項目に対応する前記項目値を取得する、情報処理装置。 - 前記制御部は、
前記第1の領域に表示する複数の前記項目のうち、必須項目である前記項目に対して、第1の付加情報を付加して表示する制御を行う、請求項1に記載の情報処理装置。 - 前記制御部は、
前記第1の領域に表示する複数の前記項目のうち、前記項目に対応する前記パーサーの機能により前記項目値を取得できないことを検出したときに、前記項目値を取得できない前記項目に対して、第2の付加情報を付加して表示する制御を行う、請求項1又は2に記載の情報処理装置。 - 前記制御部は、
第3の領域に前記文字コードで記述した前記テキストデータを表示する制御を行う、請求項1から3のいずれか一項に記載の情報処理装置。 - 前記制御部は、
前記第3の領域に、前記印刷データのレイアウトに準じて、前記テキストデータを表示する制御を行う、請求項4に記載の情報処理装置。 - レシートを発行可能な印刷装置と接続可能であり、
前記制御部は、
前記レシートに関する前記印刷データを前記テキストデータとして取得する、請求項1から5のいずれか一項に記載の情報処理装置。 - 前記項目値は、小計、合計、又は、商品に関する情報のいずれかに対応する情報である請求項6に記載の情報処理装置。
- 表示部を備えた情報処理装置の制御方法であって、
項目、及び、前記項目に対応する項目値を複数含む印刷データを、文字コードで記述したテキストデータとして取得し、
複数の前記項目を選択可能な第1の領域、及び、前記第1の領域で選択を受けた前記項目の項目値の前記テキストデータにおける位置を特定するルールの種類である1又は複数のフレームを選択可能な第2の領域を前記表示部に表示し、
前記第2の領域で表示した前記1または複数のフレームのうちの1のフレームが選択されたとき、選択された前記1のフレームに基づいて、前記テキストデータを分析して前記項目の前記項目値を取得し、又は取得できないことを検出する機能を有するパーサーを生成し、生成した前記パーサーを実行して、前記テキストデータから、前記項目に対応する前記項目値を取得する、情報処理装置の制御方法。 - 情報処理装置の制御部により実行可能な制御プログラムであって、
前記制御部に、
項目、及び、前記項目に対応する項目値を複数含む印刷データを、文字コードで記述したテキストデータとして取得する工程と、
複数の前記項目を選択可能な第1の領域、及び、前記第1の領域で選択を受けた前記項目の項目値の前記テキストデータにおける位置を特定するルールの種類である1又は複数のフレームを選択可能な第2の領域を表示する工程と、
前記第2の領域で表示した前記1または複数のフレームのうちの1のフレームが選択されたとき、選択された前記1のフレームに基づいて、前記テキストデータを分析して前記項目の前記項目値を取得し、又は取得できないことを検出する機能を有するパーサーを生成し、生成した前記パーサーを実行して、前記テキストデータから、前記項目に対応する前記項目値を取得する工程と、を実行させる制御プログラム。
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)
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)
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 | セイコーエプソン株式会社 | 情報処理装置、会計システム、及び、記録装置 |
-
2016
- 2016-07-29 JP JP2016150738A patent/JP6759817B2/ja active Active
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 |