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库生成条码,主要会用到以下类、属性、方法:

  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

相关推荐

  1. 【taro react】 ---- QRCode 生成

    2024-07-10 19:32:03       66 阅读
  2. vue qrcode生成

    2024-07-10 19:32:03       43 阅读
  3. 利用qrcode.vue库生成

    2024-07-10 19:32:03       56 阅读
  4. Vue中生成,使用现有的qrcode

    2024-07-10 19:32:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 19:32:03       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 19:32:03       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 19:32:03       90 阅读
  4. Python语言-面向对象

    2024-07-10 19:32:03       98 阅读

热门阅读

  1. docker run enteypoint怎么样使用呢?

    2024-07-10 19:32:03       26 阅读
  2. kafka中

    kafka中

    2024-07-10 19:32:03      24 阅读
  3. 探索Vue.js:构建高效前端应用的现代框架

    2024-07-10 19:32:03       23 阅读
  4. ffmpeg 获取视频时长的命令及其输出

    2024-07-10 19:32:03       28 阅读
  5. 使用Python绘制甘特图

    2024-07-10 19:32:03       29 阅读
  6. uboot spi nor flash初始化相关的阅读分析(一)

    2024-07-10 19:32:03       26 阅读
  7. 最小生成树(算法篇)

    2024-07-10 19:32:03       27 阅读
  8. K8S集群应用国产信创适配实战经验总结

    2024-07-10 19:32:03       24 阅读
  9. 方程与不等式

    2024-07-10 19:32:03       28 阅读
  10. 力扣1472.设计浏览器历史记录

    2024-07-10 19:32:03       26 阅读
  11. ArcGIS Pro SDK (八)地理数据库 3 数据

    2024-07-10 19:32:03       25 阅读
  12. C语言 找出一个二维数组中的鞍点

    2024-07-10 19:32:03       26 阅读
  13. [目标检测]labelme标注数据转yoloV8需要的.txt格式

    2024-07-10 19:32:03       27 阅读
  14. ES6 之 Promise 构造函数知识点总结 (四)

    2024-07-10 19:32:03       29 阅读