首页 > 编程知识 正文

python制作发票扫描系统(扫描发票软件)

时间:2023-11-29 19:40:50 阅读:310514 作者:EMWF

本文目录一览:

  • 1、PYTHON如何调取OCR识别模块识别发票并输出到EXCLE?
  • 2、怎么生成二维码,支持开发票扫描
  • 3、python提取发票信息发票识别
  • 4、怎么扫描增值税发票?

PYTHON如何调取OCR识别模块识别发票并输出到EXCLE?

import qqai

from os import path

from win32com.client import Dispatch

import os

from datetime import datetime

def file_path():

global path_this_file

path_this_file = path.abspath('.') + "\"

global path_excel

path_excel = path_this_file + '信息导出.xlsx'

global path_pic_file

path_pic_file = path_this_file + '照片'

def get_pic_name():

pic_list = []

for pic in os.listdir(path_pic_file):

pic_path = path_pic_file + '\' + pic

pic_list.append(pic_path)

return pic_list

def HandwritingOCRImage(filename):

robot = qqai.vision.ocr.HandwritingOCR(app_id, app_key)

useless_list = ['登记表']

value_list = []

with open(filename, 'rb') as image_file:

result = robot.run(image_file)

item_list = result['data']['item_list']

for value in item_list:

words= value['itemstring']

if words in useless_list:

continue

else:

value_list.append(words)

return value_list

def get_useful_list(value_list):

key_list = ['姓名', '性别', '出生日期', '国家/地区', '民族', '职业', '手机号码', '固定电话', '证件类型', '证件有效期限', '证件号码', '通讯地址', '邮编']

useful_list = []

for words in value_list:

if words in key_list:

key_index = value_list.index(words)

next_index = key_index + 1

if value_list[next_index] in key_list:

useful_list.append('')

else:

if words == '证件号码':

ID_NUM = "'" + str(value_list[next_index]) #这边是为了避免科学计数法的问题

useful_list.append(ID_NUM)

else:

useful_list.append(value_list[next_index])

else:

continue

return useful_list

def put_into_excel(useful_list):

xl = Dispatch("Excel.Application")

xl.Visible = False # True是显示, False是隐藏

xl.DisplayAlerts = 0

excel_input = xl.Workbooks.Open(path_excel)

sheet = excel_input.Sheets('Sheet1')

max_row = sheet.UsedRange.Rows.Count

values = len(useful_list)

for i in range(values):

sheet.Cells(max_row + 1, i + 1).Value = str(useful_list[i])

excel_input.Save()

excel_input.Close()

xl.quit()

starttime = datetime.now()

"""腾讯AI开放平台 图片识别"""

app_id = '2110179251'

app_key = '******'

"""app_id , app_key 可以自己去腾讯AI开放平台注册,是免费的"""

file_path()

pic_list = get_pic_name()

for filename in pic_list:

value_list =HandwritingOCRImage(filename)

useful_list = get_useful_list(value_list)

put_into_excel(useful_list)

endtime = datetime.now()

total_time = (endtime - starttime).seconds

print("成功录入信息{}条,总共耗时{}秒!".format(len(pic_list),total_time))

怎么生成二维码,支持开发票扫描

可以安装一个扫码通开票软件,配合一个小票打印机就能实现让客户自己扫描二维码开具发票。

安装好的软件先维护好系统信息,当客户消费完之后,商家只需在系统中输入消费经额,点击打印,就能打印出一张带有二维码的小票,商家只需将小票交给客户,客户利用自己微信或是支付宝扫一扫,填入自己的名称和税号,就可以自己完成扫码开具发票。开具的发票也会自动保存到客户的微信卡包里或者支付宝卡包里,对于商家和客户都非常便利。

python提取发票信息发票识别

自己写吗?有点麻烦;开发成本很高,而且接口也不好找。我们公司也有IT团队,本来想着自己开发,后来一算划不来。现在用的费耘发票系统,都是成熟模块,直接集成在公司OA上,现在人员报销自己录发票,手机扫一下信息就录到系统中,我们财务账号这边就能体现完整的台账信息还有电子发票原件,非常方便。

怎么扫描增值税发票?

1、扫描操作:连接好扫描仪,点击认证系统,进去后点击发票录入,然后打开扫描仪的盖子,把需要认证的发票扣在扫描仪的最下面(背面向上),同时注意发票扣在最下面也要注意发票的方向,应该是发票的抬头在朝向扫描仪的最下面边框。放好发票后即点击扫描录入。即生成一个待认证的信,然后逐张扫描。都完成后,退出发票录入,点击上传税务认证,然后等待认证结果,大概过几分钟即可点击接收认证结果。

大概有些需要注意的,扫描时候发票的方向正确很重要,接收认证结果后,如有没有通过认证的发票,最好手工更改错误信息,因为只能上传两次,超过2次就要拿发票去税务认证了。另外认证的时间最好不要在月底那天,最好可以提前。月底系统认证时间比较长,而且出问题也没有太多时间更改。接收认证结果后,要等到月初时候才可以打印出文字的认知通知书来,月底前打印出来的是乱码,只要看认证结果正确即可。

2、你补充的问题还没有遇到过,不能帮你。

以上小弟拙见,希望对你有帮助!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。