CN1547102A - 收款机打印数据格式自动提取方法 - Google Patents

收款机打印数据格式自动提取方法 Download PDF

Info

Publication number
CN1547102A
CN1547102A CNA031426530A CN03142653A CN1547102A CN 1547102 A CN1547102 A CN 1547102A CN A031426530 A CNA031426530 A CN A031426530A CN 03142653 A CN03142653 A CN 03142653A CN 1547102 A CN1547102 A CN 1547102A
Authority
CN
China
Prior art keywords
detailed
line
line number
row
particular type
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.)
Granted
Application number
CNA031426530A
Other languages
English (en)
Other versions
CN100373320C (zh
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.)
SHEKOU GUANGHUA ELECTRONIC TECHNOLOGY Co Ltd
Original Assignee
SHEKOU GUANGHUA ELECTRONIC TECHNOLOGY Co Ltd
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 SHEKOU GUANGHUA ELECTRONIC TECHNOLOGY Co Ltd filed Critical SHEKOU GUANGHUA ELECTRONIC TECHNOLOGY Co Ltd
Priority to CNB031426530A priority Critical patent/CN100373320C/zh
Publication of CN1547102A publication Critical patent/CN1547102A/zh
Application granted granted Critical
Publication of CN100373320C publication Critical patent/CN100373320C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

一种收款机打印数据格式自动提取方法,由收款机打印输出端连接的数据处理机开辟缓冲区BUFEER,并对接收到的输出打印数据进行分类、比较和识别;所述打印数据包括票头、明细和票尾数据区;尤其是所述自动提取方法包括以下步骤:F、确定明细区各行、列明细单元的特定类型代码;G、按所述特定类型代码提取各明细项金额,并计算本次交易总金额;H、以计算的所述总金额查找票面合计金额项,并提取该票面合计金额项左列的关键字符串。本发明采用软件规范的格式语言来描述打印格式,形成自动识别方法,在不同商家的情况下预选一下对象设置,即可自动完成小票数据格式的提取。

Description

