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

    作者:Eiceblue

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python轻松生成多种条形码和二维码:涵盖Code 128、EAN-13、QR code等格式详解

    发表回复