python实现发票二维码解析
通过发票左上角的二维码信息,获取发票的关键信息,只需将图片格式的电子发票或扫描后的发票图片传入即可.
测试结果如下:
- 增值税电子普通发票:
{'发票代码': '031xxxxxx311', '发票号码': '74xxxx17', '不含税金额': '13665.98', '开票日期': '20210119', '校验码': '1687xxxxxxxxxx768'} - 增值税专用发票:
{'发票代码': '310xxxxx130', '发票号码': '53xxxx64', '不含税金额': '2949.02', '开票日期': '20210614', '校验码': ''}
from pyzbar import pyzbar
from PIL import Image
def parse_invoice_info(picture):
"""
发票二维码解析,获取关键信息
:param picture: 发票图片
:return: dict
"""
invoice_info = {}
img = Image.open(picture)
# 解析二维码的数据
results = pyzbar.decode(img)
for result in results:
text_list = result.data.decode('utf-8').split(',')
invoice_info['发票代码'] = text_list[2]
invoice_info['发票号码'] = text_list[3]
invoice_info['不含税金额'] = text_list[4]
invoice_info['开票日期'] = text_list[5]
invoice_info['校验码'] = text_list[6]
return invoice_info
python实现发票二维码解析的更多相关文章
- 二维码解析:使用 JavaScript 库reqrcode.js解析二维码
上次使用QRCode.js可以来生成二维码,但是我没有找到有文档说明可以对存在的二维码进行扫描解析其中的内容. 幸亏查找到了可行的解决方案,而且很好使哦!就是reqrcode.js 地址:https: ...
- 二维码解析(编译zxing-cpp)
二维码解析使用的类库是zxing(官网 https://github.com/zxing/zxing). 这个类库是谷歌的,原来有c++版本,后来的更新去掉了,zxing介绍了目前基于zxing的其他 ...
- 一次使用Python连接数据库生成二维码并安装为windows服务的工作任务
最近有一个需求,在现有生产系统上的人员库中增加一个此人员关键信息的二维码,支持文字版和跳转版两种方式,与报表工具关联,可打印.以windows服务方式,定时检查,只要发现某人员没有此二维码信息,就生成 ...
- 使用python玩转二维码!速学速用!⛵
作者:韩信子@ShowMeAI Python3◉技能提升系列:https://www.showmeai.tech/tutorials/56 本文地址:https://showmeai.tech/art ...
- java 二维码解析和生成
package ykxw.web.qrcode.utils; import java.awt.Color; import java.awt.Graphics2D; import java.awt.im ...
- Zxing二维码解析——图文转换
一:文字转化为二维码图片. package com.xhm.tool; import java.util.Hashtable; import android.graphics.Bitmap; impo ...
- ZXing 二维码解析生成工具类
原文:http://www.open-open.com/code/view/1455848023292 import com.google.zxing.*; import com.google.zxi ...
- Python制作动态二维码只需要一行代码!炒鸡简单!
分享一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. 用法比较简单,直接通过pip安装即可. pip3 install myq ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- python生成个性二维码学习笔记
在linux环境下进行编码 1.先进家目录,自行创建Code文件夹 cd Code 2.下载MyQR库 sudo pip3 install MyQR 3.下载所需资源文件并解压 Code/ $ wge ...
随机推荐
- NET-Core利用etag进行浏览器缓存
title: .NET Core浏览器缓存方案 date: 2022-12-02 14:17:36 tags: - .NET 缓存介绍及方案 在后端开发中经常会使用缓存来提高接口的响应速度,降低系统的 ...
- redisConfig+redisUtil开箱即用
RedisConfig @Configuration public class RedisConfig { //编写redisTemplate //固定模板,开箱即用 @Bean public Red ...
- java入门与进阶 P-2.7+P-3.1
判断语句常见错误 忘了大括号 永远在if和else后面加上大括号,即使当时后面只有一条语句 if后面的分号 错误使用== 和= if只要求()里面的值是零或者非零 = 是赋值 == 是判断是否相同 代 ...
- 通过URL地址将图片保存到本地
今天一朋友问我如何通过URL地址将图片保存下来. 特地找了些资源,实现了一下代码: using System; using System.Drawing; using System.Drawing.I ...
- 基于 Hugging Face Datasets 和 Transformers 的图像相似性搜索
基于 HuggingFace Datasets 和 Transformers 的图像相似性搜索 通过本文,你将学习使用 Transformers 构建图像相似性搜索系统.找出查询图像和潜在候选图像之间 ...
- ubuntu20.04安装systemback
sudo add-apt-repository --remove ppa:nemh/systemback sudo apt-key adv --keyserver keyserver.ubuntu.c ...
- 微信小程序更新机制
微信小程序更新机制的说明 官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechan ...
- xshell连接时显示“服务器发送了一个意外的数据包。received:3,expected:20“问题的解决方法
xshell连接时显示"服务器发送了一个意外的数据包.received:3,expected:20"问题的解决方法 解决方法:在/etc/ssh/sshd_config最后增加以下 ...
- ctfshow_web入门 命令执行
命令执行 刚刚开始学习命令执行,萌新一个 因为是学习嘛,所以东西写的杂乱了 web 29 error_reporting(0); if(isset($_GET['c'])){ $c = $_GET[' ...
- Iceberg 数据治理及查询加速实践
数据治理 Flink 实时写入 Iceberg 带来的问题 在实时数据源源不断经过 Flink 写入的 Iceberg 的过程中,Flink 通过定时的 Checkpoint 提交 snapshot ...