フッターコンテンツにスキップ
IRONBARCODEの使用

IronBarcodeを使って C# で QR コードを生成する方法

IronBarcodeは、 QRCodeWriterクラスを使用することで、 .NET開発者が効率的にQRコードを作成できるようにします。 カスタムロゴ、カラー、複数の出力フォーマット、そしてWindows、Linux、macOS、モバイルを含むクロスプラットフォーム展開に対応しています。

このガイドでは、 IronBarcodeを使用して生産システム用のQRコードを生成する方法を説明します。 IronBarcodeのAPIは、 .NETの規約に準拠しながら、Enterpriseアプリケーションに必要なパフォーマンスと信頼性を提供します。 このライブラリは完全なドキュメントを提供し、Windows、Linux、macOS、およびモバイルプラットフォームへの展開をサポートしています。 すべての機能の概要については、機能ページをご覧ください。 バーコードクイックスタートガイドには、すぐに始められる実践的な例が掲載されています。

IronBarcodeを使用してQRコードを生成するメリットは何ですか?

他のライブラリではなく、 IronBarcodeを選ぶ理由とは?

IronBarcodeでQRコードを生成するにはどうすればよいですか?

以下のセクションでは、SOLID原則に準拠した、実運用可能なコード例を示します。 様々な種類のQRコードを作成する方法、カスタムスタイルを実装する方法、そして信頼性の高いスキャン性能を確保する方法を学びます。 このライブラリの機能には、QRコード以外にも1次元および2次元バーコードのサポートが含まれています。 より高度なシナリオについては、 APIリファレンスを参照して完全なメソッドシグネチャを確認してください。 IronBarcodeの機能を実際に体験するには、デモをご覧ください。

新しいプロジェクトを設定するにはどうすればよいですか?

Visual Studioを開き、ファイルメニューから"新規プロジェクト"を選択します。 Enterprise環境への導入においては、自動インストールに関するMSIインストーラーガイドを参照することをお勧めします。 はじめにの概要には、完全なセットアップ手順が記載されています。

コンソールアプリのテンプレートを選択し、"次へ"をクリックします。

希望するプロジェクト名(例: QRコードジェネレーター)を入力し、場所を指定してください。 "次へ"をクリックしてください。

ドロップダウンリストから.NET Framework ( .NET 6.0 (長期サポート) ) を選択し、[作成] をクリックします。 IronBarcodeは、互換性に関するドキュメントに記載されているとおり、すべての最新 for .NETバージョンをサポートしています。 具体的なプラットフォーム要件については、 Blazor統合ガイドを参照してください。

どのようなインストール方法が利用できますか?

IronBarcodeは、さまざまなワークフローに適した4つの方法のいずれかを使用してインストールできます。 図書館の実演では、リアルタイムのバーコード認識機能が紹介されている。 手早くテストするには、バーコードクイックスタートの例をご覧ください。

Visual StudioのパッケージマネージャーUIを使用してインストールするにはどうすればよいですか?

ツール> NuGetパッケージ マネージャー>ソリューションのNuGetパッケージの管理 に移動してください。

または、ソリューションエクスプローラーでプロジェクトを右クリックし、 "NuGetパッケージの管理"を選択します。

"参照"をクリックし、 "バーコード"を検索して"IronBarcode"を選択し、プロジェクトを選択して"インストール"をクリックします。 プラットフォーム固有のインストールについては、 NuGetパッケージ ガイドを参照してください。 問題が発生した場合は、 NuGet のトラブルシューティング ガイドを参照してください。 このライブラリは、AWS LambdaAzure Functionsなど、さまざまなデプロイシナリオをサポートしています。

パッケージマネージャーコンソールを使用してインストールするにはどうすればよいですか?

ツール> NuGetパッケージ マネージャー>パッケージ マネージャー コンソールを開き、以下を実行します。

Install-Package BarCode

これにより、ライブラリが現在のプロジェクトにインストールされます。 コンテナ化されたデプロイメントについては、 Dockerセットアップガイドに従ってください。 ライセンスキーを使用する場合は、展開環境に適した設定になっていることを確認してください。

NuGetまたはIronBarcodeのウェブサイトからダウンロードするにはどうすればよいですか?

NuGet Galleryのウェブサイトからダウンロードするか、IronBarcodeのホームページにアクセスして、最新 for .NETバーコードDLLを入手してください。 ソリューションエクスプローラーの"追加" > "参照"から、DLLをプロジェクトに追加してください。 DLL の問題のトラブルシューティングについては、" DLL が見つからない場合のガイド"を参照してください。 実行時に問題が発生した場合は、実行時コピー例外ガイドを参照してください。

QRコード画像を作成・カスタマイズするにはどうすればよいですか?

基本的なQRコードを生成するにはどうすればよいですか?

QRCodeWriter クラスの CreateQrCode メソッドを使用して QR コードを作成します。 完全な例については、 C# の QR コード生成チュートリアルを参照してください。 このライブラリは、さまざまな形式でバーコード画像を作成することをサポートしています。

using IronBarCode;

// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");

// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");

// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
    if (string.IsNullOrWhiteSpace(data))
        throw new ArgumentException("Data cannot be empty");

    if (data.Length > 2953) // QR Code capacity at highest error correction
        throw new ArgumentException("Data exceeds QR code capacity");

    var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.VerifyQrCode(); // Verify the generated code is valid
    return qr;
}
using IronBarCode;

// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");

// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");

// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
    if (string.IsNullOrWhiteSpace(data))
        throw new ArgumentException("Data cannot be empty");

    if (data.Length > 2953) // QR Code capacity at highest error correction
        throw new ArgumentException("Data exceeds QR code capacity");

    var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.VerifyQrCode(); // Verify the generated code is valid
    return qr;
}
Imports IronBarCode

' Basic QR code generation with medium error correction
Dim qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)
qrCode.SaveAsPng("MyQR.png")

' Generate QR code with automatic sizing and highest error correction
Dim autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example")
autoQr.SaveAsJpeg("AutoQR.jpg")

' Production-ready QR code with validation
Public Function CreateValidatedQrCode(data As String, Optional size As Integer = 600) As GeneratedBarcode
    If String.IsNullOrWhiteSpace(data) Then
        Throw New ArgumentException("Data cannot be empty")
    End If

    If data.Length > 2953 Then ' QR Code capacity at highest error correction
        Throw New ArgumentException("Data exceeds QR code capacity")
    End If

    Dim qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High)
    qr.VerifyQrCode() ' Verify the generated code is valid
    Return qr
End Function
$vbLabelText   $csharpLabel

CreateQrCode メソッドは以下を受け入れます:

  • 必須:エンコードするデータ(文字列またはストリーム)
  • オプション:画像サイズ(デフォルト:500x500ピクセル)
  • オプション:エラー訂正レベル(低7%、中15%、高25%、最高30%)
  • オプション:QRコードのバージョン番号(自動更新の場合は0)

高性能なバッチ処理には、非同期操作カスタムスタイルを使用してください。 不完全な条件下で作業する場合は、耐障害性機能を使用してください。 バーコード読み取りチュートリアルでは、生成されたコードを検証する方法を説明します。

QRコードにはどのようなデータ型をエンコードできますか?

生産用途でよく使われるQRコードのデータタイプには、さまざまなソースからバーコードを作成する機能が含まれます。 詳細な例については、 "QRコード作成の例"を参照してください。 IronBarcodeは、国際文字エンコーディングのためのUnicodeバーコードをサポートしています。

URL QRコード:

// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");

// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
    var uriBuilder = new UriBuilder(baseUrl);
    var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);

    foreach (var param in utmParams)
        query[param.Key] = param.Value;

    uriBuilder.Query = query.ToString();
    var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
    return qr;
}
// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");

// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
    var uriBuilder = new UriBuilder(baseUrl);
    var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);

    foreach (var param in utmParams)
        query[param.Key] = param.Value;

    uriBuilder.Query = query.ToString();
    var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
    return qr;
}
Imports System
Imports System.Collections.Generic
Imports System.Web

' Generate QR code for website URL
Dim urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800)
urlQr.SetMargins(10) ' Add quiet zone
urlQr.SaveAsPng("campaign-qr.png")

' Advanced URL QR code with tracking
Public Function CreateTrackableUrlQr(baseUrl As String, utmParams As Dictionary(Of String, String)) As GeneratedBarcode
    Dim uriBuilder = New UriBuilder(baseUrl)
    Dim query = HttpUtility.ParseQueryString(uriBuilder.Query)

    For Each param In utmParams
        query(param.Key) = param.Value
    Next

    uriBuilder.Query = query.ToString()
    Dim qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000)
    Return qr
End Function
$vbLabelText   $csharpLabel

vCard連絡先情報:

string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";

var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");
string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";

var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");
Dim vCard As String = "BEGIN:VCARD" & vbCrLf & _
                      "VERSION:3.0" & vbCrLf & _
                      "FN:John Smith" & vbCrLf & _
                      "ORG:Tech Corp" & vbCrLf & _
                      "TEL:+1-555-0123" & vbCrLf & _
                      "EMAIL:john@example.com" & vbCrLf & _
                      "END:VCARD"

Dim contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium)
contactQr.SaveAsPng("contact-card.png")
$vbLabelText   $csharpLabel

WiFi 設定:

string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");
string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");
Dim wifiConfig As String = "WIFI:T:WPA;S:NetworkName;P:Password123;;"
Dim wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500)
wifiQr.SaveAsPng("wifi-config.png")
$vbLabelText   $csharpLabel

IronBarcodeは、国際文字のUnicodeサポートに対応しており、スペースに制約のあるアプリケーション向けにMicro QRやrMQRなどのフォーマットもサポートしています。 特殊なフォーマットについては、新しいフォーマットのマイルストーンを参照してください。 特殊なデータ形式を扱う場合、このライブラリはストリームから読み込みストリームとしてエクスポートすることで、メモリを効率的に使用できます。

ロゴやカスタムスタイルを追加するにはどうすればよいですか?

QRコードに会社のロゴを追加するには、CreateQrCodeWithLogo を使用してください。 スタイリングオプションの詳細については、カスタムQRコードの例QRコードスタイリングガイドを参照してください。 このライブラリは、すべてのバーコードタイプに対応した一般的なバーコードスタイルもサポートしています。

// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");

// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
    Width = 100,
    Height = 100,
    CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);

// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
    var logo = new QRCodeLogo(logoPath)
    {
        Width = 80,
        Height = 80,
        CornerRadius = 10
    };

    var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
    qr.SetMargins(15);
    return qr;
}
// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");

// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
    Width = 100,
    Height = 100,
    CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);

// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
    var logo = new QRCodeLogo(logoPath)
    {
        Width = 80,
        Height = 80,
        CornerRadius = 10
    };

    var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
    qr.SetMargins(15);
    return qr;
}
Imports System.Drawing

' Create QR code with embedded logo
Dim qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500)
qrWithLogo.ChangeBarCodeColor(Color.DarkRed)
qrWithLogo.SaveAsPng("Logo_QR_Code.png")

' Advanced logo customization
Dim logo As New QRCodeLogo("company-logo.png") With {
    .Width = 100,
    .Height = 100,
    .CornerRadius = 5
}
Dim advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600)

' Production-ready branded QR code
Public Function CreateBrandedQrCode(data As String, logoPath As String, brandColor As String) As GeneratedBarcode
    Dim logo As New QRCodeLogo(logoPath) With {
        .Width = 80,
        .Height = 80,
        .CornerRadius = 10
    }

    Dim qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800)
    qr.ChangeBarCodeColor(ColorTranslator.FromHtml(brandColor))
    qr.SetMargins(15)
    Return qr
End Function
$vbLabelText   $csharpLabel

バーコードカスタマイズ機能を使用して、さらにスタイルを適用できます。 スタイリングバーコード機能では、完全なカスタマイズオプションが提供されます。

// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");
// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");
' Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"))
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray)
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME")
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name")
$vbLabelText   $csharpLabel

利用可能なエクスポート形式は何ですか?

さまざまな用途に合わせて、QRコードを多様な形式で保存します。 バーコード保存の例バーコード画像生成チュートリアルで詳細をご覧ください。 特殊な要件については、 1-BPPバーコード画像の作成に関するガイドを参照してください。

// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");

// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();

// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);

// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();

// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
    qr.ChangeBarcodeDpi(600); // 高い DPI for print
    qr.ResizeTo(2000, 2000); // Large size
    qr.SaveAsTiff(filename); // Lossless format
}
// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");

// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();

// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);

// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();

// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
    qr.ChangeBarcodeDpi(600); // 高い DPI for print
    qr.ResizeTo(2000, 2000); // Large size
    qr.SaveAsTiff(filename); // Lossless format
}
' Image formats
qrWithLogo.SaveAsJpeg("qr.jpg")
qrWithLogo.SaveAsPng("qr.png")
qrWithLogo.SaveAsGif("qr.gif")
qrWithLogo.SaveAsTiff("qr.tiff")

' Web formats
qrWithLogo.SaveAsHtmlFile("qr.html")
Dim dataUrl As String = qrWithLogo.ToDataUrl()

' Print formats
qrWithLogo.SaveAsPdf("qr.pdf")
qrWithLogo.ChangeBarcodeDpi(300)

' API formats
Dim qrBytes As Byte() = qrWithLogo.ToPngBinaryData()
Dim stream = qrWithLogo.ToStream()

' High-quality print export
Public Sub ExportForPrint(qr As GeneratedBarcode, filename As String)
    qr.ChangeBarcodeDpi(600) ' 高い DPI for print
    qr.ResizeTo(2000, 2000) ' Large size
    qr.SaveAsTiff(filename) ' Lossless format
End Sub
$vbLabelText   $csharpLabel

PDF固有の操作については、 PDFとしてバーコードを作成する方法と、既存のPDFにバーコードを印字する方法に関するガイドを参照してください。 PDFファイルからバーコードを読み取る際は、最適な結果を得るためにPDFバーコードリーダーの設定を使用してください。

ウェブアプリケーションにQRコードを実装するにはどうすればよいですか?

ASP.NET MVC アプリケーションでは、ファイル I/O を使用せずにストリーミングを実装します。 このライブラリは、Webに直接統合するためのHTML形式のバーコード作成をサポートしています。

public IActionResult GetQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    byte[] qrBytes = qr.ToPngBinaryData();
    return File(qrBytes, "image/png", "qrcode.png");
}

// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
    var qr = QRCodeWriter.CreateQrCode(content, 500);
    var stream = qr.ToStream();
    return File(stream, "image/png");
}

// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    var htmlString = qr.ToHtmlTag();
    return Content(htmlString, "text/html");
}
public IActionResult GetQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    byte[] qrBytes = qr.ToPngBinaryData();
    return File(qrBytes, "image/png", "qrcode.png");
}

// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
    var qr = QRCodeWriter.CreateQrCode(content, 500);
    var stream = qr.ToStream();
    return File(stream, "image/png");
}

// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    var htmlString = qr.ToHtmlTag();
    return Content(htmlString, "text/html");
}
Public Function GetQrCode(data As String) As IActionResult
    Dim qr = QRCodeWriter.CreateQrCode(data, 400)
    Dim qrBytes As Byte() = qr.ToPngBinaryData()
    Return File(qrBytes, "image/png", "qrcode.png")
End Function

' Stream directly without disk I/O
Public Function StreamQrCode(content As String) As IActionResult
    Dim qr = QRCodeWriter.CreateQrCode(content, 500)
    Dim stream = qr.ToStream()
    Return File(stream, "image/png")
End Function

' Generate HTML-embedded QR codes
Public Function GetHtmlQrCode(data As String) As IActionResult
    Dim qr = QRCodeWriter.CreateQrCode(data, 400)
    Dim htmlString As String = qr.ToHtmlTag()
    Return Content(htmlString, "text/html")
End Function
$vbLabelText   $csharpLabel

Blazorアプリケーションの場合、リアクティブなQRコード生成を実装します。

@page "/qrcode"
@using IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
    <img src="@QrCodeDataUrl" alt="QR Code" />
}

@code {
    private string qrText = "";
    private string QrCodeDataUrl = "";

    private void GenerateQr()
    {
        if (!string.IsNullOrEmpty(qrText))
        {
            var qr = QRCodeWriter.CreateQrCode(qrText, 400);
            QrCodeDataUrl = qr.ToDataUrl();
        }
    }
}
@page "/qrcode"
@using IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
    <img src="@QrCodeDataUrl" alt="QR Code" />
}

@code {
    private string qrText = "";
    private string QrCodeDataUrl = "";

    private void GenerateQr()
    {
        if (!string.IsNullOrEmpty(qrText))
        {
            var qr = QRCodeWriter.CreateQrCode(qrText, 400);
            QrCodeDataUrl = qr.ToDataUrl();
        }
    }
}
@page "/qrcode"
@Imports IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if Not String.IsNullOrEmpty(QrCodeDataUrl) Then
    <img src="@QrCodeDataUrl" alt="QR Code" />
End If

@Code
    Private qrText As String = ""
    Private QrCodeDataUrl As String = ""

    Private Sub GenerateQr()
        If Not String.IsNullOrEmpty(qrText) Then
            Dim qr = QRCodeWriter.CreateQrCode(qrText, 400)
            QrCodeDataUrl = qr.ToDataUrl()
        End If
    End Sub
End Code
$vbLabelText   $csharpLabel

バーコードをHTMLとしてエクスポートするには、 "バーコードをHTMLとして作成する"ガイドを参照してください。 ウェブアプリケーションでライセンスを適用する場合は、 web.config ライセンスキーガイドを参照してください。

QRコード導入におけるベストプラクティスとは?

どの誤り訂正レベルを選択すべきですか?

エラー訂正は、回復力と処理能力に影響を与える。 詳細については、エラー訂正ガイドを参照してください。 このライブラリには、精度向上のための機械学習信頼度閾値が含まれています。

レベル 回復 使用例
低レベル 7% クリーンなデジタル環境
中規模 15% 印刷物、名刺
高い 25% 屋外看板、取り扱い商品
最高 30% 工業用途、ロゴ追加済み

QRコードのサイズはどのくらいにすべきですか?

スキャン距離に基づいて最適なサイズを計算します。 スキャン精度を向上させるための余白設定について学びましょう。 余白設定の例は、ベストプラクティスを示しています。

// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
    int sizeInCm = (int)(scanDistanceMeters * 10);
    return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}

// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
    int size = CalculateQrSize(scanDistance);
    var qr = QRCodeWriter.CreateQrCode(data, size);
    qr.SetMargins(size / 20); // 5% margin
    return qr;
}
// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
    int sizeInCm = (int)(scanDistanceMeters * 10);
    return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}

// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
    int size = CalculateQrSize(scanDistance);
    var qr = QRCodeWriter.CreateQrCode(data, size);
    qr.SetMargins(size / 20); // 5% margin
    return qr;
}
' 1:10 ratio - 1cm QR per 10cm distance
Private Function CalculateQrSize(scanDistanceMeters As Double) As Integer
    Dim sizeInCm As Integer = CInt(scanDistanceMeters * 10)
    Return CInt(sizeInCm * 37.8) ' Convert to pixels at 96 DPI