收款机打印数据格式自动提取方法
技术领域
本发明涉及计算机与打印机的控制与输出技术,特别涉及与计算机连用的打印机控制与数据字符的识别技术。
背景技术
为了从收款机打印小票的数据中提取出有效的经营数据,特别是金额与合计等数据,需要对打印小票的格式进行分析。通常的方法是利用打印小票的微型打印机的十六进制打印方式将收款机打印小票的数据打印出来,再由人来分析哪些是打印字符,哪些是控制码,还要分析这些打印字符哪些是管理信息,哪些是商品信息,而且还要分析这些控制码的功能是什么,才能提取出有用的小票打印格式。这种打印后进行识别的方案费时费力,还容易出错。
例如图3所述一种商场销售打印小票示例中,前四行是票头,后三行是票尾,中间的商品明细信息中,又有中文名称和编码及价格信息,还有收款和找赎等信息。纸面分析已经够复杂了,分析这些信息的机内表示码又更加复杂。
发明内容
本发明为克服现有技术的不足之处,提高效率和易于操作,提出一种新的自动识别的收款机打印小票数据格式提取方法,在预先对不同商家不同的小票打印格式,即票头、明细、票尾信息所占用的行数、栏目(列)数及其数据信息类型的不同,进行归纳、统计、分析的基础上,采用软件规范的格式语言来描述打印格式,形成自动识别方法。无须等待小票打印到纸面,而采用数据处理设备模拟打印机接收从收款机发给打印机的所有数据,并自动分析和识别可视字符与控制码,在不同商家的情况下预选一下对象设置,即可自动完成小票数据格式的提取。本方法针对的商家是有限的若干类,每次针对某一个商家调整其初始优化条件和特殊标记,即可对该商家形成完整的小票数据格式提取步骤,完成联机型前置式自动提取。
本发明的目的可以这样来达到:
设计一种收款机打印数据格式自动提取方法,由收款机打印输出端连接的数据处理机开辟缓冲区BUFEER,接收所有收款机输出给打印机的数据,并对这些数据进行分类、比较和识别;所述打印数据包括票头、明细和票尾数据区;其特征在于:
所述自动提取方法包括以下步骤:
F、确定明细区各行、列明细单元的特定类型代码;
G、按所述特定类型代码提取各明细项金额,并计算本次交易总金额;
H、以计算的所述总金额查找票面合计金额项,并提取该票面合计金额项左列的关键字符串。
附图说明
图1-1和图1-2是本发明收款机打印数据格式自动提取方法主要步骤流程图;
图2是所述打印数据格式自动提取方法分区提取流程图;
图3是一种打印票面与其对应机器码分析对照图。
具体实施方式  以下结合附图详述本发明的实施例。
一种收款机打印数据格式自动提取方法,由收款机的打印输出端连接的数据处理机开辟缓冲区BUFEER,接收所有收款机输出给打印机的数据,并对输出打印数据进行分类、比较和识别;所述打印数据包括票头、明细和票尾数据区;其特征在于:
所述自动提取方法包括以下步骤:
A、识别打印数据基本单元;
B、建立打印数据结构数组。
C、确定打印数据格式中明细项所占用的行数;
D、确定明细区首行和末行的位置;
E、确定明细项区域的总行数。
F、确定明细区各行、列明细单元的特定类型代码;
G、按所述特定类型代码提取各明细项金额,并计算本次交易总金额;
H、以计算的所述总金额查找票面合计金额项,并提取该票面合计金额项左列的关键字符串。
所述步骤A又包括以下分步骤:
a1、以典型的行分隔符将打印数据从上至下进行分行;
a2、以列分隔符从左至右将各行内顺序分成可打印字符的基本单元;
所述步骤B又包括以下内容:
以行为单位,建立小票数据的识别特征描述结构数组;
所述结构数组又包含行号、该行总列数及行内每一基本单元的特定类型代码;所述特定类型代码定义为符合所述明细项单元规定的数据类型;
所述步骤C又包括以下分步骤:
c1、分别累计各元素成员特定类型代码与行数为1或2或3的匹配行数;
c2、确定行描述匹配比例最高的明细项描述行数;
所述分步骤c1又包括以下细分步骤:
c11、按每个明细项为1行描述对比结构数组,累计各元素中成员的特定类型代码符合匹配的行数MAX1;计算相对匹配比例
Figure A0314265300071
c12、按每个明细项为2行描述对比结构数组,累计各元素中成员的特定类型代码符合匹配的行数MAX2;计算相对匹配比例
Figure A0314265300072
c13、按每个明细项为3行描述对比结构数组,累计各元素中成员的特定类型代码符合匹配的行数MAX3;计算相对匹配比例
Figure A0314265300081
所述分步骤c2又包括以下内容:
确定K1、K2、K3中的最大值为明细项描述行数。
所述步骤D又包括以下分步骤:
d1、按行数递增顺序确定首次符合最高匹配比例的明细项描述行数的行的序号,即明细区首行;
d2、按类似方法从所述首行开始,确定明细区最后明细项的最后一描述行的序号,即末行;
所述步骤E又包括以下内容:
以所述末行行数减去所述首行行数,确定所述明细区的区域大小,即从首行开始至末行的最后一描述行的行数。
所述步骤F又包括以下内容:
按照已确定的明细项不同行中各列明细单元的特定类型的特征确定各明细单元的特定类型代码;
所述步骤G又包括以下分步骤:
g1、在票头区按识别的行列格式逐行提取其店员、收银员及编号等有用信息;
g2、在明细区按识别的行列格式逐行提取其商品名及金额等有用信息,并计算总金额合计;
所述步骤H又包括以下内容:
在票尾区按识别的行列格式提取与计算总金额相等的合计金额,并提取其左列的关键字符。
实用中,本发明各流程可分述如下:
1)、打印小票数据基本单元的识别—流程(2.1.1-1)
通过识别打印机打印数据中最典型的行分隔符(0X0A)和列分隔符(0X20),将小票数据按从上至下分行,每行从左至右分列的顺序将小票数据顺序分成可打印字符的基本单元。
此例中,可打印行数为21,每行最大列数为5(第二行)。
2)、建立小票数据结构数组—流程(2.1.1-2)
以行为单位,建立小票数据的识别特征描述结构数组,每一结构数组元素含有行号、该行总列数及该行每一基本单元的特定类型代码等多项成员。特定类型代码为符合明细项单元规定的数据类型。例如,序号、商品名、货币金额、重量等。结构数组为Detailtype,有元素21个,Maxdt=21。小票数据格式提取是通过对结构体数组Detailtype中各元素及元素成员做识别、分析、综合而确定的。
例如:Detail Lines(7)第7行中含有货币金额类型代码。
      Detail Lines(12)第12行中含有序号类型代码。
