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

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

IronBarcode を使用すると、.NET 開発者は QRCodeWriter クラスを使用して QR コードを効率的に作成できます。 カスタム ロゴ、カラー、複数の出力形式、Windows、Linux、macOS、モバイルなどのクロスプラットフォーム展開をサポートします。

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

QR コード生成に IronBarcode を使用する利点は何ですか?

他のライブラリではなく IronBarcode を選択する理由は何ですか?

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

次のセクションでは、SOLID 原則に従った本番環境対応のコードを紹介します。 さまざまな種類の QR コードを作成し、カスタム スタイルを実装し、信頼性の高いスキャン パフォーマンスを確保する方法を学習します。 ライブラリの機能には、QR コード以外にも1Dおよび2D バーコードのサポートが含まれます。 高度なシナリオについては、完全なメソッド シグネチャのAPI リファレンスを確認してください。 デモを見て、IronBarcode の実際の機能を確認してください。

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

Visual Studio を開き、[ファイル] メニューから[新しいプロジェクト]を選択します。 企業での展開の場合は、自動インストールに関するMSI インストーラー ガイドを確認することを検討してください。 "はじめに"の概要には、完全なセットアップ手順が記載されています。

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

希望するプロジェクト名 ( QR Code Generatorなど) を入力し、場所を指定します。 "次へ"をクリックします。

ドロップダウンから .NET Framework ( .NET 6.0 (長期サポート) ) を選択し、[作成] をクリックします。 IronBarcode は、互換性ドキュメントに詳述されているように、すべての最新の .NET バージョンをサポートしています。 特定のプラットフォーム要件については、 Blazor統合のガイドを確認してください。

どのようなインストール方法がありますか?

さまざまなワークフローに適した 4 つの方法のいずれかを使用して IronBarcode をインストールします。 ライブラリのライブ デモでは、リアルタイムのバーコード認識機能を実演します。 簡単にテストするには、バーコードのクイックスタート例を参照してください。

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

[ツール] > [NuGet パッケージ マネージャー] > [ソリューションの NuGet パッケージの管理] に移動します。

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

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

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

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

Install-Package BarCode

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

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

最新の .NET バーコード DLL を入手するには、NuGet ギャラリー Web サイトからダウンロードするか、IronBarcode のホームページにアクセスしてください。 ソリューション エクスプローラーの[追加] > [参照]を使用して、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;
}
$vbLabelText   $csharpLabel

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

  • 必須: エンコードするデータ (文字列またはストリーム)
  • オプション: グラフィックのサイズ (デフォルト 500x500px)
  • オプション:エラー訂正レベル(低 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;
}
$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");
$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");
$vbLabelText   $csharpLabel

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

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

CreateQrCodeWithLogoを使用して、QR コードに会社のロゴを追加します。 完全なスタイル設定オプションについては、カスタム 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;
}
$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");
$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
}
$vbLabelText   $csharpLabel

PDF 固有の操作については、 PDF としてバーコードを作成する方法既存の PDF にバーコードをスタンプする方法のガイドを参照してください。 PDF からバーコードを読み取る場合は、最適な結果を得るためにPDF バーコード リーダーの設定を使用します。

Web アプリケーションに 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");
}
$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();
        }
    }
}
$vbLabelText   $csharpLabel

バーコードを HTML としてエクスポートするには、"バーコードを HTML として作成するガイド"を参照してください。 Web アプリケーションでライセンスを適用する場合は、 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;
}
$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;
}
$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);
}
$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");
}
$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);
$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();
$vbLabelText   $csharpLabel

IronBarcode は、.NET MAUIを通じてAWS LambdaAzureDocker 、モバイル プラットフォームへのデプロイメントをサポートします。 技術サポートについては、エンジニアリング リクエストを送信してください。 企業のセキュリティ要件に関するセキュリティ CVE 開示を確認します。

バーコード読み取り機能を調べて、Code 39 バーコードやその他の特殊な形式の読み取りサポートを含む、バーコード認識の全機能を理解します。 ライブラリの完全な機能セットは、信頼性の高いバーコード生成およびスキャン機能を必要とするエンタープライズ アプリケーションに適しています。

よくある質問

.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はフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。