企业编码生成系统实现条形码输出

一 代码

#  条形码EAN13批量生成函数
def scode7(schoice):
    mainid = inputbox("\033[1;32m     请输入EN13的国家代码(3位) :\33[0m", 3, 3)  # 输入3位国家代码
    # while int(mainid) < 1 or len(mainid) != 3:   # 验证输入是否为3位数字(转为整数后小于1和长度不等于3,重新输入)
    #     mainid = inputbox("\033[1;32m     请输入EAN13的国家代码(3位)::\33[0m", 1, 0)
    compid = inputbox("\033[1;32m     请输入EAN13的企业代码(4位):\33[0m", 3, 4)  # 输入4位企业代码
    # while int(compid) < 1 or len(compid) != 4:   # 验证输入是否为4位数字
    #     compid = inputbox("\033[1;32m     请输入EAN13的企业代码(4位):\33[0m", 1, 0)
    incount = inputbox("\033[1;32m     请输入要生成的条形码数量:\33[0m", 1, 0)  # 输入要生成的条形码数量
    while int(incount) == 0:  # 输入信息转为整数后等于0,重新输入
        incount = inputbox("\033[1;32m     请输入要生成的条形码数量:\33[0m", 1, 0)
    mkdir("barcode")  # 判断保存条形码的文件夹是否存在,不存在,则创建该文件夹
    for j in range(int(incount)):  # 批量生成条形码
        strone = ''  # 清空存储单条条形码的变量
        for i in range(5):  # 生成条形码的6位(除国家代码、企业代码和校验位之外的6位)数字
            strone = strone + str(random.choice(number))
        barcode = mainid + compid + strone  # 把国家代码、企业代码和新生成的随机码进行组合
        # 计算条形码的校验位
        evensum = int(barcode[1]) + int(barcode[3]) + int(barcode[5]) + int(barcode[7]) + int(barcode[9]) + int(
            barcode[11])  # 偶数位
        oddsum = int(barcode[0]) + int(barcode[2]) + int(barcode[4]) + int(barcode[6]) + int(barcode[8]) + int(
            barcode[10])
        # checkbit=int(10-(evensum *3 + oddsum)%10)
        checkbit = int((10 - (evensum * 3 + oddsum) % 10) % 10)
        barcode = barcode + str(checkbit)  # 组成完整的EAN13条形码的13位数字
        print(barcode)
        encoder = EAN13Encoder(barcode)  # 调用EAN13Encoder生成条形码
        encoder.save("barcode\\" + barcode + ".png")  # 保存条形码信息图片到文件

二 运行

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/94883088
今日推荐