3)、确定小票格式中明细项描述行数—流程(2.1.1-3)
按每个明细项可能是1行、2行或3行描述,分三个情况,分别对比结构数组Detail type[i],累计各元素中成员的特定类型代码符合匹配的行数MAX,再对各累计匹配行数MAX做分析。
此例中:明细项为1行描述累计匹配行数最大值MAX1=5;
        明细项为2行描述累计匹配行数最大值MAX2=5;
        明细项为3行描述累计匹配行数最大值MAX3=0;
        相对打印行数匹配比例为:
Ki = MAXi Maxdt / i
十分明显,明细项2的行描述的匹配比例最高,由此确定了小票格式中明细项描述行数为2行,即Detail Lines=2。
4)、确定明细项首行及末行位置—流程(2.1.1-4)
按明细项2行描述的格式,再次统计Detail type[i]中各元素的成员特定类型代码匹配的次数,找出首次出现高匹配次数的行数。高匹配的元素可认为是符合明细项正常格式的元素。
此例中,高匹配次数比较的估计值可参考流程(2.1.1-3)中的MAX2,找到Detail type[i]中首次出现高匹配次数的行数为第6行,即Min_dt=6。将Detailtype中从元素min_dt开始符合明细项正常格式的后续内容保存至另一结构数组中Dt,进行进一步分析。
结构数组  Dt[i]=Detailtype[i],  i=1-Maxdt
同时也确定了小票数据票头区域与明细项区域的划分为:
            FirstDetail=Detailtype[min_dt]
其中,FirstDetail中的行号-1小票行即为票头的最后一行作为票头识别标志2;LastDetail中的行号-1小票行即为票尾的第一行作为票尾识别标志1。FirstDetail中的行号-2小票行即为票头的最后一行作为票头识别标志1;LastDetail中的行号-2小票行即为票尾的第一行作为票尾识别标志2。
5)、确定明细项区域大小—流程(2.1.1-5)
从Dt(min_dt)元素开始,按每明细项二行描述格式,再次分析Dt各元素,提取出明细项不同行各列明细单元的特定类型代码生成di,此例中明细项确定为二行描述,则填写d1、d2、而d3=0。
根据确定的d1、d2特定类型代码,从Dt[min_dt](FirstDetail)开始至Dt[max_dt]仔细进行类型匹配比对,确定出明细区最后一明细项的最后一描述行max_dt,并赋值给LastDetail。
此例中:max_dt=Last Detail=15,由此可确定明细区域从第6行至15行。
6)、进一步确定每一明细项各行、各列明细单元的特定类型代码—流程(2.1.1-6)
根据前面确定出来的d1、d2、d3,结合对应数据再次分析明细项各描述行内各列明细单元的确切特定类型代码,确定易混淆项。例如,序号与数量、单价金额与小计金额等。
7)、小票数据格式验证及累计金额关键字符提取—流程(2.1.1-7、8)
按照上述流程确定的小票数据格式,执行2.1.2“票头、明细票尾数据提取流程”,重新分析小票数据,提取出各明细项金额,并计算小票总金额(流程2.1.1-7)。
8)、在票尾区数据中查找与计算总金额相等的合计金额,并提取前面的关键字符串。
此例中:合计金额为75.00,关键字符串为“实收:”。
同时此步操作亦对前述流程确定的小票格式做了提取正确性的验证。

