IRONSOFTWAREHOME

如何在 C# 中读取二维码

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

在运行时识别任何扫描的QR码的格式。阅读QrResult.QrType以检测符号并为多样化的输入源构建类型感知的处理逻辑。

当应用程序接收来自多个来源的二维码时,其格式往往难以预测。 物流平台可能会同时接收来自运单的标准二维码以及来自产品标签的紧凑型微型二维码。 文档处理系统既可扫描 PDF 文件中嵌入的条码,也可扫描实体介质上印制的条码。 读取QrResult.QrType使应用程序可以查看检测到的格式,从而可以验证输入、将数据路由到正确的处理器,或记录未经支持的格式以供审查。

本指南演示了如何使用 IronQR库从扫描结果中获取 QR 码格式。 尚未扫描过二维码的开发者,请先阅读《从图像中读取二维码》指南。

快速入门:扫描二维码类型

加载图像,用QrReader扫描它,并访问检测到的格式。

  1. 1Install IronQR with NuGet Package Manager

    PM > Install-Package IronQR

  2. 2复制并运行这段代码。

    var input = new QrImageInput("qr-code.png");
    var results = new QrReader().Read(input);
    Console.WriteLine(results.First().QrType);
    C#
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronQR
    arrow pointer

如何读取二维码类型?

要读取QR码的类型,请将图像加载到QrType。 该属性返回一个QrEncoding枚举值,用于识别检测到的符号。

输入

下方的二维码编码了 **https://ironsoftware.com**,扫描后将提取其类型。

用于类型检测的二维码编码 https://ironsoftware.com
using IronQr;
using System.Drawing;
using System.Linq;

// Import an image containing a QR code
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into a QrImageInput object
QrImageInput imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
QrReader reader = new QrReader();

// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// Display the type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}");

QrEncoding.RMQRCode。 这样可以安全地在switch语句中直接使用,而无需解析或字符串比较。

输出

显示检测到的 QR 码类型的控制台输出

如何根据二维码格式进行处理路由?

当应用程序从多个来源接收二维码时,并非所有输入都采用相同的格式。 在QrEncoding值将每个检测到的码路由到正确的处理器。 这使得特定格式的逻辑得以隔离,并使添加新的格式分支变得简单直接。

使用上文中的同一张输入二维码:

using IronQr;
using IronQr.Enum;
using System.Drawing;

// Import an image containing QR codes
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into a QrImageInput object
QrImageInput imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
QrReader reader = new QrReader();

// Read all embedded QR codes from the image
IEnumerable<QrResult> results = reader.Read(imageInput);

// Route processing based on the detected QR code format
foreach (QrResult result in results)
{
    switch (result.QrType)
    {
        case QrEncoding.QRCode:
            Console.WriteLine($"Standard QR Code: {result.Value}");
            break;
        case QrEncoding.MicroQRCode:
            Console.WriteLine($"Micro QR Code: {result.Value}");
            break;
        case QrEncoding.RMQRCode:
            Console.WriteLine($"RMQR Code: {result.Value}");
            break;
        default:
            Console.WriteLine($"Other format ({result.QrType}): {result.Value}");
            break;
    }
}

每个QrEncoding值。 QrType分支捕获任何未明确处理的格式,因此循环在遇到意外输入时不会默默失败。 随着应用程序需要支持更多格式,请补充更多示例。

输出

控制台输出显示每个检测到的二维码的基于格式的路由结果

QrResult.QrType返回什么?

QrEncoding enum属性,用于识别扫描仪检测到的符号。 在QrReader.Read()期间自动填充,不需要额外配置。 添加QrEncoding值。

价值说明
QrEncoding.QRCode标准二维码,这是各行业最常用的格式
QrEncoding.MicroQRCode紧凑型版本,专为打印区域有限的小型表面设计
QrEncoding.RMQRCode针对狭长标签形状优化的矩形微型二维码 (rMQR)

QrType是只读的,反映了扫描仪在图像中检测到的内容。 其价值并不取决于二维码的生成方式。


QrType的常见用例有哪些?

  • **物流与运输:**检测标签上携带的是标准二维码还是紧凑型微二维码,并将它们分别路由到正确的解析管道。
  • **文档处理:**在提取数据用于记录匹配之前,验证扫描文档是否符合预期格式。
  • **多格式自助终端:**单个终端可接收不同格式的二维码,并自动将每个二维码分发至相应的处理程序,无需人工干预。
  • **审计与合规:**将符号类型与解码值一同记录,以建立跨批次的输入格式可验证记录。
  • **质量保证:**验证生成的二维码扫描后是否显示为预期类型,确认输出符合规范。

有关检测类型后读取二维码数据的更多信息,请参阅《读取二维码值指南》以及完整的 IronQR 功能集

常见问题解答

QrResult.QrType在IronQR中的用途是什么?

IronQR中的QrResult.QrType用于检测扫描QR码的符号学,使您的C#应用程序中实现智能的基于格式的处理。

如何使用IronQR读取QR码类型?

要使用IronQR读取QR码类型,可以在QrImageInput上使用QrReader.Read()方法。这将允许您访问`QrResult.QrType`,它提供有关扫描QR码类型的信息。

在C#应用程序中检测QR码类型为什么很重要?

在C#应用程序中检测QR码类型很重要,因为它使开发人员能够基于其格式智能处理QR码,确保适当的处理和数据提取。

IronQR能够处理不同的QR码符号学吗?

是的,IronQR可以通过使用`QrResult.QrType`来准确识别和处理不同类型的QR码,从而具有处理不同QR码符号学的能力。

QrReader.Read()在扫描QR码中的作用是什么?

QrReader.Read()是IronQR中的一个方法,用于从`QrImageInput`扫描QR码,使您能够检索QR码类型和其他相关信息以进行进一步处理。

IronQR可以处理多种QR码类型吗?

是的,IronQR允许您通过使用`QrResult.QrType`属性识别和处理每种QR码,来处理多种QR码类型。

使用IronQR读取C#中的QR码有什么好处?

在C#中使用IronQR读取QR码的好处包括准确检测QR码类型、智能的基于格式处理以及与C#应用程序的无缝集成。

IronQR如何改善QR码处理效率?

IronQR通过提供工具如QrReader.Read()和QrResult.QrType来提高QR码处理效率,这些工具简化了在C#项目中不同QR码类型的识别和处理。

How does QrResult.QrType aid in QR code validation?

QrResult.QrType aids in QR code validation by confirming that a scanned QR code matches the expected format before processing its data, ensuring data integrity and compatibility.

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 74,386版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronQR”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronQR到您的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“IronQR.dll”

许可证从$999开始

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户