Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)
条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,以及生成二维码。
Python条码库
本文需要用到 Spire.Barcode for Python 库,该库支持生成、识别各类一维和二维条码,包括 EAN, UPC, Code128, Code39, QR Code, Data Matrix 等,满足各种应用需求。此外还提供了丰富的接口来自定义条码图片的边框样式、颜色、边距等属性。
该Python条码生成库可以通过 pip轻松安装:
pip install Spire.Barcode
生成条码的类、方法简介
要使用Spire.Barcode for Python库生成条码,主要会用到以下类、属性、方法:
- BarcodeSettings 类:用于条码生成的各项设置。支持设置条码类型、数据、背景色、宽高度、边距、分辨率等。
- BarcodeSettings.Type 属性:设置条码类型。
- BarcodeSettings.Data 属性:设置条码数据。
- BarcodeSettings.Data2D 属性:设置二维码文本。
- BarcodeGenerator 类:用于条码渲染。
- BarcodeGenerator.GenerateImage() 方法:用于生成条码图片。
Python 生成 Code128码
from spire.barcode import * def WriteAllBytes(fname: str, data):
with open(fname, "wb") as fp:
fp.write(data)
fp.close() # 创建BarcodeSettings对象
barcodeSettings = BarcodeSettings() # 将条码类型设置为Code128
barcodeSettings.Type = BarCodeType.Code128 # 设置条码数据
barcodeSettings.Data = "XD00555" # 设置Code128条形码的代码集
barcodeSettings.Code128SetMode = Code128SetMode.Auto # 创建BarCodeGenerator对象
barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成条码图片
barcodeimage = barCodeGenerator.GenerateImage()
WriteAllBytes("Code128.png", barcodeimage)
条码图:

Python 生成 EAN-13码
from spire.barcode import * def WriteAllBytes(fname: str, data):
with open(fname, "wb") as fp:
fp.write(data)
fp.close() # 创建BarcodeSettings对象
barcodeSettings = BarcodeSettings() # 将条码类型设置为EAN13
barcodeSettings.Type = BarCodeType.EAN13 # 设置条码数据
barcodeSettings.Data = "5019632805254" # 创建BarCodeGenerator对象
barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成条码图片
barcodeimage = barCodeGenerator.GenerateImage()
WriteAllBytes("EAN13.png", barcodeimage)
条码图:

Python 生成二维码 QR Code
from spire.barcode import * def WriteAllBytes(fname:str,data):
fp = open(fname,"wb")
fp.write(data)
fp.close() # 创建BarcodeSettings对象
barcodeSettings = BarcodeSettings() # 将条码类型设置为QR Code
barcodeSettings.Type = BarCodeType.QRCode # 设置背景颜色
barcodeSettings.BackColor = Color.get_WhiteSmoke() # 设置QR Code的编码模式
barcodeSettings.QRCodeDataMode = QRCodeDataMode.Byte # 设置纠错等级(ECL)
barcodeSettings.QRCodeECL = QRCodeECL.M # 设置是否在二维码底部显示文本
barcodeSettings.ShowTextOnBottom = True # 设置分辨率
barcodeSettings.DpiX = 500
barcodeSettings.DpiY = 500 # 设置二维码数据
barcodeSettings.Data2D = "Hello, World" # 创建BarCodeGenerator对象
barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成二维码图片
barcodeimage = barCodeGenerator.GenerateImage()
WriteAllBytes("QRCode.png", barcodeimage)
条码图:

– 测试过程中遇到的问题可前往论坛交流。
– 对于所生成条码上的水印,可以由此申请1个月试用授权来移除:https://www.e-iceblue.cn/misc/temporary-license.html
Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)的更多相关文章
- Python 生成个性二维码
1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- python笔记 利用python 自动生成条形码 二维码
1. ean13标准条形码 from pystrich.ean13 import EAN13Encoder encode = EAN13Encoder(') encode.save('d:/barco ...
- python生成个性二维码学习笔记
在linux环境下进行编码 1.先进家目录,自行创建Code文件夹 cd Code 2.下载MyQR库 sudo pip3 install MyQR 3.下载所需资源文件并解压 Code/ $ wge ...
- vue生成条形码/二维码/带logo二维码
条形码:https://blog.csdn.net/dakache11/article/details/83749410 //安装 cnpm install @xkeshi/vue-barcode / ...
- Android应用--QR的生成(二维码)
二维码的定义: 二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的. 在许多种类的二维条码中,常用的码制 ...
- Python | 一行命令生成动态二维码
当我看到别人的二维码都做的这么炫酷的时候,我心动了! 我也想要一个能够吸引眼球的二维码,今天就带大家一起用 Python 来做一个炫酷的二维码! 首先要安装工具 myqr: pip install m ...
- python小工具myqr生成动态二维码
python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...
- 使用python玩转二维码!速学速用!⛵
作者:韩信子@ShowMeAI Python3◉技能提升系列:https://www.showmeai.tech/tutorials/56 本文地址:https://showmeai.tech/art ...
- 条形码/二维码之开源利器ZXing图文介绍
全文目录: 基本介绍 二维码(比如:QRCode)的编码和解码演示 条形码(比如:EAN-13)的编码和解码演示 [一]. 基本介绍 : 1-1. ZXing是一个开源Java类库用于解析多种格式的条 ...
随机推荐
- ENVI自动地理配准:GCP地面控制点的自动产生
本文介绍基于ENVI软件,利用"Image Registration Workflow"工具实现栅格遥感影像自动寻找地面控制点从而实现地理配准的方法. 在ENVI手动地理配 ...
- yapi-plugin-notifier 插件安装报react 16.9.0版本错误 解决
使用yapi 1.9.2版本. 将配置的json文件替换掉. 参考这个issues解决方案:https://github.com/YMFE/yapi/issues/2109
- mysql 5.6 inner join and 慢优化
慢示例: SELECT o.id FROM o_schoolnotice o INNER JOIN o_schoolnotice_parent p ON o.id = p.noticeid AND p ...
- 算法金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来战 过拟合和欠拟合,特别是令江湖侠客闻风丧胆的 过拟合,简称过儿, Emmm ...
- kettle从入门到精通 第六十课 ETL之kettle for循环处理每条数据,so easy!
1.kettle原生是支持for循环处理的,无需通过javascript脚本或者java脚本开发for循环控制.当然如果想通过脚本挑战下也是可以的. 本节课主要讲解如何通过kettle中的job来实现 ...
- TiDB 多集群告警监控-初章-监控融合、自动告警处理
author:longzhuquan 背景 随着公司XC改造步伐的前进,越来越多的业务选择 TiDB,由于各个业务之间需要物理隔离,避免不了的 TiDB 集群数量越来越多.虽然每套 TiDB 集群均有 ...
- 使用vscode写Markdown并且导出为pdf(干货)
目录 序言 下载vscode 安装插件 markdown语法 导出为pdf 序言 大家在学习过程中都会有记笔记的好习惯(美观的笔记当然是上上选),于是,Markdown就是一个不错的选择,待会也会附上 ...
- Thread.sleep 延时查询或延时查询前更新es缓存数据
Thread.sleep 延时查询或延时查询前更新es缓存数据 MQ消息的顺序性,或发送MQ的发送端未严格事务处理,可能存在数据未落库的情况,而导致接收端处理MQ消息的时候,查询为空. //demo1 ...
- Task - lmdeploy
基础作业: 使用 LMDeploy 以本地对话.网页Gradio.API服务中的一种方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事(需截图
- ITMS-90717: 无效的应用程序商店图标
PS导入照片 图像->模式->索引颜色 透明度去掉打勾保存即可