Claims (6)

1、一种收款机打印数据格式自动提取方法,由收款机打印输出端连接的数据处理机开辟缓冲区BUFEER,并对接收到的输出打印数据进行分类、比较和识别;所述打印数据包括票头、明细和票尾数据区;其特征在于:
所述自动提取方法包括以下步骤:
F、确定明细区各行、列明细单元的特定类型代码;
G、按所述特定类型代码提取各明细项金额,并计算本次交易总金额;
H、以计算的所述总金额查找票面合计金额项,并提取该票面合计金额项左列的关键字符串。
2、根据权利要求1所述的打印数据格式自动提取方法,其特征在于:
还包括以下步骤:
C、确定打印数据格式中明细项所占用的行数;
D、确定明细区首行和末行的位置;
E、确定明细项区域的总行数。
3、根据权利要求2所述的打印数据格式自动提取方法,其特征在于:
还包括以下步骤:
A、识别打印数据基本单元;
B、建立打印数据结构数组。
4、根据权利要求3所述的打印数据格式自动提取方法,其特征在于:
所述步骤C又包括以下分步骤:
c1、分别累计各元素成员特定类型代码与行数为1或2或3的匹配行数;
c2、确定行描述匹配比例最高的明细项描述行数;
所述步骤D又包括以下分步骤:
d1、按行数递增顺序确定首次符合最高匹配比例的明细项描述行数的行的序号,即明细区首行;
d2、按类似方法从所述首行开始,确定明细区最后明细项的最后一描述行的序号,即末行;
所述步骤E又包括以下内容:
以所述末行行数减去所述首行行数,确定所述明细区的区域大小,即从首行开始至末行的最后一描述行的行数。
5、根据权利要求4所述的打印数据格式自动提取方法,其特征在于:
所述步骤F又包括以下内容:
f1、按照已确定的明细项不同行中各列明细单元的特定类型的特征确定所述各明细单元的特定类型代码;
所述步骤G又包括以下分步骤:
g1、在票头区按识别的行列格式逐行提取其店员、收银员及编号等有用信息;
g2、在明细区按识别的行列格式逐行提取其商品名及金额等有用信息,并计算总金额合计;
所述步骤H又包括以下内容:
在票尾区按识别的行列格式提取与计算总金额相等的合计金额,并提取其左列的关键字符。
6、根据权利要求5所述的打印数据格式自动提取方法,其特征在于:
所述步骤A又包括以下分步骤:
a1、以典型的行分隔符将打印数据从上至下进行分行;
a2、以列分隔符从左至右将各行内顺序分成可打印字符的基本单元;
所述步骤B又包括以下内容:
以行为单位,建立小票数据的识别特征描述结构数组;
所述结构数组又包含行号、该行总列数及行内每一基本单元的特定类型代码;所述特定类型代码定义为符合所述明细项单元规定的数据类型;
所述分步骤c1又包括以下细分步骤:
c11、按每个明细项为1行描述对比结构数组,累计各元素中成员的特定类型代码符合匹配的行数MAX1;计算相对匹配比例
c12、按每个明细项为2行描述对比结构数组,累计各元素中成员的特定类型代码符合匹配的行数MAX2;计算相对匹配比例
c13、按每个明细项为3行描述对比结构数组,累计各元素中成员的特定类型代码符合匹配的行数MAX3;计算相对匹配比例
Figure A031426530004C3
所述分步骤c2又包括以下内容:
确定K1、K2、K3中的最大值为明细项描述行数。
CNB031426530A 2003-06-11 2003-06-11 收款机打印数据格式自动提取方法 Expired - Fee Related CN100373320C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031426530A CN100373320C (zh) 2003-06-11 2003-06-11 收款机打印数据格式自动提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031426530A CN100373320C (zh) 2003-06-11 2003-06-11 收款机打印数据格式自动提取方法

