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

python,code,ean,qr · 浏览次数 : 16

小编点评

本文介绍了如何使用Python的Spire.Barcode库快速生成条形码和二维码。Spire.Barcode是一个功能强大的库,支持多种一维和二维条码的生成,包括Code 128、EAN-13、QR Code等。本文给出了一个简单的示例,展示了如何生成这些常见的条形码,并提供了详细的代码和说明。 首先,我们需要安装Spire.Barcode库。通过pip命令,我们可以轻松安装: ``` pip install spire.barcode ``` 接下来,我们创建了三个函数分别用于生成Code 128、EAN-13和QR Code的条形码图像。每个函数都接受一系列参数,如条码数据、颜色、边距等,以便自定义生成的条码。 在示例中,我们首先创建了一个`BarcodeSettings`对象,然后设置了相应的属性,如条码类型、数据等。接着,我们创建了一个`BarCodeGenerator`对象,并使用它来生成条码图片。最后,我们将生成的图片保存到文件中,并返回图片的路径。 以下是生成Code 128、EAN-13和QR Code的Python代码示例: ```python # 生成Code 128码 def WriteAllBytes(fname: str, data): with open(fname, "wb") as fp: fp.write(data) fp.close() barcodeSettings = BarcodeSettings() barcodeSettings.Type = BarCodeType.Code128 barcodeSettings.Data = "XD00555" barcodeSettings.Code128SetMode = Code128SetMode.Auto barCodeGenerator = BarCodeGenerator(barcodeSettings) barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("Code128.png", barcodeimage) # 生成EAN-13码 def WriteAllBytes(fname: str, data): with open(fname, "wb") as fp: fp.write(data) fp.close() barcodeSettings = BarcodeSettings() barcodeSettings.Type = BarCodeType.EAN13 barcodeSettings.Data = "5019632805254" barCodeGenerator = BarCodeGenerator(barcodeSettings) barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("EAN13.png", barcodeimage) # 生成二维码 QR Code def WriteAllBytes(fname: str, data): fp = open(fname, "wb") fp.write(data) fp.close() barcodeSettings = BarcodeSettings() barcodeSettings.Type = BarCodeType.QRCode barcodeSettings.BackColor = Color.get_WhiteSmoke() barcodeSettings.QRCodeDataMode = QRCodeDataMode.Byte barcodeSettings.QRCodeECL = QRCodeECL.M barcodeSettings.ShowTextOnBottom = True barcodeSettings.DpiX = 500 barcodeSettings.DpiY = 500 barcodeSettings.Data2D = "Hello, World" barCodeGenerator = BarCodeGenerator(barcodeSettings) barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("QRCode.png", barcodeimage) ``` 请注意,上述代码示例仅用于演示目的。在实际应用中,您可能需要根据具体需求调整参数设置。此外,生成的条码图像可能会因字体、颜色等因素而有所不同。如果需要定制条码的外观和样式,可以使用Spire.Barcode库提供的更多高级功能。

正文

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

条码图:


– 测试过程中遇到的问题可前往论坛交流。

– 对于所生成条码上的水印,可以由此申请1个月试用授权来移除:https://www.e-iceblue.cn/misc/temporary-license.html

 

与Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)相似的内容:

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

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,以及生成二维码。 Python条码库 本文需要用到 Spire.B

< Python全景系列-3 > Python控制流程盘点及高级用法、神秘技巧大揭秘!

全面深入地介绍 Python 的控制流程,包括条件语句、循环结构和异常处理等关键部分,尤其会将列表解析、生成器、装饰器等高级用法一网打尽。此外,我还将分享一些独特的见解和研究发现,希望能给你带来新的启发。文章的结尾,我们将有一个 "One More Thing" 环节,我会分享一个很特别但又很少人知道的有用的 Python 控制流程的技巧。

全网最适合入门的面向对象编程教程:20 类和对象的 Python 实现-组合关系的实现与 CSV 文件保存

本文主要介绍了在使用Python面向对象编程时,如何实现组合关系,同时对比了组合关系和继承关系的优缺点,并讲解了如何通过csv模块来保存Python接收/生成的数据。

python 无监督生成模型

本文详细介绍了python 无监督生成模型,主要介绍了无监督生成模型是生成对抗网络(Generative Adversarial Networks, GANs)的方法。

Python 读取图片 转 base64 并生成 JSON

Python 读取图片 转 base64 并生成 JSON ```python import json import base64 img_path = r'D:\OpenSource\PaddlePaddle\PaddleOCR\images\005.jpeg'; with open(img_pa

在线问诊 Python、FastAPI、Neo4j — 生成 Cypher 语句

目录构建节点字典构建Cypher CQL语句Test 这边只是为了测试,演示效果和思路,实际应用中,可以通过NLP构建CQL 接上一篇的问题分类 question = "请问最近看东西有时候清楚有时候不清楚是怎么回事" # 最终输出 data = {'args': {'看东西有时候清楚有时候不清楚'

数据分析---matplotlib模块的使用

1.摘要 在数据可视化、统计绘图和图表生成领域,Python 被广泛使用,其中 Matplotlib 是一个极其重要的基础三方库。本博客旨在介绍 Python 及其三方库 Matplotlib 的详细信息,包括 Matplotlib 的安装步骤、示例代码及使用注意事项。 2.引言 2.1 什么是Ma

Python学习之五_字符串处理生成查询SQL

Python学习之五_字符串处理生成查询SQL 前言 昨天想给同事讲解一下获取查询部分表核心列信息的SQL方法 也写好了一个简单文档. 但是感觉不是很优雅. 最近两三天晚上一直在学习Python. 想将昨天的文档处理成一个工具的方式. 将查询SQL展示出来. 然后再由同事手工检查确认. 增加时间范围

创建一个基本的FastAPI应用程序

Python 搭建 FastAPI 项目 要生成FastAPI项目的代码,你可以使用FastAPI的脚手架工具来快速创建一个基本的FastAPI应用程序。 以下是创建一个新的FastAPI项目的步骤: 安装FastAPI和cookiecutter。你可以使用pip来安装它们: pip install

造个Python轮子,实现根据Excel生成Model和数据导入脚本

前言 最近遇到一个需求,有几十个Excel,每个的字段都不一样,然后都差不多是第一行是表头,后面几千上万的数据,需要把这些Excel中的数据全都加入某个已经上线的Django项目 这就需要每个Excel建个表,然后一个个导入了 这样的效率太低,不能忍 所以我造了个自动生成 Model 和导入脚本的轮