当前位置: 首页 > news >正文

Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。

本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,以及生成二维码

文章目录

      • Python条码库
      • 生成条码的类、方法简介
      • Python 生成 Code128码
      • Python 生成 EAN-13码
      • Python 生成二维码QR Code

Python条码库

本文需要用到 Spire.Barcode for Python 库,该库支持生成、识别各类一维和二维条码,包括 EAN, UPC, Code128, Code39, QR Code, Data Matrix 等,满足各种应用需求。此外还提供了丰富的接口来自定义条码图片的边框样式、颜色、边距等属性。
该Python条码生成库可以通过 pip轻松安装:

pip install Spire.Barcode

生成条码的类、方法简介

要使用Spire.Barcode for Python库生成条码,主要会用到以下类、属性、方法:

  1. BarcodeSettings 类:用于条码生成的各项设置。支持设置条码类型、数据、背景色、宽高度、边距、分辨率等。
  2. BarcodeSettings.Type 属性:设置条码类型。
  3. BarcodeSettings.Data 属性:设置条码数据。
  4. BarcodeSettings.Data2D 属性:设置二维码文本。
  5. BarcodeGenerator 类:用于条码渲染。
  6. BarcodeGenerator.GenerateImage() 方法:用于生成条码图片。

以下为生成条码的Python代码示例

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)

条码图:
Code128 码

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)

条码图:
EAN13码

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 5个在线地图瓦片URL分享
  • nginx的知识面试易考点
  • PTC可复位保险丝 vs 传统型保险丝:全面对比分析
  • 零信任网络安全
  • 怎样将aac转换mp3格式?推荐四个aac转MP3的方法
  • 传统剪纸遇上AI绘画:一场跨时代的艺术对话
  • 【库架一体立体库】与【传统立体库】对比
  • Perl中追踪文件脉动:文件系统事件通知机制全解析
  • k8s 使用 helm 文件部署 8.12.2 es 分角色集群
  • 如何在玩客云中安装小雅AList并实现使用手机平板远程连接听歌看电影
  • 属性描述符初探——Vue实现数据劫持的基础
  • LeetCode 205. 同构字符串
  • 【xinference】(15):在compshare上,使用docker-compose运行xinference和chatgpt-web项目,配置成功!!!
  • vue3-openlayers WebGL加载地图(栅格切片、矢量切片)
  • mysql 9 新特性
  • 11111111
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • FineReport中如何实现自动滚屏效果
  • Golang-长连接-状态推送
  • in typeof instanceof ===这些运算符有什么作用
  • isset在php5.6-和php7.0+的一些差异
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript DOM 10 - 滚动
  • PAT A1050
  • SAP云平台里Global Account和Sub Account的关系
  • 阿里云购买磁盘后挂载
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 构建二叉树进行数值数组的去重及优化
  • 机器学习中为什么要做归一化normalization
  • 解析带emoji和链接的聊天系统消息
  • 入门级的git使用指北
  • 正则学习笔记
  • Linux权限管理(week1_day5)--技术流ken
  • #{}和${}的区别是什么 -- java面试
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (175)FPGA门控时钟技术
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (二开)Flink 修改源码拓展 SQL 语法
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (四)软件性能测试
  • (转)甲方乙方——赵民谈找工作
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .net framework 4.8 开发windows系统服务
  • .NET MVC第三章、三种传值方式
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 事件模型教程(二)
  • .net6+aspose.words导出word并转pdf
  • .net中的Queue和Stack
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @EnableWebSecurity 注解的用途及适用场景
  • @RequestMapping用法详解
  • []指针
  • [2023年]-hadoop面试真题(一)
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用