IRONSOFTWAREHOME
IRONQRの使用

NuGetパッケージを使用して C# で QR コードを生成する方法

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

.NETアプリケーションでQRコードを生成することは、かつてないほど簡単になりました。 適切なNuGetパッケージを使用すれば、わずか数行のコードでQRコードを作成し、外観をカスタマイズし、複数の出力形式で保存することができます。 IronQRは、 .NET Core、 .NET Framework、および.NET 5~10に対応したクロスプラットフォームサポートを備えた、エンタープライズグレードのQRコード生成機能を提供します。

このチュートリアルでは、 IronQR NuGetパッケージをインストールして、すぐにQRコードの生成を開始する方法を説明します。 在庫管理システム、イベントチケット販売プラットフォーム、マーケティングアプリケーションなど、どのようなシステムを構築する場合でも、 IronQRはProfessionalQRコード実装に必要なツールを提供します。

最初のステップ:
arrow pointer

QRコードのNuGetパッケージをインストールするにはどうすればよいですか?

NuGetパッケージマネージャを使ったIronQRのインストールは数秒で完了します。 Visual Studio で NuGet パッケージ マネージャー コンソールを開き、次のコマンドを実行するか、CLI 環境でdotnet add packageコマンドを使用してください。

PM > Install-Package IronQR

NuGetパッケージは、すべての依存関係を自動的に処理し、ターゲットフレームワークとの互換性を保証します。 IronQRは.NET Framework 4.6.2以降、 .NET Core 2.0以降、および.NET 5~10をサポートしており、あらゆるVisual Studioプロジェクトに対応できる汎用性の高いライブラリです。

コードを記述する前に、無料トライアルライセンスキーが必要です。 アプリケーションの起動時に早めに設定することで、以降のすべての呼び出しが認証されるようになります。

using IronQr;

// Set license key before any IronQR operation
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

ライセンスキーが設定されていれば、アプリケーションは出力画像に透かしを入れずにQRコードを生成、読み取り、カスタマイズする準備が整います。

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

最初のQRコードを作成するには、最小限のコードで済みます。 QrWriterクラスは、ほとんどのユースケースでうまく機能する適切なデフォルトを使用して QR コードの生成を処理します。

using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from text data
QrCode myQr = QrWriter.Write("Hello World");

// Save QR code as bitmap image
AnyBitmap qrImage = myQr.Save();

// Export to PNG file
qrImage.SaveAs("hello-qr.png");

QRコード出力

NuGet QR Code Generator: C#でわずか数行のコードでQRコードを生成: イメージ1 - シンプルなQR出力

QrCodeオブジェクトを返します。 AnyBitmapに変換し、さまざまな画像形式へのエンコードやXAMLパスへのベクトルデータのエクスポートをサポートします。 このアプローチは、.NET 6からWindowsのみになるSystem.Drawingに依存するライブラリとは異なり、Windows、macOS、Linuxでプラットフォーム固有の依存関係なしで動作します。

上記の3行のパターンは、文字列のエンコード、ビットマップの取得、ファイルの書き込みという最も一般的なシナリオを網羅しています。実際の運用では、プレーンテキストではなく、URL文字列、製品識別子、またはJSONペイロードを渡すことになるでしょう。

適切なエラー訂正レベルはどのように選択すればよいですか?

QRコードは、ISO/IEC 18004 QRコード規格で定義されている4つのエラー訂正レベルをサポートしており、これにより、コードがスキャン可能な状態を維持できる損傷の程度が決まります。 IronQR はQrOptionsクラスを通じてすべての四つのレベルをサポートします。

IronQRがサポートするQRコードエラー訂正レベル
レベル回復力最適な用途
L(低)約7%クリーンな環境、最大限のデータ密度
M(中)約15%一般使用(デフォルト)
Q(四分位)約25%産業用途
H(高)約30%ロゴ、屋外看板、部分的な遮蔽
using IronQr;
using IronSoftware.Drawing;

// Configure high error correction level
var options = new QrOptions(QrErrorCorrectionLevel.High);

// Generate QR code with options
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options);
AnyBitmap image = qr.Save();
image.SaveAs("high-correction-qr.png");

出力

NuGet QR Code Generator: C#でわずか数行のコードでQRコードを生成: イメージ2 - 高い訂正レベルのQR

エラー訂正レベルを高くすると、より多くの未加工モジュールを含む高密度のQRシンボルが作成されるため、コードが部分的に不明瞭になったり破損したりしても読み取り可能な状態を維持できます。 パッケージに印刷されるコードやロゴに埋め込まれるコードには、レベルHが最適です。損傷が問題とならないデジタル表示専用の場合は、レベルMがデータ容量と信頼性のバランスが取れています。

スキャンレベルの選択ミスは、本番環境におけるスキャン失敗の一般的な原因の一つです。 QRコードが物理的な媒体に表示される場合、またはカメラからの距離が変化する場合は、レベルQまたはHを使用し、展開前に複数のスキャナーアプリケーションで出力結果を確認してください。

QRコードの外観をカスタマイズするにはどうすればよいですか?

IronQR はQrStyleOptionsを通じてカスタムカラー、寸法、余白、ロゴ埋め込みなどの幅広いスタイリングオプションを提供します。 ブランド名入りのQRコードは、視覚的に既知のブランドと結び付けることができるため、マーケティングの場面でより効果を発揮します。

using IronQr;
using IronSoftware.Drawing;

// Create styled QR code with custom colors
var styleOptions = new QrStyleOptions
{
    Dimensions = 300,    // Width and height in pixels
    Margins = 10,        // Quiet zone in pixels
    Color = Color.DarkBlue,
    BackgroundColor = Color.White
};

QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap styledImage = qr.Save(styleOptions);
styledImage.SaveAs("styled-qr.png");

スタイル付きQR出力

NuGet QR Code Generator: C#でわずか数行のコードでQRコードを生成: イメージ3 - スタイル付けされたQRコード

Dimensionsプロパティは、ピクセル単位で幅と高さの両方を設定します。 Marginsプロパティは、QRシンボルを囲む白いボーダーであるクワイエットゾーンを制御し、スキャナーがコードの境界を特定するのに使用されます。 推奨される最小値である4モジュールを下回るマージンを設定すると、古いデバイスではスキャンエラーが発生する可能性があります。

QRコードにロゴを追加することで、ブランドの認知度を高めることができます。 このスタイリングシステムは、スキャン性を維持しながらロゴを自動的に配置します。これは、手動で配置計算を行う必要があるオープンソースの代替システムに比べて大きな利点です。

QRコードをさまざまな出力形式で保存するにはどうすればよいですか?

IronQRはPNG、JPEG、GIF、TIFF、BMP、SVGを含む複数の出力フォーマットをサポートしています。 SaveAsメソッドは、ファイル拡張子から形式を自動的に検出します。

using IronQr;
using IronSoftware.Drawing;

QrCode qr = QrWriter.Write("Format demonstration");
AnyBitmap image = qr.Save();

// Save to raster image formats
image.SaveAs("qr-output.png");
image.SaveAs("qr-output.jpg");
image.SaveAs("qr-output.gif");

// Get as byte array for HTTP responses or database storage
byte[] pngBytes = image.ExportBytes();

複数のQRコード出力フォーマット

NuGet QR Code Generator: C#でわずか数行のコードでQRコードを生成: イメージ4 - 異なるファイル形式で保存されたQRコード

ディスクに書き込むことなくHTTPを介してQRコード画像を返す必要があるWebアプリケーションでは、ExportBytes()メソッドが特に便利です。 バイト配列は、レスポンスストリームに直接書き込むことも、オンデマンドで取得できるようにデータベースの列に保存することもできます。

PDFドキュメントにQRコードを埋め込む場合、IronQRは既存のドキュメントへの直接QRコード配置を可能にするStampToExistingPdfPageメソッドを提供します。 これは追加のPDFライブラリなしでネイティブに動作するため、依存関係の数を最小限に抑えたいマイクロサービス環境では重要です。

IronQR NuGetパッケージとQRCoderを比較するにはどうすればよいですか?

QRCoderライブラリは、 .NETでQRコードを生成するための人気のあるオープンソースの選択肢です。 QRCoderを使用したことがある開発者は、PngByteQRCodeなどの個別のレンダリングクラスを伴う多段階APIに慣れています。 IronQR はこれをQrWriter.Write()の一度の呼び出しに簡素化します。

IronQRとQRCoderの機能比較(.NET開発者向け)
特徴IronQRQRCoder
クロスプラットフォームレンダリング.NET 5~10を完全にサポートビットマップレンダリングはWindowsのみに対応
機械学習を活用した読書99.9%の検出精度生成のみ、読み取り不可
PDF 統合ネイティブスタンプサポート追加のライブラリが必要です
商用サポート24時間365日のエンジニアリングサポートコミュニティのみ
ロゴ埋め込み内蔵、自動位置決め手動オーバーレイが必要です

QRCoderはWindows環境での基本的な生成には問題なく動作します。 IronQRの機械学習モデルは、あらゆる角度から優れたQRコード読み取り機能を提供します。これは、入力画像の品質を制御できないユーザー投稿画像を処理するアプリケーションにとって非常に重要です。 単一メソッドのAPIは、動作する機能をリリースするために必要なコード行数を削減します。

QRCoderから移行するチームの方は、 QRCoderからIronQRへの移行ガイドを参照して、APIのマッピングを比較してください。

QRコードにバイナリデータをエンコードするにはどうすればよいですか?

IronQRはテキストだけでなく、バ​​イナリQRコードペイロード用のバイト配列のエンコードもサポートしています。 これは、UTF-8文字列として表現できない暗号化トークン、シリアル化されたオブジェクト、または生のバイナリ識別子に役立ちます。

using IronQr;
using IronSoftware.Drawing;

// Encode binary data -- useful for encrypted payloads or binary identifiers
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content example");
QrCode qr = QrWriter.Write(binaryData);
qr.Save().SaveAs("binary-qr.png");

出力

NuGet QR Code Generator: C#でわずか数行のコードでQRコードを生成: イメージ5 - バイナリエンコードされたQRコード

バイナリエンコードを使用すると、暗号化されたペイロード、シリアル化されたオブジェクト、または任意のバイナリコンテンツをQRコード内に含めることができます。 受信側のスキャナは、バイナリペイロードを解釈する方法を知っている必要があります。これは、QRコードに人間が読めるURLではなく署名付きトークンが含まれているアクセス制御システムでよく見られることです。

バイナリデータは、同等のテキストデータよりも密度の高いQRコードを生成することに注意してください。 ペイロードのサイズが遠距離でのスキャン信頼性に懸念がある場合は、レベルHのエラー訂正を適用し、ユーザーが所有していると想定される最小サイズのカメラでテストしてください。

C#でQRコードをどのように読み取りますか?

IronQRは書き込みと読み込みの両方に対応しています。 QrReaderクラスは、画像ファイル、ビットマップ、およびカメラフレームを受け入れ、バッチ処理およびリアルタイムスキャンのシナリオの両方に適しています。

using IronQr;
using IronSoftware.Drawing;

// Load an existing image containing a QR code
var inputImage = AnyBitmap.FromFile("qr-to-read.png");

// Read all QR codes in the image
QrReadResult readResult = QrReader.Read(inputImage);

foreach (QrResult result in readResult.QrCodes)
{
    // Access the decoded value
    Console.WriteLine($"Decoded: {result.Value}");
}

機械学習を活用した読み取りエンジンは、あらゆる向きの画像を処理し、エラー訂正の閾値までの部分的な損傷にも対応します。 実際の読み取りシナリオについては、低品質の入力、マルチコード画像、スキャンモードの設定に関するガイダンスについて、 QRコード読み取りチュートリアルを参照してください。

ASP.NET CoreアプリケーションでIronQRを使用するにはどうすればよいでしょうか?

ウェブアプリケーションでは、ユーザーアカウントへのリンク、ワンタイムログインコード、支払いリクエストなど、必要に応じてQRコードを生成する必要が頻繁に発生します。 次の例は、 ASP.NET Coreの最小限のAPIエンドポイントからQRコード画像を直接提供する方法を示しています。

using IronQr;
using IronSoftware.Drawing;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Set license key at application startup
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Return a QR code PNG for a given URL parameter
app.MapGet("/qr", (string data) =>
{
    QrCode qr = QrWriter.Write(data);
    AnyBitmap image = qr.Save();
    byte[] pngBytes = image.ExportBytes();
    return Results.File(pngBytes, "image/png");
});

app.Run();

このパターンは、ASP.NET Core の最小 API と標準 MVC コントローラの両方で機能します。ExportBytes()呼び出しは、コンテナ化されたデプロイメントでのファイルシステムが読み取り専用または一時的である可能性がある状況で重要な一時ファイルをディスクに書き込むことを回避します。

ASP.NET Coreとの統合に関する詳細な手順については、 ASP.NET Core QRコードジェネレーターのチュートリアルを参照してください。 Blazor専用のガイドは、 Blazor QRコードジェネレーターのチュートリアルでも入手できます。

QRコード画像に余白を追加したり、サイズを変更したりするにはどうすればよいですか?

寸法と静止領域を適切に制御することは、高品質な印刷出力にとって不可欠です。 IronQR は両方をQrStyleOptionsを通じて公開し、専用のハウツーガイドがそれぞれ詳細にカバーしています。

using IronQr;
using IronSoftware.Drawing;

// Specify dimensions and quiet zone for print output
var printOptions = new QrStyleOptions
{
    Dimensions = 600,   // High resolution for print
    Margins = 20        // Generous quiet zone for reliable scanning
};

QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap printImage = qr.Save(printOptions);
printImage.SaveAs("print-ready-qr.png");

さまざまな出力メディアにおけるサイズと余白の要件に関する詳細なガイダンスについては、 QRコード画像のサイズ変更QRコードへの余白の追加に関するハウツー記事を参照してください。 QRコード画像作成ガイドでは、ライセンス認証からファイル出力まで、画像作成の全ワークフローを網羅しています。

名刺用のQRコードの生成動的なQRコードジェネレーターの構築画像からのQRコードの読み取りなど、QRコードの具体的な使用例については、それぞれのシナリオを完全なコード例とともに解説した専用記事が用意されています。

次のステップは何ですか?

IronQRは、QRコード生成を複数の手順を要するプロセスから、 NuGet簡単な統合へと変革します。 パッケージをインストールし、QrWriter.Write()を呼び出し、結果を保存します。これらの3つの操作は、現実世界のシナリオの大部分をカバーします。 エラー訂正レベル、カスタムスタイル設定、PDFへのスタンプ挿入、機械学習による読み取り機能など、すべて同じライブラリから利用できます。

IronQRのドキュメントには、完全なAPIリファレンスが記載されており、スキャンモードによるQRコードの読み取り、バッチ処理、プラットフォーム固有の導入に関する注意事項など、高度なトピックも含まれています。 IronQRのチュートリアルセクションには、 .NET MAUI、VB .NET、およびコンソールアプリケーション向けのステップバイステップガイドが含まれています。

無料トライアルを開始して、制限なくすべての機能を体験するか、24時間年中無休(平日)のエンジニアリングサポート付きのライセンスを購入して本番環境に導入してください。

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。