CN112651725B - 电子发票解析方法和装置 - Google Patents

电子发票解析方法和装置 Download PDF

Info

Publication number
CN112651725B
CN112651725B CN201910964418.7A CN201910964418A CN112651725B CN 112651725 B CN112651725 B CN 112651725B CN 201910964418 A CN201910964418 A CN 201910964418A CN 112651725 B CN112651725 B CN 112651725B
Authority
CN
China
Prior art keywords
electronic invoice
information
square
line
character
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
CN201910964418.7A
Other languages
English (en)
Other versions
CN112651725A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201910964418.7A priority Critical patent/CN112651725B/zh
Publication of CN112651725A publication Critical patent/CN112651725A/zh
Application granted granted Critical
Publication of CN112651725B publication Critical patent/CN112651725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供一种电子发票解析方法和装置。所述方法包括:确定电子发票的PDF文件中每个字符的位置信息;根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定。本发明实施例能够直接对PDF文件的电子发票进行解析提取,简化提取电子发票信息的流程,提高识别准确率。

Description

电子发票解析方法和装置
技术领域
本发明涉及电子发票技术领域,尤其涉及一种电子发票解析方法和装置。
背景技术
随着数据化时代的到来,政府开始大力推动电子发票的发展,电子发票正在逐渐替代纸质发票。在传统的报销流程中,往往需要手动地、机械化地将每张电子发票里的信息录入到报销系统中,浪费了大量的人力物力。因此,采用自动化解析提取电子发票信息能够提高报销人员的工作效率,以及降低手动录入的错误率。
目前流行的解析提取电子发票信息的技术是OCR(Optical CharacterRecognition,光学字符识别)识别技术。OCR技术是指利用光学字符识别技术提取图片上的文字内容。阿里、华为、百度等大公司都利用OCR技术提供了相应服务。但是,目前的电子发票格式大多数为PDF格式,使用OCR识别技术提取电子发票信息首先需要将电子发票转化为图片格式,转化过程中可能会因为分辨率导致识别准确率降低。
发明内容
针对现有技术问题,本发明实施例提供一种电子发票解析方法和装置。
本发明实施例提供一种电子发票解析方法,所述方法包括:
确定电子发票的PDF文件中每个字符的位置信息;
根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;
根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定。
本发明实施例提供一种电子发票解析装置,所述装置包括:
确定单元,用于确定电子发票的PDF文件中每个字符的位置信息;
划分单元,用于根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;
解析单元,用于根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定。
本发明实施例还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述电子发票解析方法。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述电子发票解析方法。
本发明实施例提供的电子发票解析方法和装置,通过提取出电子发票每个字符的位置信息,对电子发票的所有字符以行为单位进行划分并排序,根据每一行的关键字的位置信息解析出电子发票的内容,能够直接对PDF文件的电子发票进行解析提取,简化流程,提高识别准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的电子发票解析方法的流程示意图;
图2为本发明一实施例提供的电子发票的示意图;
图3为本发明一实施例提供的电子发票解析装置的结构示意图;
图4为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的电子发票解析方法的流程示意图。
如图1所示,具体包括以下步骤:
S11、确定电子发票的PDF文件中每个字符的位置信息;
具体地,电子发票格式虽然一样,但是对于不同厂商开具的电子发票,其内容的位置差异巨大,在PDF文件里字符的出现顺序与显示的顺序会出现不一致的情况。
首先从电子发发票中提取每个非空字符Ci的位置信息,此位置信息CPi为该字符所在的矩形的左上角坐标以及右下角坐标,即
Figure BDA0002230003710000031
为了简写,下文中的CPi[0]代表
Figure BDA0002230003710000032
CPi[1]代表
Figure BDA0002230003710000033
CPi[2]代表
Figure BDA0002230003710000034
CPi[3]代表
Figure BDA0002230003710000035
本发明实施例提取电子发票PDF文件里的字符,能够基于字符位置信息对PDF文件进行直接解析提取电子发票信息。
S12、根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;
具体地,因为电子发票中绝大多数内容都是从左往右书写的,因此得出每个字符的位置信息后,以行为单位对电子发票内容进行划分。当两个字符的上坐标(矩形的左上角的纵坐标)在一定的误差范围内,且下坐标(矩形的右下角的纵坐标)也在一定的误差范围内时,即字符Ci和Cj满足以下公式则可认为两个字符实在同一行的:
Figure BDA0002230003710000036
其中,ε为允许的误差值。以行为单位进行划分后再按照横坐标进行排序,则可将同一行的信息拼接在一起。
S13、根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定。
具体地,关键字是根据电子发票固定的格式信息确定的。
图2示出了本发明实施例提供的电子发票的示意图。
如图2所示,电子发票包括多种信息,如关键信息、购买方信息、销售方信息、密码区、备注信息以及清单信息,每种信息在电子发票中有相应的布局特点,并且每种信息包括对应的关键字。例如,关键信息中的关键字为发票代码、发票号码、开票信息和校验码。
进一步地,在提取出电子发票的每个字符的位置信息并以行为单位进行划分后,就可以根据发票中每种信息的关键字和相应特点进行解析提取。
本发明实施例提供的电子发票解析方法,通过提取出电子发票每个字符的位置信息,对电子发票的所有字符以行为单位进行划分并排序,根据每一行的关键字的位置信息解析出电子发票的内容,能够直接对PDF文件的电子发票进行解析提取,简化提取电子发票信息的流程,提高识别准确率。
在上述实施例的基础上,所述位置信息包括上坐标和下坐标,所述上坐标为所述字符所在矩形的左上角坐标,所述下坐标为所述字符所在矩形的右下角坐标。
所述根据所述位置信息对所述电子发票的所有字符以行为单位进行划分包括:
若第一字符的上坐标的纵坐标和第二字符的上坐标的纵坐标的误差小于等于第一阈值,且所述第一字符的下坐标的纵坐标和所述第二字符的下坐标的纵坐标的误差小于等于所述第一阈值,则将所述第一字符和所述第二字符划分为同一行;
相应地,所述对每一行的字符进行排序包括:
根据每个字符的上坐标的横坐标或下坐标的横坐标对同一行的所有字符进行排序。
具体地,根据每个字符的纵坐标以行为单位进行划分,同一行的字符划分在一个集合内,再根据字符的横坐标对同一集合中的字符进行排序,得到同一行的信息。
在上述实施例的基础上,步骤S13具体包括关键信息的解析步骤:
根据每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
提取所述关键字及对应的连续字符串,得到所述电子发票的关键信息。
参照图2,关键信息为在电子发票中包含的形如“key:value”的信息,如“开票日期:2018年07月21日”。对于此类信息,可以先找到key所在的位置,然后再对value进行解析。其中value为key后的一段连续子串,解析该子串时,当后一个字符的横坐标与当前字符的横坐标超过一定范围时,即满足以下公式,则可认为当前字符为value的结尾。
Figure BDA0002230003710000051
其中,ε为允许的误差值。
在上述实施例的基础上,步骤S13具体包括购买方和销售方信息解析步骤:
根据第一方格周边的关键字的位置信息,确定所述第一方格的边界位置信息,所述第一方格为电子发票中包含购买方信息或销售方信息的方格,所述第一方格周边的关键字根据所述电子发票的格式信息确定;
根据所述第一方格内每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
提取所述第一方格内每一行的关键信息,得到所述电子发票的购买方信息或销售方信息。
具体地,如图2所示,在电子发票中,购买方和销售方的信息都包含在一个方格内,因此首先需要解析出该方格的边界位置,而该位置可以通过其他关键字K(一个关键字由多个连续字符组成,即Ki={Cj,Cj+1,…,Ck},其位置信息为
Figure BDA0002230003710000061
的位置来确定。
对于购买方,其左边的关键字为“购买方”。根据电子发票的布局特点,购买方右边的关键字为“密码区”,上边的关键字为“机器编号”,下边的关键字为“货物或应税劳务、服务名称”。而对于销售方,其左边的关键字为“销售方”,右边的关键字为“备注”,上边的关键字为“价税合计(大写)”,下边的关键字为“收款人”。
确定出方格的边界位置后,就可以筛选出包含方格内的字符。然后通过以行为单位进行划分,每一行的内容就为形如”key:value”的关键信息,通过关键信息解析的步骤则可将购买方和销售方的信息进行解析。
在上述实施例的基础上,步骤S13具体包括密码区和备注信息解析步骤:
根据所述电子发票的边界以及第二方格周边的关键字的位置信息确定所述第二方格的边界位置信息,所述第二方格为包含密码区信息或备注信息的方格,所述第二方格周边的关键字根据所述电子发票的格式信息确定;
提取所述第二方格内每一行的内容,将所述第二方格内每一行的内容进行拼接,得到所述电子发票的密码区信息或备注信息。
具体地,如图2所示,密码区和备注的信息同样也是包含在一个方格内,但它们的右边界是电子发票的右边界。
对于密码区,其左边的关键字为“密码区”。根据电子发票的布局特点,密码区上边的关键字为“校验码”,下边的关键字为“税额”。而对于备注,其左边的关键字为“备注”,上边的关键字为“(小写)”,下边的关键字为“销售方:(章)”。
确定方格边界位置并进行筛选后,同样的以行为单位进行划分,最后再将每一行的内容直接拼接在一起即可将密码区和备注信息的进行解析。
在上述实施例的基础上,步骤S13具体包括清单信息解析步骤:
根据所述电子发票的边界以及第三方格内的关键字的位置信息确定所述第三方格的边界位置信息,所述第三方格为包含清单信息的方格,所述第三方格内的关键字根据所述电子发票的格式信息确定;
根据所述第三方格内每一行的字符间的间距将每一行的字符划分为多个字段;
根据每个字段的横坐标确定所述字段对应的关键字,所述字段对应的关键字为所述第三方格中与所述字段的横坐标距离最小的关键字;
针对包含多行内容的字段,若除第一行外,其余行的所有字段均为空,则将其余行的内容拼接在第一行中,直至出现存在字段不为空的行;
提取所述第三方格内关键字对应的字段的内容,得到所述电子发票的清单信息。
具体地,如图2所示,清单信息也是包含在一个方格内,但它的左右边界是电子发票的左右边界,上边界的关键字为“货物或应税劳务、服务名称”,下边界的关键字为“价税合计(大写)”。
筛选出方格里的内容后,同样也是以行为单位进行划分。在同一行中,先根据字符间的距离将分成一个个字段W(一个字段由多个连续字符组成,即Wi={Cj,Cj+1,…,Ck},其位置信息为
Figure BDA0002230003710000071
在电子发票中可能存在某些字段为空的情况。因此不能简单的按照从左到右的顺序将字段内容与相应的关键字对应。对于每一个字段,可以通过与其最近的关键字来确定该字段属于哪一项,通过以下公式来得出第i个字段属于第indexi个关键字:
indexi=argminj(min(|WPi[0]-KPj[0]|,|WPi[2]-KPj[2]|))
对于“货物或应税劳务、服务名称”这一字段,其内容可能存在多行的情况。对于这种情况,除了第一行外,其余行的其他字段都为空,因此可以通过判断其他字段是否为空来将该字段内容完整解析。
在上述实施例的基础上,所述方法还包括:
提取所述电子发票中字体最大的一行字符,得到标题信息。
如图2所示,标题的字体大小是整个电子发票中最大的,因此只要将电子发票中字体最大的字符提取出来并排序,则可将解析出标题信息。
图3示出了本发明实施例提供的电子发票解析装置的结构示意图。
如图3所示,所述装置包括:确定单元31、划分单元32和解析单元33,其中:
所述确定单元31,用于确定电子发票的PDF文件中每个字符的位置信息;
所述划分单元32,用于根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;
所述解析单元33,用于根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定。
本发明实施例提供的电子发票解析装置,通过提取出电子发票每个字符的位置信息,对电子发票的所有字符以行为单位进行划分并排序,根据每一行的关键字的位置信息解析出电子发票的内容,能够直接对PDF文件的电子发票进行解析提取,简化提取电子发票信息的流程,提高识别准确率。
在上述实施例的基础上,所述位置信息包括上坐标和下坐标,所述上坐标为所述字符所在矩形的左上角坐标,所述下坐标为所述字符所在矩形的右下角坐标。
所述划分单元32具体用于:若第一字符的上坐标的纵坐标和第二字符的上坐标的纵坐标的误差小于等于第一阈值,且所述第一字符的下坐标的纵坐标和所述第二字符的下坐标的纵坐标的误差小于等于所述第一阈值,则将所述第一字符和所述第二字符划分为同一行;
根据每个字符的上坐标的横坐标或下坐标的横坐标对同一行的所有字符进行排序。
在上述实施例的基础上,所述解析单元32包括:
第一确定模块,用于根据每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
第二确定模块,用于根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
第一提取模块,用于提取所述关键字及对应的连续字符串,得到所述电子发票的关键信息。
在上述实施例的基础上,所述解析单元还33还包括:
第三确定模块,用于根据第一方格周边的关键字的位置信息,确定所述第一方格的边界位置信息,所述第一方格为电子发票中包含购买方信息或销售方信息的方格,所述第一方格周边的关键字根据所述电子发票的格式信息确定;
第四确定模块,用于根据所述第一方格内每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
第五确定模块,用于根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
第二提取模块,用于提取所述第一方格内每一行的关键信息,得到所述电子发票的购买方信息或销售方信息。
在上述实施例的基础上,所述解析单元33还包括:
第六确定模块,用于根据所述电子发票的边界以及第二方格周边的关键字的位置信息确定所述第二方格的边界位置信息,所述第二方格为包含密码区信息或备注信息的方格,所述第二方格周边的关键字根据所述电子发票的格式信息确定;
第三提取模块,用于提取所述第二方格内每一行的内容,将所述第二方格内每一行的内容进行拼接,得到所述电子发票的密码区信息或备注信息。
在上述实施例的基础上,所述解析单元还33包括:
第七确定模块,用于根据所述电子发票的边界以及第三方格内的关键字的位置信息确定所述第三方格的边界位置信息,所述第三方格为包含清单信息的方格,所述第三方格内的关键字根据所述电子发票的格式信息确定;
划分模块,用于根据所述第三方格内每一行的字符间的间距将每一行的字符划分为多个字段;
第八确定模块,用于根据每个字段的横坐标确定所述字段对应的关键字,所述字段对应的关键字为所述第三方格中与所述字段的横坐标距离最小的关键字;
拼接模块,用于针对包含多行内容的字段,若除第一行外,其余行的所有字段均为空,则将其余行的内容拼接在第一行中,直至出现存在字段不为空的行;
第四提取模块,用于提取所述第三方格内关键字对应的字段的内容,得到所述电子发票的清单信息。
在上述实施例的基础上,所述装置还包括:
提取单元,用于提取所述电子发票中字体最大的一行字符,得到标题信息。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信。处理器41可以调用存储器43中的逻辑指令,以执行上述各实施例提供的方法。
此外,上述的存储器43中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种电子发票解析方法,其特征在于,所述方法包括:
确定电子发票的PDF文件中每个字符的位置信息;
根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;
所述位置信息包括上坐标和下坐标,所述上坐标为所述字符所在矩形的左上角坐标,所述下坐标为所述字符所在矩形的右下角坐标;
所述根据所述位置信息对所述电子发票的所有字符以行为单位进行划分包括:
若第一字符的上坐标的纵坐标和第二字符的上坐标的纵坐标的误差小于等于第一阈值,且所述第一字符的下坐标的纵坐标和所述第二字符的下坐标的纵坐标的误差小于等于所述第一阈值,则将所述第一字符和所述第二字符划分为同一行;
相应地,所述对每一行的字符进行排序包括:
根据每个字符的上坐标的横坐标或下坐标的横坐标对同一行的所有字符进行排序;
根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定;
根据第一方格周边的关键字的位置信息,确定所述第一方格的边界位置信息,所述第一方格为电子发票中包含购买方信息或销售方信息的方格,所述第一方格周边的关键字根据所述电子发票的格式信息确定;
根据所述第一方格内每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
提取所述第一方格内每一行的关键信息,得到所述电子发票的购买方信息或销售方信息;
根据所述电子发票的边界以及第三方格内的关键字的位置信息确定所述第三方格的边界位置信息,所述第三方格为包含清单信息的方格,所述第三方格内的关键字根据所述电子发票的格式信息确定;
根据所述第三方格内每一行的字符间的间距将每一行的字符划分为多个字段;
根据每个字段的横坐标确定所述字段对应的关键字,所述字段对应的关键字为所述第三方格中与所述字段的横坐标距离最小的关键字;
针对包含多行内容的字段,若除第一行外,其余行的所有字段均为空,则将其余行的内容拼接在第一行中,直至出现存在字段不为空的行;在电子发票中存在某些字段为空的情况,对于每一个字段,通过与其最近的关键字来确定该字段属于哪一项;
提取所述第三方格内关键字对应的字段的内容,得到所述电子发票的清单信息。
2.根据权利要求1所述的电子发票解析方法,其特征在于,所述根据每一行的关键字的位置信息解析出所述电子发票的内容包括:
根据每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
提取所述关键字及对应的连续字符串,得到所述电子发票的关键信息。
3.根据权利要求1所述的电子发票解析方法,其特征在于,所述根据每一行的关键字的位置信息解析出所述电子发票的内容包括:
根据所述电子发票的边界以及第二方格周边的关键字的位置信息确定所述第二方格的边界位置信息,所述第二方格为包含密码区信息或备注信息的方格,所述第二方格周边的关键字根据所述电子发票的格式信息确定;
提取所述第二方格内每一行的内容,将所述第二方格内每一行的内容进行拼接,得到所述电子发票的密码区信息或备注信息。
4.根据权利要求1所述的电子发票解析方法,其特征在于,所述方法还包括:
提取所述电子发票中字体最大的一行字符,得到标题信息。
5.一种电子发票解析装置,其特征在于,所述装置包括:
确定单元,用于确定电子发票的PDF文件中每个字符的位置信息;
划分单元,用于根据所述位置信息对所述电子发票的所有字符以行为单位进行划分,并对每一行的字符进行排序;若第一字符的上坐标的纵坐标和第二字符的上坐标的纵坐标的误差小于等于第一阈值,且所述第一字符的下坐标的纵坐标和所述第二字符的下坐标的纵坐标的误差小于等于所述第一阈值,则将所述第一字符和所述第二字符划分为同一行;
解析单元,用于根据每一行的关键字的位置信息解析出所述电子发票的内容,所述关键字根据所述电子发票的格式信息确定;
所述解析单元还包括:
第三确定模块,用于根据第一方格周边的关键字的位置信息,确定所述第一方格的边界位置信息,所述第一方格为电子发票中包含购买方信息或销售方信息的方格,所述第一方格周边的关键字根据所述电子发票的格式信息确定;
第四确定模块,用于根据所述第一方格内每一行的关键字的位置信息确定每一行的关键信息的连续字符串的起始位置,所述关键信息包括关键字和所述关键字对应的连续字符串;
第五确定模块,用于根据所述连续字符串间的间距确定所述关键信息的连续字符串的结束位置;
第二提取模块,用于提取所述第一方格内每一行的关键信息,得到所述电子发票的购买方信息或销售方信息;
所述解析单元还包括:第七确定模块,用于根据所述电子发票的边界以及第三方格内的关键字的位置信息确定所述第三方格的边界位置信息,所述第三方格为包含清单信息的方格,所述第三方格内的关键字根据所述电子发票的格式信息确定;
划分模块,用于根据所述第三方格内每一行的字符间的间距将每一行的字符划分为多个字段;
第八确定模块,用于根据每个字段的横坐标确定所述字段对应的关键字,所述字段对应的关键字为所述第三方格中与所述字段的横坐标距离最小的关键字;
拼接模块,用于针对包含多行内容的字段,若除第一行外,其余行的所有字段均为空,则将其余行的内容拼接在第一行中,直至出现存在字段不为空的行,在电子发票中存在某些字段为空的情况,对于每一个字段,通过与其最近的关键字来确定该字段属于哪一项;
第四提取模块,用于提取所述第三方格内关键字对应的字段的内容,得到所述电子发票的清单信息。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述电子发票解析方法的步骤。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述电子发票解析方法的步骤。
CN201910964418.7A 2019-10-11 2019-10-11 电子发票解析方法和装置 Active CN112651725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910964418.7A CN112651725B (zh) 2019-10-11 2019-10-11 电子发票解析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910964418.7A CN112651725B (zh) 2019-10-11 2019-10-11 电子发票解析方法和装置

Publications (2)

Publication Number Publication Date
CN112651725A CN112651725A (zh) 2021-04-13
CN112651725B true CN112651725B (zh) 2022-12-13

Family

ID=75343388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910964418.7A Active CN112651725B (zh) 2019-10-11 2019-10-11 电子发票解析方法和装置

Country Status (1)

Country Link
CN (1) CN112651725B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630817A (zh) * 2014-11-03 2016-06-01 航天信息股份有限公司 一种电子发票内容解析的方法及系统
CN108021711A (zh) * 2017-12-28 2018-05-11 深圳市巨鼎医疗设备有限公司 一种信息处理的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467464B2 (en) * 2016-06-07 2019-11-05 The Neat Company, Inc. Document field detection and parsing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630817A (zh) * 2014-11-03 2016-06-01 航天信息股份有限公司 一种电子发票内容解析的方法及系统
CN108021711A (zh) * 2017-12-28 2018-05-11 深圳市巨鼎医疗设备有限公司 一种信息处理的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PostScript文件文字块段落提取重构算法;吴一民等;《计算机应用与软件》;20101215(第12期);第273-276页 *

Also Published As

Publication number Publication date
CN112651725A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
US10366123B1 (en) Template-free extraction of data from documents
CN109062874B (zh) 财政数据的获取方法、终端设备及介质
US10755093B2 (en) Hierarchical information extraction using document segmentation and optical character recognition correction
US8140468B2 (en) Systems and methods to extract data automatically from a composite electronic document
EP2671190B1 (en) System for data extraction and processing
US20040193520A1 (en) Automated understanding and decomposition of table-structured electronic documents
US20120297296A1 (en) Contract authoring system and method
CN111143505B (zh) 文档处理方法、装置、介质及电子设备
US11501549B2 (en) Document processing using hybrid rule-based artificial intelligence (AI) mechanisms
CN110516221A (zh) 提取pdf文档中图表数据的方法、设备和存储介质
CN112487859A (zh) 信息处理装置、信息处理方法和计算机可读介质
CN115171143A (zh) 一种电子发票全票面信息提取方法及系统
US20160055254A1 (en) Method and System for Click-Thru Capability in Electronic Media
CN112651725B (zh) 电子发票解析方法和装置
CN115294593A (zh) 一种图像信息抽取方法、装置、计算机设备及存储介质
KR20200091560A (ko) 세관신고 자동화를 위한 문서 내 텍스트 자동 추출 시스템 및 이를 이용한 방법
CN114549177A (zh) 保函审查方法、装置、系统与计算机可读存储介质
US11341760B2 (en) Form processing and analysis system
CN114495138A (zh) 一种智能文档识别与特征提取方法、装置平台和存储介质
US11475686B2 (en) Extracting data from tables detected in electronic documents
US20100023517A1 (en) Method and system for extracting data-points from a data file
CN113836096A (zh) 基于rpa和ai的文件比对方法、装置、设备、介质及系统
CN112069792A (zh) 命名实体识别方法、装置、设备
CN114743012A (zh) 一种文本识别方法及装置
CN112508550A (zh) 一种转账处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant