ASP.NET MVCでQRコードを生成する方法
今日の急速に進化するデジタル環境で、QRコードの生成は効率的な情報共有に不可欠なツールになっています。 URL、テキスト、連絡先情報、製品詳細など、幅広いデータを保存できるこれらのコンパクトな2次元バーコードは、現代のコミュニケーションにおいて重要な役割を果たしています。 QRコード生成機能をASP.NET MVCアプリケーションに組み込むことで、ユーザーがQRコードをシームレスに生成し、その体験を向上させ、交流を効率化し、容易に情報を交換できるようになります。
ASP.NET MVCアプリケーションを開発中でQRコード生成機能を組み込みたいと考えているなら、IronBarcodeはプロセスを簡素化する優れたライブラリです。 この記事では、Iron Barcodeライブラリを使用してASP.NET MVCでQRコードを生成する方法を探ります。
IronBarcode
IronBarcodeは.NETアプリケーション向けの強力で機能豊富なQRコード生成および認識ライブラリです。 IronBarcodeを使用すると、開発者はASP.NET MVCプロジェクトにバーコードやQRコードの機能を簡単に統合でき、QRコードを生成することも可能です。 このライブラリは、QRコードの作成とカスタマイズを簡素化する包括的なツールとAPIを提供し、開発者が特定の要件に合わせてそれらを調整できるようにしています。
IronBarcodeは、QRコードを含むさまざまなバーコードタイプを幅広くサポートしており、QRコード生成機能を必要とするプロジェクトには理想的な選択です。 データをエンコードするための柔軟性を備えており、生成されるQRコードのサイズと解像度を制御でき、色やロゴなどのビジュアルスタイリング要素を追加することさえできます。 ライブラリは、QRコードの外観のあらゆる側面を正確に制御することで、高品質なバーコード生成を保証します。
QRコード生成だけでなく、IronBarcodeはバーコードの読み取りとデコードに対する強力な機能も備えています。 それはQRコードからのデータのスキャンと抽出をサポートし、アプリケーションがそれらにエンコードされた情報を処理できるようにします。 この機能は、在庫管理、チケットシステム、モバイルアプリケーションなど、バーコードのスキャンやデータ抽出が必要なシナリオに有益です。
次に、ASP.NET Core MVC WebアプリでQRコードを生成するためのプロジェクトを作成しましょう。
プロジェクトの設定
実装の詳細に入る前に、ASP.NET MVCプロジェクトが設定され、準備が整っていることを確認しましょう。 新しいプロジェクトを開始する場合でも、既存のプロジェクトで作業する場合でも、以下の手順でアプリケーションにIron Barcodeライブラリを統合するプロセスをガイドします。 私の場合、新しいプロジェクトを作成しました。
新しいプロジェクトを作成する手順は以下の通りです。
- Microsoft Visual Studio 2022を開きます。
- スタートページで"新しいプロジェクトを作成する"をクリックするか、トップメニューから"ファイル">"新規">"プロジェクト"に進みます。
- "新しいプロジェクトを作成する"ウィンドウでは、さまざまなプロジェクトテンプレートが表示されます。 "ASP.NET Core web app (Model-view-controller)"のプロジェクトテンプレートを選択し、"次へ"をクリックします。
- プロジェクトの名前と場所を入力します。 プロジェクトファイルを保存するための適切な場所をコンピューター上で選択します。
- 希望するフレームワークのバージョンを選択します。 通常、Visual Studioは最新の安定したバージョンを提案しますが、必要に応じて他のバージョンを選択することもできます。 私は.NET 7を選びました。
- 認証オプションやプロジェクトフォルダなど、必要に応じて追加のプロジェクト設定をカスタマイズします。
- "作成"をクリックしてプロジェクトを作成します。
その後、Visual Studioはプロジェクトファイルを生成し、ソリューションエクスプローラを開き、プロジェクト構造を確認し、コードの作業を開始できます。

次に、アプリケーションにIron Barcodeライブラリをインストールする必要があります。
Iron Barcodeのインストール
まず、Visual Studioでパッケージマネージャーコンソールを開き、以下のコマンドを実行します。
Install-Package IronBarCode
このコマンドは、Iron Barcodeライブラリをインストールし、プロジェクトに必要な参照を追加します。

