C#でQRコードタイプを読む方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

実行時にスキャンされたQRコードのフォーマットを特定します。QrResult.QrTypeを参照してシンボロジーを検出し、多様な入力ソースに対応したタイプ認識型の処理ロジックを構築してください。

アプリケーションが複数のソースからQRコードを受け付けるとき、フォーマットは常に予測可能とは限りません。 物流プラットフォームは、出荷ラベルから標準的なQRコードを受け取る一方で、商品タグからコンパクトなマイクロQRコードを受け取るかもしれません。 ドキュメント処理システムは、PDFに埋め込まれたコードをスキャンする一方で、物理メディアに印刷されたコードをスキャンするかもしれません。 QrResult.QrType を読み取ることで、アプリケーションはどの形式が検出されたかを把握できるようになり、入力の検証、データの適切なハンドラーへのルーティング、またはサポートされていない形式のログ記録と確認が可能になります。

このガイドではIronQRライブラリを使用してスキャン結果からQRコードのフォーマットを取得する方法を示します。 まだQRコードをスキャンしていない開発者は、まず画像からQRコードを読むガイドから始めてください。

クイックスタート: QRコードタイプを読む

画像を読み込み、QrReaderでスキャンして、検出されたフォーマットにアクセスします。

  1. IronQR をNuGetパッケージマネージャでインストール

    PM > Install-Package IronQR
  2. このコード スニペットをコピーして実行します。

    var input = new QrImageInput("qr-code.png");
    var results = new QrReader().Read(input);
    Console.WriteLine(results.First().QrType);
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronQR を使い始めましょう無料トライアル

    arrow pointer

QRコードタイプを読むにはどうすればいいですか?

QRコードのタイプを読み取るには、画像をQrTypeにアクセスします。 このプロパティは、検出されたシンボル体系を識別する QrEncoding 列挙型値を返します。

入力

以下のQRコードはhttps://ironsoftware.comをエンコードしており、そのタイプを抽出するためにスキャンされます。

QRコードエンコードhttps://ironsoftware.comは、タイプ検出の入力として使用されます。
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type.cs
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}");
Imports IronQr
Imports System.Drawing
Imports System.Linq

' Import an image containing a QR code
Dim inputImage As Image = Image.FromFile("sample.jpg")

' Load the asset into a QrImageInput object
Dim imageInput As New QrImageInput(inputImage)

' Create a QR Reader object
Dim reader As New QrReader()

' Read the input and get all embedded QR codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)

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

QrType は、QrEncoding.MicroQRCode、または QrEncoding.RMQRCode などの QrEncoding 列挙型値を返します。 これにより、パーシングや文字列比較を行うことなく、switchステートメント内で直接安全に使用できます。

出力

検出されたQRコードタイプを表示するコンソール出力

QRコードフォーマットで処理をルーティングするにはどうすればいいですか?

アプリケーションが複数のソースからQRコードを受け取るとき、すべての入力が同じフォーマットであるとは限りません。 switch を使用して QrResult.QrType を処理し、検出された各コードの QrEncoding 値に基づいて、適切なハンドラーにルーティングしてください。 これにより、フォーマット固有のロジックが分離され、新しいフォーマットの分岐を簡単に追加することができます。

上記と同じ入力QRコードを使用しています:

:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type-all.cs
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;
    }
}
Imports IronQr
Imports IronQr.Enum
Imports System.Drawing

' Import an image containing QR codes
Dim inputImage As Image = Image.FromFile("sample.jpg")

' Load the asset into a QrImageInput object
Dim imageInput As New QrImageInput(inputImage)

' Create a QR Reader object
Dim reader As New QrReader()

' Read all embedded QR codes from the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)

' Route processing based on the detected QR code format
For Each result As QrResult In results
    Select Case result.QrType
        Case QrEncoding.QRCode
            Console.WriteLine($"Standard QR Code: {result.Value}")
        Case QrEncoding.MicroQRCode
            Console.WriteLine($"Micro QR Code: {result.Value}")
        Case QrEncoding.RMQRCode
            Console.WriteLine($"RMQR Code: {result.Value}")
        Case Else
            Console.WriteLine($"Other format ({result.QrType}): {result.Value}")
    End Select
Next
$vbLabelText   $csharpLabel

