在本文中,我们将介绍条形码生成器和读取器 API 的使用——Aspose.BarCode for Python via Java
。
要了解如何在 Python 中生成和读取 QR 码,请按照以下步骤操作:
- 什么是 QR 码
- 如何使用 Python 生成 QR 码
- 如何在 Python 中读取 QR 码
什么是 QR 码
二维码
(Quick Response Code)是一种二维条形码。由于其读取速度快且存储容量相对较大,它已成为最常用的二维码之一。
它由排列在白色背景上的黑色方块组成。所需数据从图像的水平和垂直组件中的模式中提取。
二维码通过二维数字图像传感器检测,然后通过定位二维码图像四角的三个特征方块并使用第四角的较小方块来归一化图像大小、视角和方向,由程序化处理器进行数字分析。随后,将二维码中的小点转换为二进制数字,并通过错误校正算法进行验证。

如何使用 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 的 BarCodeReader 类提供 ReadBarCodes 方法,返回一个 [BarCodeResult](https://reference.aspose.com/barcode/python-java/class/asposebarcode.recognition.bar_code_result/) 类型的数组,包含条形码读取结果。
获取识别结果
要加载条形码识别输出,需要调用 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 确保您始终获得最佳价值。
根据项目规模,您可以为项目聘请一名或多名专职开发人员。我们将与您合作实现交付——我们负责繁重的工作,让您专注于业务。
因为携手合作,我们更强大。