python實現發票二維碼解析


通過發票左上角的二維碼信息,獲取發票的關鍵信息,只需將圖片格式的電子發票或掃描后的發票圖片傳入即可.
測試結果如下:

  • 增值稅電子普通發票:{'發票代碼': '031******311', '發票號碼': '74****17', '不含稅金額': '13665.98', '開票日期': '20210119', '校驗碼': '1687***********768'}
  • 增值稅專用發票:{'發票代碼': '310****130', '發票號碼': '53****64', '不含稅金額': '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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM