IronBarcodeを使って C# で QR コードを生成する方法
IronBarcodeは、 QRCodeWriterクラスを使用することで、 .NET開発者が効率的にQRコードを作成できるようにします。 カスタムロゴ、カラー、複数の出力フォーマット、そしてWindows、Linux、macOS、モバイルを含むクロスプラットフォーム展開に対応しています。
このガイドでは、 IronBarcodeを使用して生産システム用のQRコードを生成する方法を説明します。 IronBarcodeのAPIは、 .NETの規約に準拠しながら、Enterpriseアプリケーションに必要なパフォーマンスと信頼性を提供します。 このライブラリは完全なドキュメントを提供し、Windows、Linux、macOS、およびモバイルプラットフォームへの展開をサポートしています。 すべての機能の概要については、機能ページをご覧ください。 バーコードクイックスタートガイドには、すぐに始められる実践的な例が掲載されています。
IronBarcodeを使用してQRコードを生成するメリットは何ですか?
他のライブラリではなく、 IronBarcodeを選ぶ理由とは?
- UPC、EAN、Code 128、
DataMatrixを含む 20 種類以上のバーコード形式を読み書きします。 サポートされているすべてのフォーマットをご覧ください。 ・精度向上のため、補正フィルターを用いて画像を前処理します。 不完全なバーコードに対する高度な画像補正機能が含まれています。 - スキャン画像とビデオフレームを読み取り、画像の向きを自動的に補正します。 -非同期処理をサポートするバッチ処理に複数のコアを使用します。 パフォーマンス向上のため、 バーコードを非同期で読み取る方法を習得しましょう。 ・カスタマイズ可能なリーダーオプションで、複数のバーコードを自動的に検出します。 最適な結果を得るために、バーコードリーダーの設定を調整してください。
- .NET Coreおよび Framework 上で 32/64 ビット アーキテクチャをサポートし、クロスプラットフォーム互換性があります。
- PCおよびモバイル( Android 、 iOS 、 macOS 、 Linux)で動作します。 サーバー向けのDockerセットアップガイドを参照してください。
- さまざまな出力オプションを備えた複数の形式のQRコードを生成します。 様々な形式のバーコード生成に対応しています。
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 LambdaやAzure 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
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
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")
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")
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
バーコードカスタマイズ機能を使用して、さらにスタイルを適用できます。 スタイリングバーコード機能では、完全なカスタマイズオプションが提供されます。
// 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")
利用可能なエクスポート形式は何ですか?
さまざまな用途に合わせて、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
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
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
バーコードを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
モバイル端末との互換性を確保するにはどうすればよいですか?
バーコードリーダーの設定を使用して、モバイルスキャンの精度を向上させます。 認識に関する問題が発生した場合は、バーコードが認識されない場合のトラブルシューティングガイドを参照してください。
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
クロスプラットフォームのモバイル開発については、 .NET MAUIバーコードスキャナーのチュートリアルを参照してください。 このライブラリはiOSとAndroidの両方のプラットフォームをネイティブにサポートしています。## 一般的な統合シナリオ
マーケティングキャンペーン用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
製品ラベルのQRコードを生成する
在庫管理用のQRコードを作成する。 特殊なフォーマットの処理については、 GS1-128トラブルシューティングガイドを参照してください。 Code 39やMSIバーコードなどの特定のバーコードタイプを扱う場合は、フォーマット固有のガイドを参照してください。
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
特殊なラベル印刷については、 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)
System.Drawing オブジェクトを扱う場合、ライブラリは IronDrawing を介してクロスプラットフォーム互換性を提供します。
主な要点
IronBarcodeは、 .NETアプリケーションにおけるQRコード生成のための包括的なソリューションを提供します。 このライブラリは、直感的なAPI、充実したドキュメント、そして耐障害性、クロスプラットフォーム対応、パフォーマンス最適化といった本番環境ですぐに使える機能を提供します。 変更履歴を通じて、最新の機能情報をご確認ください。 セキュリティを重視した導入の場合は、セキュリティCVE開示情報を確認してください。
ライセンス情報については、ライセンスページをご覧ください。 IronBarcodeは、サポートやアップデートなどのプレミアムオプションを含む無料の開発者ライセンスを提供しています。 既存のお客様は、ライセンスの延長やアップグレードのオプションをご確認ください。 ライセンスに関するサポートが必要な場合は、 ライセンスキーの適用ガイドとweb.configのライセンス設定を参照してください。
本番環境へのデプロイについては、 AWS Lambda 、 Azure 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()
IronBarcodeは、AWS Lambda 、 Azure 、 Docker 、および.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ビットのシステムを含むさまざまなアーキテクチャをサポートしています。



