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

boyanx1周前技术教程4

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。本文将介绍如何使用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

类:用于条码生成的各项设置。支持设置条码类型、数据、背景色、宽高度、边距、分辨率等。

  1. BarcodeSettings.Type

属性:设置条码类型。

  1. BarcodeSettings.Data

属性:设置条码数据。

  1. BarcodeSettings.Data2D

属性:设置二维码文本。

  1. BarcodeGenerator

类:用于条码渲染。

  1. BarcodeGenerator.GenerateImage()

方法:用于生成条码图片。

Python 生成 Code128码

from spire.barcode import *

def generate_and_save_barcode():
    # 1. 创建条码配置
    settings = BarcodeSettings()
    settings.Type = BarCodeType.Code128
    settings.Data = "XD00555"
    settings.Code128SetMode = Code128SetMode.Auto

    # 2. 生成条码(返回二进制数据)
    generator = BarCodeGenerator(settings)
    image_data = generator.GenerateImage()  # 返回 bytes

    # 3. 保存到文件
    with open("Code128.png", "wb") as f:
        f.write(image_data)

generate_and_save_barcode()

条码图:

Python 生成 EAN-13码

from spire.barcode import *

def generate_and_save_barcode():
    # 1. 创建条码配置
    settings = BarcodeSettings()
    settings.Type = BarCodeType.EAN13
    settings.Data = "5019632805254"
    settings.Code128SetMode = Code128SetMode.Auto

    # 2. 生成条码(返回二进制数据)
    generator = BarCodeGenerator(settings)
    image_data = generator.GenerateImage()  # 返回 bytes

    # 3. 保存到文件
    with open("EAN13.png", "wb") as f:
        f.write(image_data)

generate_and_save_barcode()

条码图:

Python 生成二维码 QR Code

from spire.barcode import *

def generate_and_save_barcode():
    # 1. 创建条码配置
    settings = BarcodeSettings()
    settings.Type = BarCodeType.QRCode
    # 设置背景颜色
    settings.BackColor = Color.get_WhiteSmoke()
    # 设置QR Code的编码模式
    settings.QRCodeDataMode = QRCodeDataMode.Byte
    # 设置纠错等级(ECL)
    settings.QRCodeECL = QRCodeECL.M
    # 设置是否在二维码底部显示文本
    settings.ShowTextOnBottom = True
    # 设置分辨率
    settings.DpiX = 500
    settings.DpiY = 500
    # 设置二维码数据
    settings.Data2D = "Hello, World"

    # 2. 生成条码(返回二进制数据)
    generator = BarCodeGenerator(settings)
    image_data = generator.GenerateImage()  # 返回 bytes

    # 3. 保存到文件
    with open("QRCode.png", "wb") as f:
        f.write(image_data)

generate_and_save_barcode()

运行结果:

相关文章

技工外来人员入园登记二维码扫码如何操作?

长期以来,技工院校的外来人员登记依赖纸质表格填写。访客需手动填写姓名、身份证号、来访事由等信息,门卫逐一核对并记录,整个过程耗时5-10分钟。若遇多人同时到访,排队等待时间可能延长至半小时以上,不仅影...

harmony-utils之ScanUtil,码工具类(扫码、码图生成、图片识码)

harmony-utils 简介与说明harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备...

抖音的扫一扫功能在哪里(2020抖音扫一扫功能在哪里)

作为抖音深度用户,我最近频繁使用"扫一扫"功能时遇到了不少困扰。这个看似简单的扫码入口,实际操作中却常出现识别速度慢、夜间模式光线适配差等问题。下面一起看下抖音的扫一扫功能设置的操作方...

这款文本二维码生成器很好用!在线工具,无需下载

为了让不同型号的产品快速被找到,我们经常会给每一款类型的产品使用二维码标签,从二维码的边框文字或者是扫码后从二维码内容都能快速识别产品信息。这种用作标签的二维码通常就是文本二维码。这篇文章我们将介绍一...

微信「扫一扫」背后隐藏的秘密(微信的扫一扫有什么用)

微信的“扫一扫”功能,我们每天都在使用,但你是否想过它背后隐藏着哪些秘密和故事?从二维码的技术原理到“扫一扫”的交互设计,再到它在商业和社会生活中的广泛应用,这个看似简单的功能其实蕴含着巨大的能量。本...

交管12123机动车二维码在哪里扫描

你是否遇到过在交管12123中找不到机动车二维码生成入口,或是扫描时提示信息不符的困扰?许多车主在处理违章、办理年检时,常因操作不熟或信息更新不及时,导致无法快速获取二维码。更有人担心二维码被篡改或泄...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。