使用python生成各种常见条形码及二维码

 更新时间:2024年07月11日 10:45:44   作者:Eiceblue  
条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,以及生成二维码,需要的朋友可以参考下

前言

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

本文将介绍如何使用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)

条码图:

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)

条码图:

到此这篇关于使用python生成各种常见条形码及二维码的文章就介绍到这了,更多相关python生成条形码及二维码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python如何获取和理用户的连续输入

    详解Python如何获取和理用户的连续输入

    这篇文章主要为大家详细介绍了如何在 Python 中获取和处理用户的连续输入,包括基本的输入方法、输入验证、异常处理以及一些常见的应用场景,感兴趣的可以了解下
    2024-03-03
  • 跟老齐学Python之Python安装

    跟老齐学Python之Python安装

    本文主要讲诉了在Linux,Windows,MacOS三大系统中如何安装Python环境,非常的实用,虽然前面絮絮叨叨的说了不少题外话,但都是作者的肺腑之言,还是仔细看看吧
    2014-09-09
  • pytorch中的reshape()、view()、nn.flatten()和flatten()使用

    pytorch中的reshape()、view()、nn.flatten()和flatten()使用

    这篇文章主要介绍了pytorch中的reshape()、view()、nn.flatten()和flatten()使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 基于Python实现自动扫雷详解

    基于Python实现自动扫雷详解

    这篇文章主要介绍了如何利用Python+OpenCV实现了自动扫雷,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-01-01
  • pytorch部署到jupyter中的问题及解决方案

    pytorch部署到jupyter中的问题及解决方案

    这篇文章主要介绍了pytorch部署到jupyter中,在这里需要注意我再输入的时候出现了一些无法定位的提示,但是我的电脑没有影响使用jupyter,还是可以使用jupyter并且可以import torch,本文给大家讲解的非常详细,需要的朋友参考下吧
    2022-05-05
  • Python设计模式之代理模式简单示例

    Python设计模式之代理模式简单示例

    这篇文章主要介绍了Python设计模式之代理模式,简单说明了代理模式的概念、原理,并结合Python实例形式分析了代理模式的相关定义与使用技巧,需要的朋友可以参考下
    2018-01-01
  • Python换行与不换行的输出实例

    Python换行与不换行的输出实例

    这篇文章主要介绍了Python换行与不换行的输出实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python字典遍历的陷阱

    Python字典遍历的陷阱

    这篇文章主要介绍了Python字典遍历的陷阱,我们都知道,Python中常常按照key、value的形式来遍历字典的items。若value是基本数据类型(int,float等),则是传的拷贝,是不能直接修改value的,下面来看看文章的详细内容吧
    2021-12-12
  • Python结合PyQt5实现GitHub文件/文件夹批量上传工具

    Python结合PyQt5实现GitHub文件/文件夹批量上传工具

    本文介绍了一个基于Python+PyQt5开发的GitHub文件上传工具,支持可视化操作界面,无需命令行即可实现GitHub仓库的自动创建和文件批量上传,有需要的小伙伴可以了解下
    2026-06-06
  • Python运算符教程之逻辑门详解

    Python运算符教程之逻辑门详解

    逻辑门是任何数字电路的基本构建块。它需要一两个输入并根据这些输入产生输出。本文将通过示例和大家讲讲Python中的7个基本逻辑门,感兴趣的可以了解一下
    2022-09-09

最新评论