CN113986822A - 一种增值税电子发票的格式转换方法及系统 - Google Patents
一种增值税电子发票的格式转换方法及系统 Download PDFInfo
- Publication number
- CN113986822A CN113986822A CN202111250287.XA CN202111250287A CN113986822A CN 113986822 A CN113986822 A CN 113986822A CN 202111250287 A CN202111250287 A CN 202111250287A CN 113986822 A CN113986822 A CN 113986822A
- Authority
- CN
- China
- Prior art keywords
- file
- invoice
- ofd
- value
- resource
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
Abstract
本发明实施例公开了一种增值税电子发票的格式转换方法及系统,通过服务的形式提供一个在线将OFD格式文件转换成PDF或者图片的方案,服务可以部署在公网或者内网,方便使用;并且可以在转换的同时提供OFD文件的相关信息如文件内的文字内容、签章内容、签章与内容是否符合等。
Description
技术领域
本发明实施例涉及电子发票格式转换技术领域,具体涉及一种增值税电子发票的格式转换方法及系统。
背景技术
随着专票电子化的时代来临,国家税务总局表示,增值税电子普通发票采用符合国家统一标准的OFD版式,但是打开OFD格式需要特殊的插件,比较繁琐。OFD文件的作用就是保证信息能如实的存储、传递、显示。保证OFD文件的真实性靠的是签名;OFD的显示需要专用软件。OFD标准是新的国家标准,应用范围远不如PDF;现有浏览器不能解析OFD、支持OFD显示的软件也寥寥无几。现有技术参照GBT 33190-2016《电子文件存储与交换格式版式文档》、GBT38540-2020《安全电子签章密码技术规范》、GMT 0031-2014《安全电子签章密码技术规范》、对象标识符(OID)白皮书-2015四个行业标准文件,只能借助插件或单独软件,将格式由OFD转为PDF及图片格式,造成操作繁琐,使用极不方便。
发明内容
为此,本发明实施例提供一种增值税电子发票的格式转换方法及系统,以解决现有OFD格式的增值税电子发票使用不便,应用范围有限,格式转换不便的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提出了一种增值税电子发票的格式转换方法,所述方法包括:
获取增值税电子发票的OFD文件;
根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像;
对所述电子签章进行验签;
根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件。
进一步地,根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像,具体包括:
根据解析得到的OFD文件的公共资源索引文件、自身资源索引文件以及发票每页的资源描述文件,获取发票资源文件,并将发票资源文件按照自建索引类缓存在内存中,所述发票资源文件包括字体、图片,对于图片类资源文件,则将其转换为二进制文件后存入内存。
进一步地,根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像,具体包括:
根据解析得到OFD文件的发票每页内容描述文件,对发票内容进行解析获取每页发票内容。
进一步地,根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像,具体包括:
根据解析得到的OFD文件的签名值文件获取印章数据结构体,根据印章数据结构体获取印章图像。
进一步地,根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件,具体还包括:
由所述内存中根据索引号获取资源文件并插入到图片或PDF格式文件的指定位置,若索引对应的为图片类资源文件,则由二进制转换为图片后插入到指定位置。
进一步地,根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件,具体还包括:
同时生成所述增值税电子发票票面内容的XML文件。
进一步地,所述每页发票内容具体包括文字内容、图像内容以及内容的大小、位置、变换方式等。
根据本发明实施例的第二方面,提出了一种增值税电子发票的格式转换系统,所述系统包括:
OFD文件获取模块,用于获取增值税电子发票的OFD文件;
OFD文件解析模块,用于根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像;
验签模块,用于对所述电子签章进行验签;
图片或PDF生成模块,用于根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件。
根据本发明实施例的第三方面,提出了一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种增值税电子发票的格式转换系统执行如上任一项所述的方法。
本发明实施例具有如下优点:
本发明实施例提出的一种增值税电子发票的格式转换方法及系统,通过服务的形式提供一个在线将OFD格式文件转换成PDF或者图片的方案,服务可以部署在公网或者内网,方便使用;并且可以在转换的同时提供OFD文件的相关信息如文件内的文字内容、签章内容、签章与内容是否符合等。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例1提供的一种增值税电子发票的格式转换方法的流程示意图;
图2为OFD文件层次组织结构示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提出了一种增值税电子发票的格式转换方法,该方法包括:
S100、获取增值税电子发票的OFD文件。
本实施例使用.net core实现,使用了部分开源框架JBig2Decoder.NETCore、iTextSharp.LGPLv2.Core、CoreCompat.Asn1Net.Reader。
通过服务的形式提供一个在线将OFD格式文件转换成PDF或者图片的方案,服务可以部署在公网或者内网。在收到一个OFD文件后,判断为OFD格式后,通过webapi接口发送到服务端进行解析和格式转换处理。
S200、根据OFD文件层次组织结构,解析OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像。
参照GBT 33190-2016《电子文件存储与交换格式版式文档》中OFD文件层次组织结构,如图2所示,具体结构内容说明如下:
根据解析得到的OFD文件的公共资源索引文件PublicRes.xml、自身资源索引文件DocumentRes.xml以及发票每页的资源描述文件PageRes.xml,获取发票资源文件,并将发票资源文件按照自建索引类缓存在内存中,发票资源文件包括字体、图片,对于图片类资源文件,则将其转换为二进制文件后存入内存。
具体的,对应以上文件结构创建实体类。根据根节点文件Document.xml的CommonData字段,获取资源文件列表(通常为PageRes.xml,PublicRes.xml,DocumentRes.xml)并将公共资源文件列表中指定路径的文件存入自建索引类,缓存在内存中,例如将KaiTi字体存入索引,索引编号为61。
根据解析得到OFD文件的发票每页内容描述文件,对发票内容进行解析获取每页发票内容。每页发票内容具体包括文字内容、图像内容以及内容的大小、位置、变换方式等。
具体的,根据Document.xml文件的Page字段,获取page文件指定路径的Content.xml文件,并解析该文件的文字内容,图像内容以及该内容的大小,位置,变换方式等等。
根据解析得到的OFD文件的签名值文件获取印章数据结构体,根据印章数据结构体获取印章图像。
具体的,根据GBT38540-2020《安全电子签章密码技术规范》、GMT0031-2014《安全电子签章密码技术规范》解析SignedValue.dat文件,根据印章结构获取印章图像。印章信息的数据结构包括印章头、印章标识、印章属性、印章图像数据以及自定义数据。
S300、对电子签章进行验签。
获取电子印章,通过对应的加解密算法(对应OID的密码标准标识列表)对电子印章中的内容和文件的摘要进行对比,判断该文件是否被修改过。具体的,根据OFD.xml文件的Signatures字段找到对应的签名文件SignedValue.dat和签名摘要Signature.xml。假如获取到所采用的加解密算法的OID为1.2.156.10197.1.501,根据对象标识符(OID)白皮书-2015可以知道1.2.156.10197.1.501对应的是基于SM2算法和SM3算法的签名。应用SM3算法对PublicRes.xml进行处理得到的结果与CheckValue中的值进行比对,如果一致证明文件未被修改。
S400、根据发票资源文件、每页发票内容以及印章图像生成增值税电子发票的图片或PDF格式文件。
将获得的发票内容信息绘制到图片中或者pdf文件中。由内存中根据索引号获取资源文件并插入到图片或PDF格式文件的指定位置,若索引对应的为图片类资源文件,则由二进制转换为图片后插入到指定位置。例如发票内容为“大连增值税电子普通发票”,字体为索引编号61的字体KaiTi,颜色为rgb(156 82 35)等等。
该方法具体还包括:同时生成增值税电子发票票面内容的XML文件。将OFD文件文字内容的XML和转换后的(PDF/图片)文件同时返回给用户,并返回json格式数据。
本发明实施例通过服务的形式提供一个在线将ofd转换成pdf或者图片的方案,并且服务可以部署在公网或者内网,方便使用。可以在转换的同时提供ofd的相关信息如文件内的文字内容,签章内容,签章与内容是否符合。本发明通过服务的形式提供一个在线将ofd转换成pdf或者图片的方案,并且服务可以部署在公网或者内网,方便使用。可以在转换的同时提供ofd的相关信息如文件内的文字内容,签章内容,签章与内容是否符合。
实施例2
与上述实施例1相对应的,本实施例提出了一种增值税电子发票的格式转换系统,所述系统包括:
OFD文件获取模块,用于获取增值税电子发票的OFD文件;
OFD文件解析模块,用于根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像;
验签模块,用于对所述电子签章进行验签;
图片或PDF生成模块,用于根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件。
本发明实施例提供的一种增值税电子发票的格式转换系统中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。
实施例3
与上述实施例相对应的,本实施例提出了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种增值税电子发票的格式转换系统执行如实施例1的方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (9)
1.一种增值税电子发票的格式转换方法,其特征在于,所述方法包括:
获取增值税电子发票的OFD文件;
根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像;
对所述电子签章进行验签;
根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件。
2.根据权利要求1所述的一种增值税电子发票的格式转换方法,其特征在于,根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像,具体包括:
根据解析得到的OFD文件的公共资源索引文件、自身资源索引文件以及发票每页的资源描述文件,获取发票资源文件,并将发票资源文件按照自建索引类缓存在内存中,所述发票资源文件包括字体、图片,对于图片类资源文件,则将其转换为二进制文件后存入内存。
3.根据权利要求1所述的一种增值税电子发票的格式转换方法,其特征在于,根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像,具体包括:
根据解析得到OFD文件的发票每页内容描述文件,对发票内容进行解析获取每页发票内容。
4.根据权利要求1所述的一种增值税电子发票的格式转换方法,其特征在于,根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像,具体包括:
根据解析得到的OFD文件的签名值文件获取印章数据结构体,根据印章数据结构体获取印章图像。
5.根据权利要求2所述的一种增值税电子发票的格式转换方法,其特征在于,根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件,具体还包括:
由所述内存中根据索引号获取资源文件并插入到图片或PDF格式文件的指定位置,若索引对应的为图片类资源文件,则由二进制转换为图片后插入到指定位置。
6.根据权利要求1所述的一种增值税电子发票的格式转换方法,其特征在于,根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件,具体还包括:
同时生成所述增值税电子发票票面内容的XML文件。
7.根据权利要求1所述的一种增值税电子发票的格式转换方法,其特征在于,所述每页发票内容具体包括文字内容、图像内容以及内容的大小、位置、变换方式等。
8.一种增值税电子发票的格式转换系统,其特征在于,所述系统包括:
OFD文件获取模块,用于获取增值税电子发票的OFD文件;
OFD文件解析模块,用于根据OFD文件层次组织结构,解析所述OFD文件,获取发票资源文件、每页发票内容、电子签章以及印章图像;
验签模块,用于对所述电子签章进行验签;
图片或PDF生成模块,用于根据所述发票资源文件、每页发票内容以及印章图像生成所述增值税电子发票的图片或PDF格式文件。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种增值税电子发票的格式转换系统执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111250287.XA CN113986822A (zh) | 2021-10-26 | 2021-10-26 | 一种增值税电子发票的格式转换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111250287.XA CN113986822A (zh) | 2021-10-26 | 2021-10-26 | 一种增值税电子发票的格式转换方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986822A true CN113986822A (zh) | 2022-01-28 |
Family
ID=79741895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111250287.XA Pending CN113986822A (zh) | 2021-10-26 | 2021-10-26 | 一种增值税电子发票的格式转换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986822A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361146A (zh) * | 2022-10-24 | 2022-11-18 | 中安网脉(北京)技术股份有限公司 | 一种兼容多种密码算法的电子印章系统及方法 |
CN116340271A (zh) * | 2023-05-26 | 2023-06-27 | 福昕鲲鹏(北京)信息科技有限公司 | 开放版式文档的打开方法、装置、电子设备及存储介质 |
-
2021
- 2021-10-26 CN CN202111250287.XA patent/CN113986822A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361146A (zh) * | 2022-10-24 | 2022-11-18 | 中安网脉(北京)技术股份有限公司 | 一种兼容多种密码算法的电子印章系统及方法 |
CN115361146B (zh) * | 2022-10-24 | 2023-03-10 | 中安网脉(北京)技术股份有限公司 | 一种兼容多种密码算法的电子印章系统及方法 |
CN116340271A (zh) * | 2023-05-26 | 2023-06-27 | 福昕鲲鹏(北京)信息科技有限公司 | 开放版式文档的打开方法、装置、电子设备及存储介质 |
CN116340271B (zh) * | 2023-05-26 | 2023-11-03 | 福昕鲲鹏(北京)信息科技有限公司 | 开放版式文档的打开方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7623710B2 (en) | Document content and structure conversion | |
US8621222B1 (en) | Archiving electronic content having digital signatures | |
CN113986822A (zh) | 一种增值税电子发票的格式转换方法及系统 | |
CN106598930A (zh) | 一种基于版式文件的电子证照处理方法 | |
CN107704479B (zh) | 文件生成方法和装置 | |
US6801673B2 (en) | Section extraction tool for PDF documents | |
CN107992759B (zh) | 实现电子印章的装置、方法及计算机可读存储介质 | |
JP2008527937A (ja) | 電子文書に署名情報を追加するための方法および装置 | |
AU2012367230A1 (en) | Hierarchical information extraction using document segmentation and optical character recognition correction | |
KR100727066B1 (ko) | 동적 템플릿을 이용한 무선 웹 페이지 제공 방법 및 장치 | |
US20060075334A1 (en) | Information processing apparatus, history file generation method and program | |
US20140032912A1 (en) | Trust context for document signatures | |
CN114818618B (zh) | 一种基于签名加密的文档编辑的方法和系统及介质 | |
WO2020015220A1 (zh) | 基于pdf文档的数据下载方法及装置、存储介质、终端 | |
CN111539000B (zh) | 一种基于pdf文档的简化电子签名流程的方法、系统及装置 | |
US8484555B2 (en) | Electronic document control apparatus, method, program and system | |
US20040168064A1 (en) | System of generating procedure for digital signature and encryption to XML | |
US10956659B1 (en) | System for generating templates from webpages | |
CN102117389A (zh) | Word文件签署方法及系统 | |
CN113297425B (zh) | 文档转换方法、装置、服务器及存储介质 | |
CN115407971A (zh) | 软件制品生成方法及装置 | |
CN113948164A (zh) | 临床药品管理方法、装置、设备及计算机可读存储介质 | |
CN111159733A (zh) | 一种具有防获取功能的矢量签名的方法 | |
WO2021008556A1 (zh) | 在电子文件上修改表单数据的方法和装置 | |
CN112818642B (zh) | 将pdf文件转换成表格文件的方法、装置及计算机设备及存储介质 |
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 |