Python生成 一维条码

可以进入官方第三方文档去具体查看学习https://pypi.org/project/python-barcode/



条码库python-barcode

首先需要安装barcode包,在安装barcode包的过程中可能会碰到类似问题
解决方法很简单:去搜索python-barcode
原因可能是解释器的版本对不上
在这里插入图片描述
在这里插入图片描述




一维条码

python-barcode支持的条形码

  • EAN-8
  • EAN-13
  • EAN-14
  • UPC-A
  • JAN
  • ISBN-10
  • ISBN-13
  • ISSN
  • Code 39
  • Code 128
  • PZN



一维条码的生成(以EAN13、EAN8为例)

import barcode  # 引入条码库barcode—python

EAN_13 = barcode.get_barcode_class('ean13')  # 获取一维条码EAN13对象
EAN_8 = barcode.get_barcode_class('ean8')  # 获取一维条码EAN8对象

# ean13:输入12位数 最后一位会通过校验自动生成
# ean8:输入7位数 最后一位会通过校验自动生成
'''
少输入会报错,多输入只会优先取前面的数
(需要12位,输入了13位,仍取前12位,结果不变)
'''
ean_13 = EAN_13('692015246102')  # 生成一维条码
ean_8 = EAN_8('6920152')

ean_13.save('T_1')  # 保存条形码(SVG格式)
ean_8.save('T_2')

默认的保存格式都是SVG
在这里插入图片描述

生成结果

EAN13
在这里插入图片描述


EAN8
在这里插入图片描述

校验码的计算:
1-3位:国家代码。690~695为中国,其中693为中外合资;471为台湾,489为香港,958为澳门。其他国家的请查阅EAN国家代码说明。
4-7位:厂商代码
8-12位:产品代码

校验计算步骤如下:
奇数位和 = N1 + N3 + N5 + N7 + N9 + N11 (奇数位数值相加,校验位本身除外)
偶数位和 = N2 + N4 + N6 + N8 + N10 + N12(偶数位的数值相加)
奇数位和 + 偶数位和的三倍 = 结果
C = 结果取个位数
校验码 = 10 – C

例:692015246102
692 表示 国家代码
0152 表示 商代码
46102 表示 产品代码
校验符的计算过程:
奇数位和:6 + 2 + 1 + 2 + 6 + 0 = 17
偶数位和:9 + 0 + 5 + 4 + 1 + 2 = 21
奇数位和 + 偶数位和的三倍:17 + 21 * 3 = 80
C = 0(80的个位数为0)
校验码 = 10 - 0 (若为校验码为10,则视为0)
所以校验码为0




一维条码保存为图片格式(PNG)

import barcode  # 引入条码库barcode—python
from barcode.writer import ImageWriter  # 引入一位条码库写模块

EAN_13 = barcode.get_barcode_class('ean13')  # 获取一维条码EAN13对象

ean2 = EAN_13('692015246102', writer=ImageWriter())  # 添加条码写格式对象
ean2.save('T_2_1')

生成结果
在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值