さて、QRコードを作成するためのコードを書きましょう。
QRCodeModel を作成します
Modelsフォルダ内にモデルクラスを作成し、以下のコードを書きます。
using System.ComponentModel.DataAnnotations;
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText { get; set; }
}
using System.ComponentModel.DataAnnotations;
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText { get; set; }
}
Imports System.ComponentModel.DataAnnotations
Public Class QRCodeModel
<Display(Name := "Enter QR Code Text")>
Public Property QRCodeText() As String
End Class
QRコードコントローラーの作成
ASP.NET MVC プロジェクトで、QrCodeController という名前の新しいコントローラーを作成します。 プロジェクトの構造のControllersフォルダを右クリックし、"追加"、"コントローラー"を選択します。利用可能なオプションから"MVC Controller - Empty"を選択します。
QrCodeController に以下のコードを記述してください。
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateQRCode()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
// Creating QR Code
GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(path, "qrcode.png");
barcode.SaveAsPng(filePath);
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception ex)
{
// Handle exceptions
// Log the exception details here for troubleshooting and debugging.
throw;
}
return View();
}
}
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateQRCode()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
// Creating QR Code
GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(path, "qrcode.png");
barcode.SaveAsPng(filePath);
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception ex)
{
// Handle exceptions
// Log the exception details here for troubleshooting and debugging.
throw;
}
return View();
}
}
Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System.IO
Public Class QrCodeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateQRCode() As IActionResult
Return View()
End Function
<HttpPost>
Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
Try
' Creating QR Code
Dim barcode As GeneratedBarcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText)
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Dim filePath As String = System.IO.Path.Combine(path, "qrcode.png")
barcode.SaveAsPng(filePath)
Dim fileName As String = System.IO.Path.GetFileName(filePath)
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedQRCode/{fileName}"
ViewBag.QrCodeUri = imageUrl
Catch ex As Exception
' Handle exceptions
' Log the exception details here for troubleshooting and debugging.
Throw
End Try
Return View()
End Function
End Class
このコードはQRコードを生成できるコントローラーを設定します。 CreateQRCode アクションが呼び出されると、QR コードのテキストを取得し、QR コード画像を生成して保存し、表示用にビューに画像の URL を提供します。 詳細は次のとおりです:
- コントローラには、Web ホスティング環境にアクセスするための
IWebHostEnvironmentパラメータを受け取るコンストラクタがあります。 CreateQRCodeアクションはビューを返します。CreateQRCodeアクションと[HttpPost]属性は、QR コード テキストを含むQRCodeModelパラメーターを受け取ります。- アクション内では、Iron Barcode ライブラリの
QRCodeWriterクラスを使用して QR コードが生成されます。 - 生成された QR コードは、Web ルート パス内の
GeneratedQRCodeという名前のフォルダに PNG 画像ファイルとして保存されます。 GeneratedQRCodeフォルダーが存在しない場合は、作成されます。- 保存されたQRコード画像のファイルパスとURLが生成されます。
- QRコード画像のURLは、ビューで使用するために
ViewBag.QrCodeUriプロパティに格納されます。 - プロセス中に発生する例外はすべてキャッチされ、ログに記録されます。
CreateQRCode を追加して表示
新しいビューを追加するには、QrCodeController クラス内の CreateQRCode アクション メソッドを右クリックします。 "ビューの追加"を選択し、"Razorビュー"を選択し、"追加"ボタンをクリックします。

下図のように新しいウィンドウが表示されます。

ビュー名を入力し、"作成"テンプレートを選択して、新しく作成したモデルクラス QRCodeModel を選択します。 追加ボタンをクリックします。 ビューが作成されます。 表示を下記のコードに置き換えます。
@model QRCodeModel
@{
ViewData["Title"] = "CreateQRCode";
}
<h1>Create QRCode in ASP.NET MVC</h1>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="CreateQRCode">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="QRCodeText" class="control-label"></label>
<input asp-for="QRCodeText" class="form-control" />
<span asp-validation-for="QRCodeText" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
<div class="form-group">
@if (ViewBag.QrCodeUri != null)
{
<img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Generated QR Code" />
}
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}
それでは、Program.cs クラスに移動して、デフォルトのコントローラー ルートを変更しましょう。
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=CreateQRCode}/{id?}")
これにより、デフォルトのルートが HomeController から QrCodeController に変更されます。
プロジェクトをコンパイルして実行します。
出力

