CN112529643B - 电子发票的处理方法、装置、存储介质和电子设备 - Google Patents
电子发票的处理方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN112529643B CN112529643B CN202011519972.3A CN202011519972A CN112529643B CN 112529643 B CN112529643 B CN 112529643B CN 202011519972 A CN202011519972 A CN 202011519972A CN 112529643 B CN112529643 B CN 112529643B
- Authority
- CN
- China
- Prior art keywords
- invoice
- data item
- invoice data
- format
- electronic
- 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
- 238000003672 processing method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 6
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及一种电子发票的处理方法、装置、存储介质和电子设备,涉及电子信息处理领域,该方法包括:获取待处理的电子发票数据,根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。
Description
技术领域
本公开涉及电子信息处理领域,具体地,涉及一种电子发票的处理方法、装置、存储介质和电子设备。
背景技术
随着电子信息技术的快速发展,电子发票在电子商务领域的应用变得越来越广泛。由于电子发票的种类较多,每种电子发票的格式要求均存在差异。通常情况下,会预先设置每种电子发票对应的OFD(英文:Open Fixed-Layout Document format)电子发票版式文件模板,在获取电子发票数据后,根据对应的发票种类来调用相应的模板,从而生成电子发票。但是电子发票中包括的每一个发票数据项都具有特定的格式要求,格式要求可能会随着该发票数据项实际的发票内容的不同,而发生一定的变化,预先设置的模板无法对这种情况进行兼容处理。
发明内容
本公开的目的是提供一种电子发票的处理方法、装置、存储介质和电子设备,用于解决电子发票数据格式兼容性低的问题。
根据本公开实施例的第一方面,提供一种电子发票的处理方法,所述方法包括:
获取待处理的电子发票数据;
根据所述电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,所述OFD格式信息包括每个所述发票数据项对应的格式属性;
针对每个所述发票数据项,根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式;
将所述电子发票数据中,每个所述发票数据项对应的所述发票内容,按照该发票数据项对应的目标格式填入所述OFD标准对应的发票模板,以生成符合所述OFD标准的电子发票。
可选地,所述根据所述电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,包括:
在所述OFD标准对应的标识数据集中,查找所述发票标识指示的至少一个所述发票数据项;
在所述标识数据集中,确定每个所述发票数据项对应的所述格式属性,所述格式属性包括:字号属性、字体属性、相对位置属性、换行属性中的至少一种。
可选地,在所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式之前,所述方法还包括:
确定所述发票模板中该发票数据项所占的空间大小;
所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式,包括:
根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式。
可选地,所述根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式,包括:
根据该发票数据项对应的所述字号属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标字号;和/或,
根据该发票数据项对应的所述换行属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标行数。
可选地,所述根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式,包括:
根据该发票数据项对应的所述相对位置属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标坐标范围,所述相对位置属性包括:居中、左对齐、右对齐、上对齐、下对齐中的至少一种。
可选地,所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式,包括:
根据该发票数据项对应的所述字体属性,确定所述目标格式中的目标字体;
根据所述电子发票数据中,该发票数据项对应的所述发票内容的数据类型,确定所述目标格式中的目标字节数。
根据本公开实施例的第二方面,提供一种电子发票的处理装置,所述装置包括:
获取模块,用于获取待处理的电子发票数据;
第一确定模块,用于根据所述电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,所述OFD格式信息包括每个所述发票数据项对应的格式属性;
第二确定模块,用于针对每个所述发票数据项,根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式;
生成模块,用于将所述电子发票数据中,每个所述发票数据项对应的所述发票内容,按照该发票数据项对应的目标格式填入所述OFD标准对应的发票模板,以生成符合所述OFD标准的电子发票。
可选地,所述第一确定模块包括:
查找子模块,用于在所述OFD标准对应的标识数据集中,查找所述发票标识指示的至少一个所述发票数据项;
确定子模块,用于在所述标识数据集中,确定每个所述发票数据项对应的所述格式属性,所述格式属性包括:字号属性、字体属性、相对位置属性、换行属性中的至少一种。
可选地,所述装置还包括:
第三确定模块,用于在所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式之前,确定所述发票模板中该发票数据项所占的空间大小;
第二确定模块用于:
根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式。
可选地,所述第二确定模块用于:
根据该发票数据项对应的所述字号属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标字号;和/或,
根据该发票数据项对应的所述换行属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标行数。
可选地,所述第二确定模块用于:
根据该发票数据项对应的所述相对位置属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标坐标范围,所述相对位置属性包括:居中、左对齐、右对齐、上对齐、下对齐中的至少一种。
可选地,所述第二确定模块用于:
根据该发票数据项对应的所述字体属性,确定所述目标格式中的目标字体;
根据所述电子发票数据中,该发票数据项对应的所述发票内容的数据类型,确定所述目标格式中的目标字节数。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面中任一项所述方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第一方面中任一项所述方法的步骤。
通过上述技术方案,本公开首先获取待处理的电子发票数据,并根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。再针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。最后,将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。本公开可以直接根据电子发票数据中的每一个发票数据项的发票内容和格式属性,确定相应的目标格式,从而按照目标格式生成符合OFD标准的电子发票,无需预先建立多种模板,提高了符合OFD标准的电子发票的生成效率和数据格式的兼容性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种电子发票的处理方法的流程图;
图2是根据一示例性实施例示出的另一种电子发票的处理方法的流程图;
图3是根据一示例性实施例示出的另一种电子发票的处理方法的流程图;
图4是根据一示例性实施例示出的一种电子发票的处理装置的框图;
图5是根据一示例性实施例示出的另一种电子发票的处理装置的框图;
图6是根据一示例性实施例示出的另一种电子发票的处理装置的框图;
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种电子发票的处理方法,如图1所示,该方法包括:
步骤101,获取待处理的电子发票数据。
举例来说,首先可以获取待处理的电子发票数据,其中,电子发票数据中可以包括发票标识、发票内容和其他数据。电子发票数据可以是任何类型的电子发票数据(如普通发票、专用发票)、任何地区的电子发票数据或者任何领域的电子发票数据(如通行费发票、成品油发票)。电子发票数据可以为服务器从客户端获取,也可以为客户端从本地获取,客户端例如可以是智能手机、平板电脑、智能电视、PDA(英文:Personal Digital Assistant,中文:个人数字助理)、便携计算机等移动终端,也可以是台式计算机等固定终端等,本公开对此不做具体限定。其中,发票标识可以理解为用来确定发票数据项和发票数据项的格式属性的唯一标识,发票内容可以理解为发票数据项对应的实际内容,其他数据可以理解为电子发票数据中除发票标识和发票内容以外的其他与生成电子发票有关的数据。
步骤102,根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。
示例的,在获取到待处理的电子发票数据之后,可以先确定电子发票数据里包括的发票标识和OFD标准,发票标识对应至少一个发票数据项,之后可以根据发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,其中,OFD格式信息包括每个发票数据项对应的格式属性,发票数据项例如可以是票头、发票代码、发票号码、销售方名称、开户行及账号、商品名称或经营项目、计量单位、数量、单价、税率、税额、收款人、开票人、开票日期等。格式属性例如可以包括字号属性、字体属性、相对位置属性和换行属性中的一种或几种。
步骤103,针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。
示例的,在根据发票标识和OFD标准确定至少一个发票数据项之后,针对每个发票数据项,可以根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。
需要说明的是,可以预先针对每种格式属性设置相应的格式处理函数或者格式处理脚本,针对该发票数据项对应的格式属性依次调用每种格式属性对应的格式处理函数,从而得到该发票数据项的目标格式。例如,发票数据项为票头,格式属性中包括字号属性和字体属性,那么可以分别调用字号属性对应的字号格式处理函数,和字体属性对应的字体格式处理函数,从而确定票头的目标格式。
具体的,在获取到电子发票数据之后,根据电子发票数据中的发票标识确定发票代码、发票号码、销售方名称、开户行及账号等发票数据项。以发票代码这一发票数据项来举例,发票代码对应的字号属性例如包括四号、小四、五号,那么可以根据发票代码对应的发票内容将发票代码对应的目标格式中的字体设置为四号、小四、五号中的一个。确定字号属性对应的目标格式的设置规则例如可以为,当发票代码对应的发票内容较短时,将发票代码对应的目标格式设置为较大的字号,当发票代码对应的发票内容较长时,将发票代码对应的目标格式设置为较小的字号。例如,当发票代码对应的发票内容为“123456”时,可以将发票代码对应的目标格式设置为四号,当发票代码对应的发票内容为“1234567890”时,可以将发票代码对应的目标格式设置为小四,当发票代码对应的发票内容为“1234567890123456”时,可以将发票代码对应的目标格式设置为五号。销售方名称对应的字体属性例如为,中文对应的字体属性为宋体,英文和数字对应的字体属性为Times NewRoman,销售方名称对应的发票内容为“甲公司”,那么可以将销售方名称对应的目标格式设置为宋体。
步骤104,将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。
示例的,在确定该发票数据项的目标格式之后,可以按照每个发票数据项对应的目标格式,将电子发票数据中,该发票数据项对应的发票内容,填入OFD标准对应的发票模板,从而生成符合OFD标准的电子发票。这样,不需要针对不同种类的电子发票,预先建立不同模板,只需要建立一个通用的符合OFD标准的发票模板,就可以生成不同格式的电子发票,有效提高了符合OFD标准的电子发票的生成效率和数据格式的兼容性。
需要说明的是,在生成符合OFD标准的电子发票的方式中,可以将每个发票数据项对应的目标格式作为一组参数传入预设的发票生成脚本,由发票生成脚本依次将每个发票数据项按照对应的目标格式填入OFD标准对应的发票模板,从而生成符合OFD标准的电子发票。也可以是依次将每个发票数据项对应的目标格式,传入该发票数据项对应的数据项生成脚本,再依次调用每个发票数据项对应的数据项生成脚本,以将该发票数据项按照对应的目标格式填入OFD标准对应的发票模板。
具体的,以发票数据项为销售方名称为例来举例说明。根据销售方名称的格式属性和发票内容,确定销售方名称的目标格式为:(字号:五号,字体:宋体),销售方名称在电子发票数据中对应的发票内容为“乙公司”,那么目标格式(字号:五号,字体:宋体)作为一组参数传入发票代码对应的数据项生成脚本,以将“乙公司”按照字号为五号、字体为宋体的目标格式填入发票模板中销售方名称对应的位置。
综上所述,本公开首先获取待处理的电子发票数据,并根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。再针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。最后,将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。本公开可以直接根据电子发票数据中的每一个发票数据项的发票内容和格式属性,确定相应的目标格式,从而按照目标格式生成符合OFD标准的电子发票,无需预先建立多种模板,提高了符合OFD标准的电子发票的生成效率和数据格式的兼容性。
图2是根据一示例性实施例示出的另一种电子发票的处理方法,如图2所示,步骤102可以通过以下步骤来实现:
步骤1021,在OFD标准对应的标识数据集中,查找发票标识指示的至少一个发票数据项。
步骤1022,在标识数据集中,确定每个发票数据项对应的格式属性,格式属性包括:字号属性、字体属性、相对位置属性、换行属性中的至少一种。
示例的,在获取到电子发票数据中包括的发票标识之后,可以在OFD标准对应的标识数据集中,查找发票标识指示的至少一个发票数据项,之后可以确定标识数据集中每个发票数据项对应的格式属性。其中,标识数据集可以理解为按照OFD标准建立的,包括了发票标识与发票数据项的对应关系、和发票数据项与格式属性的对应关系的数据集。标识数据集中可以包括多个关系记录,每个关系记录中包括一个发票标识,和该发票标识对应的一个或多个发票数据项,还包括每个发票数据项对应的格式属性。例如,标识数据集中可以包括如下关系记录:发票标识:10112303—发票数据项:{票头,发票代码,发票号码}—格式属性:{票头(字号属性:四号、五号、六号;字体属性:宋体;换行属性:可换行),发票代码(字号属性:五号、六号;字体属性:宋体;换行属性:不可换行),发票号码(字号属性:五号、六号;字体属性:宋体;换行属性:不可换行)}。那么,当待处理的电子发票数据中包括的发票标识为10112303时,即可确定对应的三个发票数据项:票头,发票代码,发票号码,和每个发票数据项对应的格式属性。
图3是根据一示例性实施例示出的另一种电子发票的处理方法,如图3所示,在步骤103之前,该方法还包括:
步骤105,确定发票模板中该发票数据项所占的空间大小。
相应的,步骤103的一种实现方式可以为:
根据该发票数据项对应的格式属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。
示例的,在确定发票数据项和每个发票数据项对应的格式属性之后,还可以进一步确定发票模板中该发票数据项所占的空间大小。之后可以根据该发票数据项对应的格式属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。
在一种应用场景中,步骤103的另一种实现方式还可以为:
方式一,根据该发票数据项对应的字号属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标字号。和/或,
方式二,根据该发票数据项对应的换行属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标行数。
示例的,在根据电子发票数据中包括的发票标识,确定至少一个发票数据项之后,可以调用字号格式处理函数,根据该发票数据项对应的字号属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标字号。
需要说明的是,可以根据发票数据项对应的发票内容的数据长度和字号属性的默认字号,确定当发票内容的字号为默认字号时,发票内容在发票模板上将会占用的初始空间。之后将初始空间,与该发票数据项所占的空间大小进行比较。其中,发票模板中该发票数据项所占的空间大小,可以理解为发票模板中,为该发票数据项所分配的空间大小。当初始空间小于或等于该发票数据项所占的空间大小时,确定该发票数据项对应的目标格式中的目标字号为默认字号,当初始空间大于该发票数据项所占的空间大小时,根据预设的字号规则选择目标字号(目标字号小于默认字号),使得当发票内容的字号为目标字号时,发票内容在发票模板上将会占用的空间小于或等于该发票数据项所占的空间大小。其中,预设的字号规则例如可以是建立一个对应表,可以根据初始空间与该发票数据项所占的空间大小的差值,确定对应的目标字号。
进一步的,当根据预设的字号规则将字号属性中允许的最小字号确定为目标字号时,发票内容在发票模板上将会占用的空间仍大于该发票数据项所占的空间大小,那么可以调用换行格式处理函数,根据该发票数据项对应的换行属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标行数。需要说明的是,可以通过比较该发票数据项所占的空间大小和初始空间,根据预设的换行规则选择对应的目标行数。在不需要换行的情况下,目标行数为默认值(一行)。
具体的,以发票数据项为发票代码来举例说明。发票代码对应的字号属性例如包括四号、小四、五号,其中,四号为字号属性的默认字号,发票代码所占的空间大小例如为可以容纳8个四号数字的空间。预设的字号规则例如可以为,当发票代码对应的发票内容小于等于8个字符时,确定发票代码对应的目标字号为默认字号(四号),当发票代码对应的发票内容大于8个字符且小于12个字符时,选择小四为发票代码对应的目标字号,当发票代码对应的发票内容大于等于12个字符小于16个字符时,选择五号为发票代码对应的目标字号,当发票代码对应的发票内容大于等于16个字符时,通过方式二确定目标行数。例如,当电子发票数据中发票代码对应的发票内容为“123456”时,可以确定发票代码对应的目标字号为默认字号(四号)。当发票代码对应的发票内容为“1234567890”时,可以选择小四为发票代码对应的目标字号。当发票代码对应的发票内容为“12345678901234”时,可以选择五号为发票代码对应的目标字号。当发票数据为“123456789012345678”时,可以选择五号为发票代码对应的目标字号,并确定发票代码对应的目标行数为两行。
在一种应用场景中,步骤103的另一种实现方式还可以为:
方式三,根据该发票数据项对应的相对位置属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标坐标范围,相对位置属性包括:居中、左对齐、右对齐、上对齐、下对齐中的至少一种。
示例的,在根据电子发票数据中包括的发票标识,确定至少一个发票数据项之后,可以调用相对位置格式处理函数,根据该发票数据项对应的相对位置属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定该发票数据项对应的发票内容的起始坐标(即第一个字符的坐标)和终止坐标(即最后一个字符的坐标),从而确定目标格式中的目标坐标范围。其中,相对位置属性包括:居中、左对齐、右对齐、上对齐、下对齐中的至少一种。
具体的,以发票数据项为发票代码来举例说明。发票代码对应的发票内容例如为“1234567890”、发票代码对应的相对位置属性例如为左对齐。可以确定当“1234567890”左对齐放置在发票代码在发票模板上所对应的区域时,数字“1”的坐标和数字“0”的坐标,从而确定目标坐标范围。
在一种应用场景中,步骤103的另一种实现方式还可以为:
方式四,根据该发票数据项对应的字体属性,确定目标格式中的目标字体。
方式五,根据电子发票数据中,该发票数据项对应的发票内容的数据类型,确定目标格式中的目标字节数。
示例的,在根据电子发票数据中包括的发票标识,确定至少一个发票数据项之后,可以调用字体格式处理函数,根据该发票数据项对应的字体属性,确定目标格式中的目标字体。例如,该发票数据项对应的字体属性为“宋体”,那么可以确定该发票数据项的目标字体为“宋体”。也可以根据该发票数据项对应的字体属性和发票内容来确定目标格式中的目标字体。例如,该发票数据项中,中文对应的字体属性为宋体,英文和数字对应的字体属性为Times New Roman,那么可以进一步根据该发票数据项对应的发票内容来确定该发票数据项的目标字体。
进一步的,可以调用字节数格式处理函数,根据电子发票数据中,该发票数据项对应的发票内容的数据类型,将不同类型的数据进行分类,并分别确定每种数据类型对应的字节数,以确定目标格式中的目标字节数。其中,不同类型的数据对应的字节数例如可以是,一个中文字符对应两个字节,一个英文字符对应一个字节,一个全角符号对应两个字节,一个半角符号对应一个字节。
具体的,以发票数据项为发票代码,发票代码对应的字体属性为:中文对应的字体属性为宋体,英文和数字对应的字体属性为Times New Roman,发票代码对应的发票内容为“1234567890”来举例说明。根据发票内容“1234567890”,确定目标字体为Times NewRoman,并确定目标字节数为10。
通过方式一到方式五的实现方式,对发票数据项的每个格式属性调用对应的格式处理函数,能够使各种类型的发票内容,适配相应发票数据项的格式属性,提高了文件生成速度,并且不同的格式处理函数相对独立,便于调试运维,降低了调试成本。
综上所述,本公开首先获取待处理的电子发票数据,并根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。再针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。最后,将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。本公开可以直接根据电子发票数据中的每一个发票数据项的发票内容和格式属性,确定相应的目标格式,从而按照目标格式生成符合OFD标准的电子发票,无需预先建立多种模板,提高了符合OFD标准的电子发票的生成效率和数据格式的兼容性。
图4是根据一示例性实施例示出的一种电子发票的处理装置,如图4所示,该装置200包括:
获取模块201,用于获取待处理的电子发票数据。
第一确定模块202,用于根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。
第二确定模块203,用于针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。
生成模块204,用于将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。
图5是根据一示例性实施例示出的一种电子发票的处理装置,如图5所示,第一确定模块202包括:
查找子模块2021,用于在OFD标准对应的标识数据集中,查找发票标识指示的至少一个发票数据项。
确定子模块2022,用于在标识数据集中,确定每个发票数据项对应的格式属性,格式属性包括:字号属性、字体属性、相对位置属性、换行属性中的至少一种。
图6是根据一示例性实施例示出的一种电子发票的处理装置,如图6所示,该装置200还包括:
第三确定模块205,用于在根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式之前,确定发票模板中该发票数据项所占的空间大小。
第二确定模块203用于:
根据该发票数据项对应的格式属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。
在一种应用场景中,第二确定模块203用于:
根据该发票数据项对应的字号属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标字号。和/或,
根据该发票数据项对应的换行属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标行数。
在另一种应用场景中,第二确定模块203用于:
根据该发票数据项对应的相对位置属性、该发票数据项所占的空间大小,和电子发票数据中,该发票数据项对应的发票内容的数据长度,确定目标格式中的目标坐标范围,相对位置属性包括:居中、左对齐、右对齐、上对齐、下对齐中的至少一种。
在另一种应用场景中,第二确定模块203用于:
根据该发票数据项对应的字体属性,确定目标格式中的目标字体。
根据电子发票数据中,该发票数据项对应的发票内容的数据类型,确定目标格式中的目标字节数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开首先获取待处理的电子发票数据,并根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。再针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。最后,将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。本公开可以直接根据电子发票数据中的每一个发票数据项的发票内容和格式属性,确定相应的目标格式,从而按照目标格式生成符合OFD标准的电子发票,无需预先建立多种模板,提高了符合OFD标准的电子发票的生成效率和数据格式的兼容性。
图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的电子发票的处理方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的电子发票的处理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的电子发票的处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的电子发票的处理方法。
综上所述,本公开首先获取待处理的电子发票数据,并根据电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,OFD格式信息包括每个发票数据项对应的格式属性。再针对每个发票数据项,根据该发票数据项对应的格式属性,和电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式。最后,将电子发票数据中,每个发票数据项对应的发票内容,按照该发票数据项对应的目标格式填入OFD标准对应的发票模板,以生成符合OFD标准的电子发票。本公开可以直接根据电子发票数据中的每一个发票数据项的发票内容和格式属性,确定相应的目标格式,从而按照目标格式生成符合OFD标准的电子发票,无需预先建立多种模板,提高了符合OFD标准的电子发票的生成效率和数据格式的兼容性。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种电子发票的处理方法,其特征在于,所述方法包括:
获取待处理的电子发票数据;
根据所述电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,所述OFD格式信息包括每个所述发票数据项对应的格式属性,所述格式属性包括:字号属性、字体属性、相对位置属性、换行属性中的至少一种;
针对每个所述发票数据项,根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式;
将所述电子发票数据中,每个所述发票数据项对应的所述发票内容,按照该发票数据项对应的目标格式填入所述OFD标准对应的发票模板,以生成符合所述OFD标准的电子发票。
2.根据权利要求1所述的方法,其特征在于,所述根据所述电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,包括:
在所述OFD标准对应的标识数据集中,查找所述发票标识指示的至少一个所述发票数据项;
在所述标识数据集中,确定每个所述发票数据项对应的所述格式属性。
3.根据权利要求2所述的方法,其特征在于,在所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式之前,所述方法还包括:
确定所述发票模板中该发票数据项所占的空间大小;
所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式,包括:
根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式。
4.根据权利要求3所述的方法,其特征在于,所述根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式,包括:
根据该发票数据项对应的所述字号属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标字号;和/或,
根据该发票数据项对应的所述换行属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标行数。
5.根据权利要求3所述的方法,其特征在于,所述根据该发票数据项对应的所述格式属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的所述目标格式,包括:
根据该发票数据项对应的所述相对位置属性、该发票数据项所占的空间大小,和所述电子发票数据中,该发票数据项对应的所述发票内容的数据长度,确定所述目标格式中的目标坐标范围,所述相对位置属性包括:居中、左对齐、右对齐、上对齐、下对齐中的至少一种。
6.根据权利要求2或3所述的方法,其特征在于,所述根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的所述发票内容,确定该发票数据项的目标格式,包括:
根据该发票数据项对应的所述字体属性,确定所述目标格式中的目标字体;
根据所述电子发票数据中,该发票数据项对应的所述发票内容的数据类型,确定所述目标格式中的目标字节数。
7.一种电子发票的处理装置,其特征在于,所述装置包括:
获取模块,用于获取待处理的电子发票数据;
第一确定模块,用于根据所述电子发票数据中包括的发票标识和OFD标准,确定至少一个发票数据项和OFD格式信息,所述OFD格式信息包括每个所述发票数据项对应的格式属性,所述格式属性包括:字号属性、字体属性、相对位置属性、换行属性中的至少一种;
第二确定模块,用于针对每个所述发票数据项,根据该发票数据项对应的所述格式属性,和所述电子发票数据中,该发票数据项对应的发票内容,确定该发票数据项的目标格式;
生成模块,用于将所述电子发票数据中,每个所述发票数据项对应的所述发票内容,按照该发票数据项对应的目标格式填入所述OFD标准对应的发票模板,以生成符合所述OFD标准的电子发票。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块包括:
查找子模块,用于在所述OFD标准对应的标识数据集中,查找所述发票标识指示的至少一个所述发票数据项;
确定子模块,用于在所述标识数据集中,确定每个所述发票数据项对应的所述格式属性。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519972.3A CN112529643B (zh) | 2020-12-21 | 2020-12-21 | 电子发票的处理方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519972.3A CN112529643B (zh) | 2020-12-21 | 2020-12-21 | 电子发票的处理方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112529643A CN112529643A (zh) | 2021-03-19 |
CN112529643B true CN112529643B (zh) | 2024-05-28 |
Family
ID=75002162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011519972.3A Active CN112529643B (zh) | 2020-12-21 | 2020-12-21 | 电子发票的处理方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112529643B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263132A (en) * | 1990-09-28 | 1993-11-16 | Michael R. Parker | Method of formatting documents using flexible design models providing controlled copyfit and typeface selection |
CN105279139A (zh) * | 2015-11-30 | 2016-01-27 | 中国建设银行股份有限公司 | 一种表格信息展示规则配置与计算方法及系统 |
CN106779590A (zh) * | 2016-12-01 | 2017-05-31 | 百望电子发票数据服务有限公司 | 一种电子印章的生成方法以及系统 |
CN107092587A (zh) * | 2017-05-02 | 2017-08-25 | 山东浪潮通软信息科技有限公司 | 一种业务凭证生成方法及装置 |
CN108417245A (zh) * | 2018-02-22 | 2018-08-17 | 深圳中兴网信科技有限公司 | 健康档案电子化编辑方法、系统和计算机设备 |
CN108921627A (zh) * | 2018-06-07 | 2018-11-30 | 国信电子票据平台信息服务有限公司 | 一种生成电子发票ofd版式文件的方法及系统 |
CN109389786A (zh) * | 2017-08-14 | 2019-02-26 | 航天信息股份有限公司 | 一种发票打印方法及装置 |
CN110413954A (zh) * | 2019-07-29 | 2019-11-05 | 北京北大软件工程股份有限公司 | 制式文件打印预览方法、装置、设备和存储介质 |
CN111597771A (zh) * | 2019-02-21 | 2020-08-28 | 珠海金山办公软件有限公司 | 一种调整文档内容格式的方法、装置、电子设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080255864A1 (en) * | 2007-04-12 | 2008-10-16 | United Parcel Service Of America, Inc. | Method and computer program product for creating on demand commercial shipping invoices |
WO2014042976A2 (en) * | 2012-09-15 | 2014-03-20 | Numbergun Llc, A Utah Limited Liability Company | Flexible high-speed generation and formatting of application-specified strings |
JP6295541B2 (ja) * | 2013-08-09 | 2018-03-20 | オムロン株式会社 | 情報処理装置、プログラマブル表示器、データ処理方法、およびプログラム |
US10671796B2 (en) * | 2015-06-07 | 2020-06-02 | Apple Inc. | Article authoring, distribution and rendering architecture |
-
2020
- 2020-12-21 CN CN202011519972.3A patent/CN112529643B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263132A (en) * | 1990-09-28 | 1993-11-16 | Michael R. Parker | Method of formatting documents using flexible design models providing controlled copyfit and typeface selection |
CN105279139A (zh) * | 2015-11-30 | 2016-01-27 | 中国建设银行股份有限公司 | 一种表格信息展示规则配置与计算方法及系统 |
CN106779590A (zh) * | 2016-12-01 | 2017-05-31 | 百望电子发票数据服务有限公司 | 一种电子印章的生成方法以及系统 |
CN107092587A (zh) * | 2017-05-02 | 2017-08-25 | 山东浪潮通软信息科技有限公司 | 一种业务凭证生成方法及装置 |
CN109389786A (zh) * | 2017-08-14 | 2019-02-26 | 航天信息股份有限公司 | 一种发票打印方法及装置 |
CN108417245A (zh) * | 2018-02-22 | 2018-08-17 | 深圳中兴网信科技有限公司 | 健康档案电子化编辑方法、系统和计算机设备 |
CN108921627A (zh) * | 2018-06-07 | 2018-11-30 | 国信电子票据平台信息服务有限公司 | 一种生成电子发票ofd版式文件的方法及系统 |
CN111597771A (zh) * | 2019-02-21 | 2020-08-28 | 珠海金山办公软件有限公司 | 一种调整文档内容格式的方法、装置、电子设备及介质 |
CN110413954A (zh) * | 2019-07-29 | 2019-11-05 | 北京北大软件工程股份有限公司 | 制式文件打印预览方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
经济与管理科学》.2019,全文. * |
陈乃明.基于51盒子的电子发票开具推送系统的设计与实现.《中国优秀硕士论文 信息科技 * |
Also Published As
Publication number | Publication date |
---|---|
CN112529643A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717437B (zh) | 搜索结果展示方法、装置及存储介质 | |
CN109558525B (zh) | 一种测试数据集的生成方法、装置、设备和存储介质 | |
CN110414249B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN112486398A (zh) | 手写笔迹翻页效果的实现方法、电子设备及存储介质 | |
CN109271607A (zh) | 用户页面布局检测方法和装置、电子设备 | |
CN104375814A (zh) | 接口文档的生成方法及装置 | |
CN114500423A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN110134920B (zh) | 绘文字兼容显示方法、装置、终端及计算机可读存储介质 | |
CN112529643B (zh) | 电子发票的处理方法、装置、存储介质和电子设备 | |
CN112733510A (zh) | 一种财务凭证生成方法、装置、设备及计算机可读存储介质 | |
CN109614592B (zh) | 文本的处理方法、装置、存储介质和电子设备 | |
CN108734149B (zh) | 一种文本数据扫描方法和装置 | |
CN116303723A (zh) | 一种信息处理方法及装置 | |
CN108196921B (zh) | 单据开发方法、装置、计算机设备和存储介质 | |
CN106055416B (zh) | 数据跨应用转移的方法和装置 | |
CN113138760B (zh) | 一种页面生成方法、装置、电子设备和介质 | |
CN111831179B (zh) | 签约方法、装置及计算机可读介质 | |
CN114239501A (zh) | 合同生成方法、装置、设备及介质 | |
CN108647197B (zh) | 一种信息处理方法、装置及存储介质 | |
CN109840080B (zh) | 字符属性比较方法、装置、存储介质及电子设备 | |
CN112784527A (zh) | 一种文档合并方法、装置及电子设备 | |
CN111444716A (zh) | 标题分词方法、终端及计算机可读存储介质 | |
CN111078337A (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 |