End Function

' Set appropriate margins for reliable scanning
Public Function CreateScanOptimizedQr(data As String, scanDistance As Integer) As GeneratedBarcode
    Dim size As Integer = CalculateQrSize(scanDistance)
    Dim qr = QRCodeWriter.CreateQrCode(data, size)
    qr.SetMargins(size / 20) ' 5% margin
    Return qr
End Function
$vbLabelText   $csharpLabel

モバイル端末との互換性を確保するにはどうすればよいですか?

バーコードリーダーの設定を使用して、モバイルスキャンの精度を向上させます。 認識に関する問題が発生した場合は、バーコードが認識されない場合のトラブルシューティングガイドを参照してください。

public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
    qr.SetMargins(20); // Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black);
    qr.ChangeBackgroundColor(System.Drawing.Color.White);
    return qr;
}
public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
    qr.SetMargins(20); // Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black);
    qr.ChangeBackgroundColor(System.Drawing.Color.White);
    return qr;
}
Public Function CreateMobileOptimizedQr(ByVal data As String) As GeneratedBarcode
    Dim qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium)
    qr.SetMargins(20) ' Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black)
    qr.ChangeBackgroundColor(System.Drawing.Color.White)
    Return qr
End Function
$vbLabelText   $csharpLabel

クロスプラットフォームのモバイル開発については、 .NET MAUIバーコードスキャナーのチュートリアルを参照してください。 このライブラリはiOSAndroidの両方のプラットフォームをネイティブにサポートしています。## 一般的な統合シナリオ

マーケティングキャンペーン用QRコードの作成

カスタムブランディングを施した追跡可能なマーケティング用QRコードを実装するには、バーコード読み取り速度の管理に関する読み取り速度ガイドを参照してください。

public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
    string trackingUrl = "___PROTECTED_URL_79___";
    var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
    qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
    return qr;
}

// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
    var tasks = userIds.Select(async userId =>
    {
        var qr = CreateCampaignQr(campaignId, userId);
        await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
    });

    await Task.WhenAll(tasks);
}
public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
    string trackingUrl = "___PROTECTED_URL_79___";
    var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
    qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
    return qr;
}

// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
    var tasks = userIds.Select(async userId =>
    {
        var qr = CreateCampaignQr(campaignId, userId);
        await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
    });

    await Task.WhenAll(tasks);
}
Imports System.Drawing
Imports System.Threading.Tasks

Public Class BarcodeGenerator
    Public Function CreateCampaignQr(campaignId As String, userId As String) As GeneratedBarcode
        Dim trackingUrl As String = "___PROTECTED_URL_79___"
        Dim qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000)
        qr.ChangeBarCodeColor(ColorTranslator.FromHtml("#1E3A8A"))
        qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}")
        Return qr
    End Function

    ' Batch generate campaign materials
    Public Async Function GenerateCampaignBatch(userIds As List(Of String), campaignId As String) As Task
        Dim tasks = userIds.Select(Async Function(userId)
                                       Dim qr = CreateCampaignQr(campaignId, userId)
                                       Await Task.Run(Sub() qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"))
                                   End Function)

        Await Task.WhenAll(tasks)
    End Function
End Class
$vbLabelText   $csharpLabel

製品ラベルのQRコードを生成する

在庫管理用のQRコードを作成する。 特殊なフォーマットの処理については、 GS1-128トラブルシューティングガイドを参照してください。 Code 39MSIバーコードなどの特定のバーコードタイプを扱う場合は、フォーマット固有のガイドを参照してください。

public void GenerateProductLabel(Product product)
{
    var productData = new
    {
        sku = product.SKU,
        batch = product.BatchNumber,
        expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    };

    string json = System.Text.Json.JsonSerializer.Serialize(productData);
    var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.AddAnnotationTextAboveBarcode(product.Name);
    qr.SaveAsPng($"labels/product-{product.SKU}.png");
}

// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
    var qr = CreateProductQr(product);
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}
public void GenerateProductLabel(Product product)
{
    var productData = new
    {
        sku = product.SKU,
        batch = product.BatchNumber,
        expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    };

    string json = System.Text.Json.JsonSerializer.Serialize(productData);
    var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.AddAnnotationTextAboveBarcode(product.Name);
    qr.SaveAsPng($"labels/product-{product.SKU}.png");
}

// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
    var qr = CreateProductQr(product);
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}
Public Sub GenerateProductLabel(product As Product)
    Dim productData = New With {
        .sku = product.SKU,
        .batch = product.BatchNumber,
        .expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    }

    Dim json As String = System.Text.Json.JsonSerializer.Serialize(productData)
    Dim qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High)
    qr.AddAnnotationTextAboveBarcode(product.Name)
    qr.SaveAsPng($"labels/product-{product.SKU}.png")
End Sub

' Generate 1-BPP labels for thermal printers
Public Sub GenerateThermalLabel(product As Product)
    Dim qr = CreateProductQr(product)
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png")
End Sub
$vbLabelText   $csharpLabel

特殊なラベル印刷については、 1-BPPバーコード画像ガイドを参照してください。 複数ページの文書を読む場合は、 複数ページのGIFおよびTIFFに関するガイドを参照してください。

バーコードスキャン性能の向上

大量のスキャンを行う場合は、スキャン領域を制限してパフォーマンスを向上させるために、切り抜き領域を設定してください。 読書速度オプションは、精度と速度のトレードオフを細かく調整できる機能を提供します。

// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    CropArea = cropRegion
};

var results = BarcodeReader.Read("image.png", options);
// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    CropArea = cropRegion
};

var results = BarcodeReader.Read("image.png", options);
' Define crop region for faster scanning
Dim cropRegion As New Rectangle(100, 100, 300, 300)
Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Faster,
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    .CropArea = cropRegion
}

Dim results = BarcodeReader.Read("image.png", options)
$vbLabelText   $csharpLabel

System.Drawing オブジェクトを扱う場合、ライブラリは IronDrawing を介してクロスプラットフォーム互換性を提供します。

主な要点

IronBarcodeは、 .NETアプリケーションにおけるQRコード生成のための包括的なソリューションを提供します。 このライブラリは、直感的なAPI、充実したドキュメント、そして耐障害性クロスプラットフォーム対応パフォーマンス最適化といった本番環境ですぐに使える機能を提供します。 変更履歴を通じて、最新の機能情報をご確認ください。 セキュリティを重視した導入の場合は、セキュリティCVE開示情報を確認してください。

ライセンス情報については、ライセンスページをご覧ください。 IronBarcodeは、サポートやアップデートなどのプレミアムオプションを含む無料の開発者ライセンスを提供しています。 既存のお客様は、ライセンスの延長アップグレードのオプションをご確認ください。 ライセンスに関するサポートが必要な場合は、 ライセンスキーの適用ガイドweb.configのライセンス設定を参照してください。

本番環境へのデプロイについては、 AWS LambdaAzure Functions 、およびDockerコンテナに関するガイドを参照してください。 特定のデプロイメントの問題のトラブルシューティングについては、 AWS Lambda ランタイム ガイドおよびランタイム コピー例外の解決策を参照してください。 誤検出が発生した場合は、詳細なトラブルシューティングガイドを参照してください。

技術サポートが必要な場合は、エンジニアリングリクエストを送信してください。 ライブラリは、製品アップデートのセクションに記載されているように定期的にアップデートされ、継続的な互換性と新機能が保証されます。

簡単なQRコードの例で始めてみよう