テキストボックスにテキストを入力し、作成ボタンをクリックします。 QRコードが作成され、以下に示すように画面に表示されます。

次に、注釈テキスト、QRコード値の追加、QRコードの色の変更を行い、バーコードにビジュアルスタイリングを追加します。
QRコードのビジュアルスタイリングの追加
CreateQRCode Action メソッド内に次のコード行を追加します。
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ChangeBackgroundColor(System.Drawing.Color.White)
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed)
プロジェクトを実行し、QRコードを生成します。

結論
ASP.NET MVCでは、IronBarcodeの統合は簡単です。 使いやすいインターフェースを提供し、QRコードを簡単に扱うことができます。 IronBarcodeを活用することで、アプリケーションにQRコード機能を追加でき、ユーザーが情報を便利に共有・アクセスできるようになります。 IronBarcodeはQRコードの生成と読み取りをASP.NET MVCで簡素化する貴重なライブラリです。 それは開発者にQRコードの力を利用して効率的なデータ共有と取得を行う動的なアプリケーションを作成する力を与えます。
Iron Barcodeは個人利用に無料です。 ただし、商業目的では、それを購入する必要があります。 商用ライセンスが付属しています。これは、無料トライアル付です。 また、完全なIron Suiteを入手すると大幅に割引を受けることができるかもしれません。 Iron Suiteは、開発タスクを簡素化し、機能性を高めるために設計された.NETソフトウェアコンポーネントの包括的なコレクションです。 それは、バーコード、光学文字認識、PDF処理、Excel、およびCSVファイルをシームレスに扱えるようにする5つの強力なライブラリを提供します、それがIron Barcode、IronOCR, IronPDF 、IronXL、およびIronWebScraperです。 完全なIron Suiteを購入することを選択した場合には、2つの価格で全5製品を手に入れることができます。
よくある質問
ASP.NET MVCでQRコードを作成するにはどうすればいいですか?
Visual Studioでプロジェクトを設定し、Install-Package IronBarCodeコマンドでNuGetを介してIronBarcodeライブラリをインストールし、IronBarcodeのクラスを使用してコントローラ内でQRコードを生成し、ビューに表示することで、ASP.NET MVCでQRコードを作成できます。
アプリケーション内のQRコードの外観をカスタマイズできますか?
はい、IronBarcodeを使用すると、サイズ、解像度、色の調整、ロゴや注釈の追加により、QRコードをカスタマイズして視覚的な魅力と機能を向上させることができます。
ASP.NET MVCビューでQRコードを表示するにはどうすればよいですか?
IronBarcodeでQRコードを生成した後、ViewBagに画像URLを格納し、Razorビュー内でHTML タグを使用してQRコード画像をレンダリングすることにより、ASP.NET MVCビューで表示できます。
.NETアプリケーションでQRコードをデコードするにはどうすればよいですか?
IronBarcodeは、さまざまなバーコード形式からデータをスキャンして抽出する機能を提供しており、QRコードを含むバーコードをデコードできます。これにより、アプリケーションは在庫管理やチケット検証などに適しています。
IronBarcodeライブラリには無料版がありますか?
IronBarcodeは個人使用に限り無料で、開発者がその機能を試験することができます。商業利用には、ライセンスが必要で、購入可能で評価用の無料トライアルが付属しています。
ASP.NET MVCプロジェクトにおけるQRコードのいくつかの用途は何ですか?
ASP.NET MVCプロジェクトにおけるQRコードは、ウェブサイトへの迅速なアクセス、非接触型の支払い、チケット販売、在庫管理、モバイルアプリケーションの統合などに使用され、ユーザーの対話および情報提供を強化します。
QRコード生成用のASP.NET MVCプロジェクトをセットアップするにはどうすればいいですか?
ASP.NET CoreWebアプリを 'モデルビューコントローラー' テンプレートで新規作成し、IronBarcodeライブラリをインストールして、アプリケーションでQRコード生成を始めるためにVisual Studioを使用してASP.NET MVCプロジェクトをセットアップします。
Iron Suiteに含まれるライブラリはどれですか?
Iron Suiteには、Iron Barcode、Iron OCR、Iron PDF、Iron XL、およびIron Webscraperなどのさまざまな.NETライブラリが含まれており、それぞれバーコード生成、光学文字認識、PDF操作、Excel処理、ウェブスクレイピングなどのタスクに特化した機能を提供しています。



