发票解析器,OFD专用电子发票及PDF普通电子发票-批量解析V1.5。

使用的程序语言

  1)、python

  2)、使用到的主要第三方包:

            Excel读写:xlrd、xlutils、

            PDF文件读取及信息提取:pdfplumber、re、matplotlib(调试时可视化用)

            OFD文件读取及信息提取:zipfile、xml.dom.minidom

3、主要思路

  1)、PDF发票提取

            ①、使用pdfplumber读取pdf文件中的txt,使用re匹配关键字,提取绝大部分字段的信息(各pdf发票格式差异较大,需要使用多种匹配方式去提取)

            ②、使用pdfplumber读取pdf中的lines、edges、curves等,算出pdf中的表格定位点(各pdf差异较大,需要去尝试多种方案),再通过定位点,在pdf中提取特定区域的文字(比如,备注,货物清单)

  2)、OFD发票提取

            ①、OFD是压缩文件,使用zipfile解压

            ②、使用xml.dom.minidom读取解压后的Doc_0/Attachs/original_invoice.xml等xml文件,提取信息

  3)、Excel写入

            ①、使用xlrd读取模板Excel文件,使用xlutils复制格式等

4、功能介绍

  1)、提取的信息

字段 说明 字段 说明
文件名   价税合计  
文件类型 PDF/OFD 税额合计  
发票标题   不含税金额  
文件ID OFD才有 备注  
发票代码   开票人  
发票号码   收款人  
发票类型代码 OFD才有 复核人  
开票日期   二维码中的值 OFD才有
校验码   货物清单 1、每一行对应一种货物
2、每个字段使用 ψ 分割
3、每行的字段顺序如下:
序号,项目名称,规格型号,单位,数量,单价,金额,税率,税额
机器编号  
密码区  
购买方名称   销售方名称  
购买方纳税人识别号   销售方纳税人识别号  
购买方地址、电话   销售方地址、电话  
购买方开户行及账号   销售方开户行及账号  

  2)、未提取的信息

            ①、PDF发票,若货物清单在第二页的,目前没有提取

            ①、PDF发票。目前已知部分发票无法正确提取 备注 和 货物清单(实在是太麻烦了,不想适配了)。

5、其他说明

  1)、OFD发票测试样本太少,可能存在解析不了的

  2)、部分字段可能存在提取不正确或缺失

  3)、遇到提取失败或者部分字段提取失败的,可以联系我,并提交对应文件给我,我可以调试下。

  4)、使用说明,请下载后看 使用说明.txt。或者看第一篇文章。

截图演示

发票解析器,OFD专用电子发票及PDF普通电子发票-批量解析V1.5

下载地址

https://pan.baidu.com/s/1siuXDXsNiY2au7Whb3Db7g 提取码:0rky
https://pan.baidu.com/s/17ahUHnAN3m2cW3r1nGH47g 提取码:ndrj

分享不易,请支持本站其他资源

埃及手机话费快速充值:http://www.globalrecharge.cn/
全球手机话费/流量查询教程:http://qa.globalrecharge.cn/
全球话费充值:http://mobile.globalrecharge.cn/
新版axureshop产品原型网:http://www.axureshops.com
AxureShop商城:http://axure.amynik.com/
情趣商城:http://sex.chanpindashi.com/
Axure工具集下载:http://www.chanpindashi.com/2019/12/02/1997.html
产品大师:http://www.chanpindashi.com/
源码商城:http://mall.amynik.com/list/1
axureshop产品原型网(旧版停止更新):http://axureshop.amynik.com/
产品经理论坛:http://bbs.amynik.com
淘宝优惠券:http://taobao.chanpindashi.com/
京东优惠券:http://jd.chanpindashi.com/?chanpindashi.com
艾美图纸网:http://tuzhi.amynik.com/

最后编辑:2021年01月13日 ©著作权归作者所有

发表评论

×