わずか数行のコードで、カスタムスタイルのQRコードを生成できます。 その他の例については、バーコード作成の例を参照し、バーコード読み取りチュートリアルで包括的なバーコードソリューションをご覧ください。 その他の例としては、PDFファイルからバーコードを読み取ることや、データからバーコードを作成することなどが挙げられます。

using IronBarCode;

// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();

// Save as image
qrCode.SaveAsPng("quickstart-qr.png");

// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();
using IronBarCode;

// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();

// Save as image
qrCode.SaveAsPng("quickstart-qr.png");

// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();
Imports IronBarCode

' Create QR code with custom size and error correction
Dim qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High)

' Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy)
qrCode.AddBarcodeValueTextBelowBarcode()

' Save as image
qrCode.SaveAsPng("quickstart-qr.png")

' Export for API
Dim pngBytes As Byte() = qrCode.ToPngBinaryData()
$vbLabelText   $csharpLabel

IronBarcodeは、AWS LambdaAzureDocker 、および.NET MAUIを介したモバイルプラットフォームへのデプロイをサポートしています。 技術サポートが必要な場合は、エンジニアリングリクエストを送信してください。 Enterpriseセキュリティ要件を満たすために、セキュリティ関連のCVE開示情報を確認してください。

バーコード読み取り機能について詳しく調べて、 Code 39バーコードやその他の特殊なフォーマットの読み取りサポートなど、バーコード認識の全機能を理解しましょう。 このライブラリは豊富な機能を備えているため、信頼性の高いバーコード生成およびスキャン機能を必要とするEnterpriseアプリケーションに適しています。

よくある質問

.NETアプリケーションでQRコードを生成するにはどうすればよいですか?

QRCodeWriter.CreateQrCodeメソッドを使用して.NETアプリケーションでQRコードを生成できます。このメソッドは、QRコードデータ、サイズ、エラー訂正レベルを指定することができます。

QRコードのカスタマイズオプションはどのようなものがありますか?

IronBarcodeはQRコードのカスタマイズを可能にし、色の変更や会社ロゴなどの画像埋め込みができます。これらの機能により、QRコードの視覚的魅力とブランドの統合が向上します。

プロジェクトにIronBarcodeライブラリをどのようにインストールすればよいですか?

Visual Studio の NuGet パッケージマネージャ UI、パッケージマネージャコンソールを使用するか、NuGet ウェブサイトからダウンロードして、プロジェクトに IronBarcode をインストールできます。

IronBarcodeはビデオフレームからバーコードを読み取ることができますか?

はい、IronBarcodeはビデオフレームを処理でき、回転とノイズを補正することでバーコードのリアルタイム読み取りを可能にし、バーコード読み取りの効率を向上させます。

IronBarcodeで生成されたQRコードを保存できるファイル形式は何ですか?

IronBarcodeで生成されたQRコードは、PNGやHTMLなどの複数の形式で保存でき、さまざまなアプリケーションのニーズに柔軟に対応します。

IronBarcodeはコンソールアプリケーションとウェブアプリケーションの両方に適していますか?

はい、IronBarcodeは汎用性があり、コンソールアプリケーションと.NET MVCウェブアプリケーションのどちらでも使用でき、さまざまな開発環境に強力な選択肢を提供します。

IronBarcodeでのQRコードのエラー訂正レベルはどのようなものが利用可能ですか?

IronBarcodeはQRコードのために4つのエラー訂正レベルをサポートしています:低、中、高、最高であり、QRコードが損傷した場合でもデータの完全性を確保します。

IronBarcodeのライセンスオプションはどのようになっていますか?

IronBarcodeは無料の開発者ライセンスを提供し、追加のサポートと更新を含むプレミアムバージョンを提供しています。これにより、さまざまな開発およびビジネスニーズに対応します。

IronBarcodeは.NET Coreと.NET Frameworkの両方に互換性がありますか?

はい、IronBarcodeは.NET Coreと.NET Frameworkの両方と互換性があり、32ビットと64ビットのシステムを含むさまざまなアーキテクチャをサポートしています。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね