Knowledgebase

在 Python 中快速且简便生成和读取 QR 码

在本文中,我们将介绍条形码生成器和读取器 API 的使用 - Aspose.BarCode for Python via Java
要了解如何在 Python 中生成和读取 QR 码,我们将按以下步骤进行:

  1. 什么是 QR 码
  2. 如何使用 Python 生成 QR 码
  3. 如何在 Python 中读取 QR 码

什么是 QR 码

QR Code (Quick Response Code)是一种二维条形码。由于其读取速度快、存储容量相对较大,它已成为使用最广泛的二维码之一。
它由排列在白色背景上的黑色方块组成。所需数据从图像的水平和垂直部分的图案中提取。

QR 码通过二维数字图像传感器检测,然后通过定位 QR 码图像四角的三个特征方块并使用第四角的较小方块来归一化图像大小、视角和方向,由程序处理器进行数字分析。随后将 QR 码中的小点转换为二进制数字,并通过纠错算法进行校验。

在 Python 中生成和读取 QR 码

如何使用 Python 生成 QR 码

Aspose 提供了一个 Python 条形码库,可在任何 Python 应用程序中识别或生成 1D、2D 和邮政条形码。
Aspose.BarCode for Python via Java 是一套通过 python-java 桥接在 Python 应用中进行条形码生成和读取的 API。Python via Java API 能以 JPG、PNG、BMP、GIF 等多种格式生成条形码图像,并支持颜色、边框、图像旋转等多种图像功能。

我们的 API 的一些高级特性:

  • 生成多种类型的条形码
  • 管理 X 和 Y 维度
  • 自定义图像尺寸
  • 控制代码文本的外观
  • 管理条形码标题
  • 为条形码设置代码文本
  • 指定条形码符号集
  • 识别特定的条形码符号
  • 在单张图像中识别多种符号
  • 获取条形码识别质量(百分比)
  • 根据需求切换条形码识别模式

QR 码生成代码示例:

#Instantiate barcode object
generator = Generation.BarcodeGenerator(Generation.EncodeTypes.QR, "123456789")
#Save it as PNG
generator.save("QR.png", "PNG")

如何在 Python 中读取 QR 码

在 Aspose.BarCode for Python via Java 中读取 QR 码的步骤如下:

  • 确定(例如设置源图像路径)条形码来源(图像文件、位图或流)
  • 选择目标条形码类型(本例为 QR 码)。DecodeType 默认设置为 DecodeType.ALL_SUPPORTED_TYPES,这意味着会扫描源图像以搜索所有支持的条形码类型;在这种情况下,完成条形码检测过程所需的时间会增加。

Aspose.BarCode 包含类 BarCodeReaderReadBarCodes 方法,返回一个 BarCodeResult 类型的数组,表示条形码读取结果。

获取识别结果

要加载条形码识别输出,需要调用 ReadBarCodes 方法,该方法返回一个 BarCodeResult 数组。同时,可以通过 getFoundBarCodes 访问当前的识别输出,或使用 getFoundCount 方法获取检测到的条形码数量。

条形码识别来源

在 Aspose.BarCode for Python 中,有三种方式设置条形码识别来源:图像文件、流或位图。支持的图像格式包括 JPEG、PNG、TIFF、BMP 和 GIF。

设置目标区域

可以通过创建一个或多个 rectangle-type 对象来指定条形码检测的目标区域。设置目标区域有助于提升识别效率并避免对没有条形码的区域进行扫描。目标区域必须准确确定,因为 Aspose 库会使用启发式方法来识别条形码检测的目标区域。

免费试用!

此链接 下载 Aspose.Barcode for Python via Java 的免费试用版。同时,您可以在线测试 Aspose.BarCode 的生成质量并查看结果 在线

我们在您旅程的每个阶段与您同行

付费咨询 团队由专家组成,能够与您共同推进项目,确保我们的解决方案对您的业务产生战略性影响。
我们将与您一起了解项目需求,设计解决方案并根据您的需要实现 Aspose API,无论是为现有 Aspose 产品添加新功能,还是为新文件格式提供 API。

我们的团队将客户服务专长与产品知识相结合,帮助您实现目标。从战略实施到随时可用的支持,Aspose 确保您始终获得最大价值。

根据项目规模,您可以为项目聘请一名或多名专职开发人员。我们将与您合作实现交付——我们负责繁重的工作,让您专注于业务。
因为携手共进,才能更好。