Publications (2)

Publication Number Publication Date
CN1547102A true CN1547102A (zh) 2004-11-17
CN100373320C CN100373320C (zh) 2008-03-05

Family

ID=34324024

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031426530A Expired - Fee Related CN100373320C (zh) 2003-06-11 2003-06-11 收款机打印数据格式自动提取方法

Country Status (1)

Country Link
CN (1) CN100373320C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544329A (zh) * 2013-10-30 2014-01-29 江苏众瀛联合数据科技有限公司 一种消费信息的采集方法
CN104966210A (zh) * 2015-06-04 2015-10-07 深圳市新国都支付技术有限公司 一种实现商品交易综合信息在线采集的系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123256A (ja) * 1998-10-13 2000-04-28 Casio Comput Co Ltd データ印刷装置及び記憶媒体
JP3666292B2 (ja) * 1999-03-31 2005-06-29 富士通株式会社 電子式キャッシュレジスタ
US7562294B1 (en) * 1999-12-30 2009-07-14 Infoprint Solutions Company Llc Formatting computer generated documents for output
JP2002324166A (ja) * 2001-04-25 2002-11-08 Hitachi Ltd 帳票、帳票処理システム、帳票作成システム、帳票印刷システム、帳票処理方法、帳票作成方法、及び、帳票印刷方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544329A (zh) * 2013-10-30 2014-01-29 江苏众瀛联合数据科技有限公司 一种消费信息的采集方法
CN104966210A (zh) * 2015-06-04 2015-10-07 深圳市新国都支付技术有限公司 一种实现商品交易综合信息在线采集的系统及方法
CN104966210B (zh) * 2015-06-04 2019-07-02 深圳市新国都支付技术有限公司 一种实现商品交易综合信息在线采集的系统及方法

Also Published As

Publication number Publication date
CN100373320C (zh) 2008-03-05

Similar Documents

Publication Publication Date Title
CN107067044A (zh) 一种财务报销全票据智能审核系统
US11783572B2 (en) Method of automatically extracting information of a predefined type from a document
Kita et al. Binarization of color characters in scene images using k-means clustering and support vector machines
CN1892642A (zh) 处理表格的方法和系统
CN107194400A (zh) 一种财务报销全票据图片识别处理方法
CN1163841C (zh) 在线手写中文字识别装置
CN112508011A (zh) 一种基于神经网络的ocr识别方法及设备
CN1145899C (zh) 为文字文档自动生成摘要的方法
US8036422B2 (en) Verification system and method in a document processing environment
Borovikov A survey of modern optical character recognition techniques
JP4893278B2 (ja) 証紙識別システム及び証紙識別方法
CN111814779A (zh) 一种票据文本识别方法、装置、设备及存储介质
CN105184329A (zh) 一种基于云平台的脱机手写识别方法
CN100390815C (zh) 模板优化的字符识别方法和系统
EP1118959B1 (en) Method and apparatus for determining form sheet type
CN101546383B (zh) 图像处理设备和方法
CN100485711C (zh) 手写字体的计算机识别与自动输入方法
Mozaffari et al. IfN/Farsi-Database: a database of Farsi handwritten city names
CN109582946B (zh) 文字区域排版方向的确定方法及装置
CN1803460A (zh) 微型打印机横排打印技术
CN1547102A (zh) 收款机打印数据格式自动提取方法
Garain et al. A syntactic approach for processing mathematical expressions in printed documents
CN102332088B (zh) 一种基于游程特征的选票符号机器视觉识别方法
CN109522892A (zh) 神经网络辅助的文字图像信息标注方法
CN1245693C (zh) 一种基于计算机系统的票务防伪方法及门票防伪方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080305

Termination date: 20170611

CF01 Termination of patent right due to non-payment of annual fee