case は、特定の QrEncoding 値を指定します。 QrType ブランチは、明示的に処理されていない形式をすべて捕捉するため、予期しない入力があった場合でもループが静かに失敗することはありません。 アプリケーションが追加のフォーマットをサポートする必要がある場合は、より多くのケースを追加します。

出力

検出された各QRコードのフォーマットベースルーティング結果を表示するコンソール出力

QrResult.QrType は何を返しますか?

QrResult.QrType は、スキャナーによって検出されたシンボル体系を識別する、すべての QrResult における QrEncoding enum プロパティです。 QrReader.Read() 実行時に自動的に生成され、追加の設定は不要です。 using IronQr.Enum; を追加すると、QrEncoding の値を switch 内で直接使用できます。

価値 翻訳内容
QrEncoding.QRCode 標準QRコードは、すべての業界で最も一般的に使用されるフォーマットです。
QrEncoding.MicroQRCode 印刷面積の限られた小さな表面のために設計されたコンパクト変種です。
QrEncoding.RMQRCode 細長いラベル形状に最適化された長方形のマイクロQRコード(rMQR)です。

QrTypeは読み取り専用であり、スキャナーが画像内で検出した内容を反映しています。 その値は、QRコードがどのように生成されたかには依存しません。


QrTypeの一般的な使用例は何ですか?

  • 物流と配送: ラベルが標準的なQRコードを運んでいるか、コンパクトなマイクロQRかを検出し、それぞれを正しい解析パイプラインにルートします。
  • 文書処理: スキャンされた文書が値の抽出前に予期されたフォーマットを含んでいることを検証し、記録マッチングをします。
  • 多形式キオスク: 単一のステーションで異なるQRフォーマットを受け入れ、各フォーマットを適切なハンドラーに自動送信します。
  • 監査とコンプライアンス: デコードされた値と共にシンボロジータイプをログに記録し、バッチ全体で入力フォーマットの検証可能な記録を作成します。
  • 品質保証: 生成されたQRコードが意図したタイプとしてスキャンバックされることを確認し、出力が仕様に一致していることを確認します。

タイプを検出した後のQRコードデータの読み取りについては、QRコードの値を読むガイドと、全てのIronQR機能セットをご覧ください。

よくある質問

IronQRでQrResult.QrTypeの目的は何ですか?

IronQRでのQrResult.QrTypeは、スキャンされたQRコードのシンボルロジーを検出して、C#アプリケーションでのインテリジェントな形式に基づく処理を可能にします。

IronQRを使用してQRコードのタイプを読み取るにはどうすればよいですか?

IronQRを使用してQRコードのタイプを読み取るには、QrImageInputにQrReader.Read()メソッドを使用します。これにより、スキャンされたQRコードの特定のタイプに関する情報を提供するQrResult.QrTypeにアクセスできます。

なぜC#アプリケーションでQRコードタイプの検出が重要なのでしょうか?

C#アプリケーションでQRコードタイプの検出が重要な理由は、QRコードをその形式に基づいてインテリジェントに処理できるようにし、適切な処理とデータ抽出を保証するためです。

IronQRはさまざまなQRコードのシンボルロジーを処理できますか?

はい、IronQRはQrResult.QrTypeを使用して、さまざまなタイプのQRコードを正確に識別し処理することができます。

QRコードをスキャンする際のQrReader.Read()の役割は何ですか?

QrReader.Read()はIronQRのメソッドで、QrImageInputからQRコードをスキャンし、QRコードのタイプや他の関連情報を取得して、さらなる処理に役立てます。

IronQRで複数のQRコードタイプを処理することは可能ですか?

はい、IronQRは多様なQRコードタイプを、QrResult.QrTypeプロパティを利用して識別し、それぞれのシンボルロジーに応じて処理することができます。

C#でQRコードを読むためにIronQRを使用する利点は何ですか?

IronQRを使用してC#でQRコードを読むことの利点には、QRコードタイプの正確な検出、形式に基づくインテリジェントな処理、C#アプリケーションとのシームレスな統合が含まれます。

IronQRはどのようにQRコードの処理効率を向上させますか?

IronQRは、QrReader.Read()とQrResult.QrTypeといったツールを提供することで、さまざまなQRコードタイプの識別と処理をスムーズに行い、C#プロジェクトでのQRコード処理効率を向上させます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 67,270 | バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronQR
サンプルを実行する URL が QR コードになるのを見る。