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
    评论
# Python QR-Code 二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式, 它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的 图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制 相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的 一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动 识别功能、及处理图形旋转变化点。 - 堆叠式/行排式 (1)编码原理:建立在一维条码基础之上,按需要堆积成二行或多行。 (2)有代表性的行排式二维条码有:Code 16K、Code 49、PDF417、MicroPDF417 等。 - 矩阵式二维码 (1)编译原理:它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上, 用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确 定了矩阵式二维条码所代表的意义。 (2)具有代表性的矩阵式二维条码有:Code One、MaxiCode、QR Code、 Data Matrix、Han Xin Code、 Grid Matrix 等。 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值