IRONQRの使用 ASP .NET CoreでQRコードを生成する方法 Jordi Bardia 更新日:6月 22, 2025 IronQR をダウンロード NuGet ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる ジェミニで開く このページについてGeminiに問い合わせる 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る QRコードは現代技術の重要な一部となっており、情報を便利に保存および送信する方法を提供しています。 Web開発では、私たちがASP.NET Coreで実装するIronQRのようなQRコードジェネレーターは、動的なQRコード作成のための強力な機能を提供します。 QRコードジェネレーターは、チケッティングシステム、認証、在庫管理など、さまざまなアプリケーションにとって不可欠です。 この記事では、IronQRを使用してASP.NET CoreでQRコードを作成するプロセスについて詳しく説明します。これはこの目的のために設計された強力なライブラリです。 ASP.NET Coreは、Webアプリケーションを構築するための多用途なフレームワークであり、QRコード生成のための強力な機能を提供します。 この記事では、Iron Softwareから提供されるQRコード生成の強力なライブラリであるIronQRを使用してASP.NET CoreでQRコードを作成するプロセスについて詳しく説明します。 ASP.NET CoreでQRコードを生成する方法 Visual Studioを使用してASP.Netプロジェクトを作成 パッケージマネージャーからIronQRライブラリをインストール QRコードを生成 フォーマット付きでQRコードを生成 IronQRの理解 IronQRは、.NETアプリケーション向けの高性能なQRコード生成ライブラリです。 さまざまなカスタマイズオプションでQRコードを生成するためのシンプルで直感的なAPIを提供します。 IronQRは.NET Standardをサポートしており、ASP.NET Coreを含む幅広いプラットフォームと互換性があります。 IronQRを使用すると、開発者はさまざまなデータ型、エラー訂正レベル、サイズ、および形式でQRコードを手軽に生成できます。 主な特徴 1. QRコードの読取りと作成 IronQRは、QRコードの生成と読み取りを簡単に行うことができます。 動的にQRコードを作成する必要がある場合でも、既存のものから情報を抽出する必要がある場合でも、このライブラリが役立ちます。 2. 使いやすいAPI このライブラリは使いやすいAPIを提供し、開発者が.NETプロジェクトにバーコード機能を迅速に統合できるようにします。 数分でQRコードの作業を開始できます。 3. 互換性 IronQRは、以下を含む様々な.NETバージョンをサポートしています: C#、VB.NET、F# .NET Core(8、7、6、5、および3.1以上) .NET Standard(2.0以上) .NET Framework(4.6.2以上) Web (Blazor & WebForms)、モバイル (Xamarin & MAUI)、デスクトップ (WPF & MAUI)、コンソールアプリケーションなど、幅広いプロジェクトタイプをカバーします。 4. QR検出のための機械学習モデル IronQRはQRコードを検出するために高度なカスタム機械学習モデルを使用します。 これにより正確で信頼性のあるコード認識が保証されます。 また、軽量なアプローチを好む人のために、スリムモードオプション(機械学習なし)も利用可能です。 5. QRコードの読み取り 様々な画像形式からQRコードを読むことができます: 画像(jpg、png、svg、bmp) マルチページ画像(gif、tif、tiff) System.Drawing ビットマップ IronDrawing 画像 (AnyBitmap) 6. QRコードの書き込み IronQRを使用すると、以下のような異なるドキュメントタイプでQRコードを書き込むことができます: 画像(jpg、png、gif、tiff、bmp) System.Drawing イメージ ストリーム(MemoryStream、byte[]) PDF(既存PDFへのスタンプとして) 7. QRコードのスタイリング サイズを変更し、余白や境界を調整し、色を変更し、ロゴを追加することでQRコードをカスタマイズします。 8. エラーハンドリングと訂正 IronQRは詳細なエラーメッセージを提供し、カスタムのQRエラー訂正レベルをサポートします。 この知識をもとに、ASP.NET CoreでQRコードを生成するアプリケーションを始めましょう。 ステップ1:Visual Studioを使用して新しいASP.NETプロジェクトを作成する QRコード生成を始める前に、新しいASP.NET Coreプロジェクトを設定しましょう。 新しいプロジェクトを開始する手順は次のとおりです: Visual Studioで新しいプロジェクトを作成し、ASP.Net Core Web Appアプリケーションテンプレートを選択します "作成"ボタンをクリックしてテンプレートからアプリケーションコードを生成します ステップ2:パッケージマネージャーからIronQRライブラリをインストールする 必要な.NETバージョンを選択します。 以下に示すようにVisual StudioパッケージマネージャーからIronQRライブラリをインストールします。 IronQRはNuGetパッケージマネージャーを使用してもインストールできます。 ステップ3:QRコードを生成する ステップ 2: パッケージマネージャーから IronQR ライブラリをインストール Visual Studioパッケージマネージャーから以下のようにIronQRライブラリをインストールします。 IronQRは、NuGetパッケージマネージャを使用してインストールすることもできます。 ステップ3:QRコードを生成する では、QRコードアプリを作成しましょう。 QRCodeモデルを作成 using System.ComponentModel.DataAnnotations; namespace GenerateQRCode.Models { public class QRCodeModel { [Display(Name = "Enter QR Code Text")] public string QRCodeText { get; set; } } } using System.ComponentModel.DataAnnotations; namespace GenerateQRCode.Models { public class QRCodeModel { [Display(Name = "Enter QR Code Text")] public string QRCodeText { get; set; } } } Imports System.ComponentModel.DataAnnotations Namespace GenerateQRCode.Models Public Class QRCodeModel <Display(Name := "Enter QR Code Text")> Public Property QRCodeText() As String End Class End Namespace $vbLabelText $csharpLabel QRコードコントローラを作成 新しいコントローラを追加するには、コントローラフォルダを右クリックし、以下のように名前を付けます。 空のコントローラを選択します。 名前を提供します。 次に、以下のコードをコントローラに統合します。 using GenerateQRCode.Models; using IronSoftware.Drawing; using IronQr; using Microsoft.AspNetCore.Mvc; namespace GenerateQRCode.Controllers { public class QrCodeController : Controller { private readonly IWebHostEnvironment _environment; public QrCodeController(IWebHostEnvironment environment) { _environment = environment; } public IActionResult Index() { return View(); } [HttpPost] public IActionResult CreateQRCode(QRCodeModel generateQRCode) { try { string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png"); // Create a QR Code object QrCode myQr = QrWriter.Write(generateQRCode.QRCodeText); // Save QR Code as a Bitmap AnyBitmap qrImage = myQr.Save(); // Save QR Code Bitmap as File qrImage.SaveAs(filePath); string fileName = Path.GetFileName(filePath); // qr code file string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName; ViewBag.QrCodeUri = imageUrl; } catch (Exception) { throw; } return View(); } } } using GenerateQRCode.Models; using IronSoftware.Drawing; using IronQr; using Microsoft.AspNetCore.Mvc; namespace GenerateQRCode.Controllers { public class QrCodeController : Controller { private readonly IWebHostEnvironment _environment; public QrCodeController(IWebHostEnvironment environment) { _environment = environment; } public IActionResult Index() { return View(); } [HttpPost] public IActionResult CreateQRCode(QRCodeModel generateQRCode) { try { string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png"); // Create a QR Code object QrCode myQr = QrWriter.Write(generateQRCode.QRCodeText); // Save QR Code as a Bitmap AnyBitmap qrImage = myQr.Save(); // Save QR Code Bitmap as File qrImage.SaveAs(filePath); string fileName = Path.GetFileName(filePath); // qr code file string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName; ViewBag.QrCodeUri = imageUrl; } catch (Exception) { throw; } return View(); } } } Imports GenerateQRCode.Models Imports IronSoftware.Drawing Imports IronQr Imports Microsoft.AspNetCore.Mvc Namespace GenerateQRCode.Controllers Public Class QrCodeController Inherits Controller Private ReadOnly _environment As IWebHostEnvironment Public Sub New(ByVal environment As IWebHostEnvironment) _environment = environment End Sub Public Function Index() As IActionResult Return View() End Function <HttpPost> Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult Try 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(_environment.WebRootPath, "GeneratedQRCode/qrcode.png") ' Create a QR Code object Dim myQr As QrCode = QrWriter.Write(generateQRCode.QRCodeText) ' Save QR Code as a Bitmap Dim qrImage As AnyBitmap = myQr.Save() ' Save QR Code Bitmap as File qrImage.SaveAs(filePath) Dim fileName As String = System.IO.Path.GetFileName(filePath) ' qr code file Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/GeneratedQRCode/" & fileName ViewBag.QrCodeUri = imageUrl Catch e1 As Exception Throw End Try Return View() End Function End Class End Namespace $vbLabelText $csharpLabel コードの説明 名前空間とクラス定義 コードはusingステートメントから始まり、必要な名前空間をインポートします。 GenerateQRCode.Controllers名前空間には、QrCodeControllerクラスがあります。 コントローラコンストラクタ QrCodeControllerクラスには、IWebHostEnvironmentパラメータを取るコンストラクタがあります。 このパラメータは、ASP.NET CoreによってWebホスティング関連のタスクを処理するために注入されます。 アクションメソッド Index():このメソッドは、アクセスされたときにビュー(おそらくHTMLページ)を返します。 QRコード生成とは直接関係がないようです。 CreateQRCode(QRCodeModel generateQRCode):このメソッドは、QRコード生成ロジックの中心です。 QRコードのテキストを含むと思われるQRCodeModelオブジェクトをパラメータとして受け取ります。 メソッド内 生成されたQRコード画像を保存するためのパスを構築します。 QrWriter.Write(generateQRCode.QRCodeText)を使用してQRコードオブジェクトを作成します。 QRコードをビットマップ画像として保存します。 Webリクエストの詳細に基づいて画像URLを構築します。 ViewBag.QrCodeUriプロパティに画像URLを設定します。 このプロセス中に例外が発生した場合、それらはスローされます。 QRコード生成 実際のQRコード生成はCreateQRCodeメソッド内で行われます。 QrWriter.Write(generateQRCode.QRCodeText)の呼び出しは、提供されたテキストに基づいてQRコードオブジェクトを作成します。 画像の保存 生成された QR コードは、qrImage.SaveAs(filePath) を使用してビットマップ画像として保存されます。 次に、以下のコードをビューに置き換えます。 画像URL imageUrlは、ウェブリクエストのスキーム、ホスト、パスベースを使用して構成されます。 このURLは、生成されたQRコード画像にアクセスできる場所を指します。 全体として、このコントローラーはQRコードの生成、画像の保存、さらなる使用のための画像URLの提供を処理します。 コントローラーにビューを追加 新しいビューを追加するには、QrCodeControllerクラスのCreateQRCodeアクションメソッドを右クリックします。 "ビューの追加"を選択し、"Razorビュー"を選択します。 "追加"ボタンをクリックします。 チケッティング、認証、情報共有のためのQRコードは、データを効率的に送信するための多目的なソリューションを提供します。 QRコード生成をASP.NET Coreプロジェクトに組み込み、動的データエンコーディングと共有のための可能性の世界を開放しましょう。 @model GenerateQRCode.Models.QRCodeModel @{ ViewData["Title"] = "Generate QR Code"; } <h1>Generate QR Code</h1> <h4>QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary">Create QR Code</a> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Your QR Code will appear here." /> </div> </form> </div> </div> <div> <a asp-action="Index">Clear</a> </div> @section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} } @model GenerateQRCode.Models.QRCodeModel @{ ViewData["Title"] = "Generate QR Code"; } <h1>Generate QR Code</h1> <h4>QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary">Create QR Code</a> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Your QR Code will appear here." /> </div> </form> </div> </div> <div> <a asp-action="Index">Clear</a> </div> @section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} } model ReadOnly Property () As GenerateQRCode.Models.QRCodeModel ViewData("Title") = "Generate QR Code" End Property 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary"> Create QR Code</a> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Your QR Code will appear here." /> </div> </form> </div> </div> <div> <a asp-action="Index"> Clear</a> </div> @section Scripts "Your QR Code will appear here." /> </div> </form> </div> </div> (Of div) <a asp-action="Index"> Clear</a> </div> section Scripts 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary"> Create QR Code</a> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Your QR Code will appear here." /> </div> </form> </div> </div> <div> <a asp-action "img-thumbnail" alt="Your QR Code will appear here." /> </div> </form> </div> </div> (Of div) <a asp-action 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary"> Create QR Code</a> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt "@ViewBag.QrCodeUri" class="img-thumbnail" alt 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary"> Create QR Code</a> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class "form-group"> <img src="@ViewBag.QrCodeUri" class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary"> Create QR Code</a> </div> <div class="form-group"> <img src "btn btn-primary"> Create QR Code</a> </div> <div class="form-group"> <img src 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class="btn btn-primary"> Create QR Code</a> </div> <div class "#" class="btn btn-primary"> Create QR Code</a> </div> <div class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href="#" class "form-group"> <a href="#" class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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"> <a href "text-danger"></span> </div> <div class="form-group"> <a href 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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 "QRCodeText" class="text-danger"></span> </div> <div class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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 "form-control" /> <span asp-validation-for="QRCodeText" class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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="form-control" /> <span asp-validation-for 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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 "control-label"></label> <input asp-for="QRCodeText" class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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="control-label"></label> <input asp-for 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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 "form-group"> <label asp-for="QRCodeText" class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <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 "text-danger"></div> <div class="form-group"> <label asp-for 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class "ModelOnly" class="text-danger"></div> <div class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class "CreateQRCode"> <div asp-validation-summary="ModelOnly" class 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary "col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary 'INSTANT VB WARNING: An assignment within expression was extracted from the following statement: 'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action "row"> <div class="col-md-4"> <form asp-action 'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend (Of h1) Generate QR Code</h1> (Of h4) QRCodeModel</h4> <hr /> <div Class="row"> <div class @ If True Then Await Html.RenderPartialAsync("_ValidationScriptsPartial") End If End Class $vbLabelText $csharpLabel app.MapControllerRoute( name: "default", pattern: "{controller=QrCode}/{action=Index}" ); app.MapControllerRoute( name: "default", pattern: "{controller=QrCode}/{action=Index}" ); app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=Index}") $vbLabelText $csharpLabel このアクションは、デフォルトのルートをHomeControllerからQrCodeControllerに変更します。 プロジェクトをコンパイルして実行します。 テキストボックスに任意のテキストを入力し、"作成"をクリックします。これにより、下に示す新しいQRコードが作成されます。 QRコードにスタイルを追加 [HttpPost] public IActionResult CreateQRCode(QRCodeModel generateQRCode) { try { string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png"); // Create a QR Code object QrCode qrCode = QrWriter.Write(generateQRCode.QRCodeText); QrStyleOptions style = new QrStyleOptions { Dimensions = 300, // px size Margins = 10, // px margins Color = Color.YellowGreen // custom color }; // Save QR Code with style options as a bitmap AnyBitmap qrImage = qrCode.Save(style); // Save QR Code Bitmap to File qrImage.SaveAs(filePath); string fileName = Path.GetFileName(filePath); // qr code file string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName; ViewBag.QrCodeUri = imageUrl; } catch (Exception) { throw; } return View(); } [HttpPost] public IActionResult CreateQRCode(QRCodeModel generateQRCode) { try { string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png"); // Create a QR Code object QrCode qrCode = QrWriter.Write(generateQRCode.QRCodeText); QrStyleOptions style = new QrStyleOptions { Dimensions = 300, // px size Margins = 10, // px margins Color = Color.YellowGreen // custom color }; // Save QR Code with style options as a bitmap AnyBitmap qrImage = qrCode.Save(style); // Save QR Code Bitmap to File qrImage.SaveAs(filePath); string fileName = Path.GetFileName(filePath); // qr code file string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName; ViewBag.QrCodeUri = imageUrl; } catch (Exception) { throw; } return View(); } <HttpPost> Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult Try 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(_environment.WebRootPath, "GeneratedQRCode/qrcode.png") ' Create a QR Code object Dim qrCode As QrCode = QrWriter.Write(generateQRCode.QRCodeText) Dim style As New QrStyleOptions With { .Dimensions = 300, .Margins = 10, .Color = Color.YellowGreen } ' Save QR Code with style options as a bitmap Dim qrImage As AnyBitmap = qrCode.Save(style) ' Save QR Code Bitmap to File qrImage.SaveAs(filePath) Dim fileName As String = System.IO.Path.GetFileName(filePath) ' qr code file Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/GeneratedQRCode/" & fileName ViewBag.QrCodeUri = imageUrl Catch e1 As Exception Throw End Try Return View() End Function $vbLabelText $csharpLabel 出力 ライセンス (トライアル利用可能) IronQRを試してみたい開発者向けに、トライアルライセンスがこちらで利用可能です。 このライセンスキーはappSettings.jsonファイルに配置する必要があります。これを行うと、上記の画像に表示されるウォーターマークが削除されます。 { "IronQR.License.LicenseKey": "My key" } 結論 この記事では、IronQRを使用してASP.NET CoreでQRコードを生成する方法を探ります。 IronQRの力を活用することで、開発者はQRコード生成機能を簡単にウェブアプリケーションに統合できます。 チケット発行、認証、情報共有のいずれにおいても、QRコードはデータを効率的に伝達するための多目的ソリューションを提供します。 IronQRを使用すれば、ASP.NET CoreでQRコードを作成およびカスタマイズするのがこれまでになく簡単になります。 QR コード生成を ASP.NET Core プロジェクトに組み込み、動的なデータのエンコードと共有の可能性を広げましょう。 よくある質問 ASP.NET CoreでQRコードを生成するにはどうすればよいですか? ASP.NET CoreでQRコードを生成するには、IronQRライブラリを使用できます。Visual Studioで新しいASP.NETプロジェクトを作成し、パッケージマネージャーを通してIronQRをインストールし、その使いやすいAPIを使用してQRコードを生成するコードを実装します。 ASP.NET CoreでのQRコード用のカスタマイズオプションはどれですか? IronQRは、ASP.NET CoreでのQRコード用に、サイズ変更、マージンの調整、色の変更、ロゴの追加といったいくつかのカスタマイズオプションを提供します。これらはQrStyleOptionsクラスを使用して管理できます。 ASP.NET CoreでのQRコード生成におけるエラー修正はどのように機能しますか? IronQRを使用すると、ASP.NET CoreでQRコードを生成する際にエラー修正レベルを管理できます。これにより、QRコードに必要なレベルのエラー耐性が確保され、信頼性のあるスキャンが可能になります。 ASP.NET Coreで異なる画像形式からQRコードを読み取ることはできますか? はい、ASP.NET CoreのIronQRを使用すると、jpg、png、svg、bmp、gif、tif、tiffなど、さまざまな画像形式からQRコードを読み取ることができ、System.Drawing BitmapsおよびIronDrawing Images(AnyBitmap)も対応しています。 フルライセンスなしでIronQRをテストすることは可能ですか? はい、IronQRの試用ライセンスはIron Softwareのウェブサイトから取得できます。この試用ライセンスを使ってライブラリをテストし、アプリのテストフェーズ中に表示するQRコードから透かしを削除するために、ライセンスをappSettings.jsonファイルに配置します。 WebアプリケーションでQRコードを使用する利点は何ですか? QRコードは効率的なデータの保存と送信を可能にするため、Webアプリケーションにとって有益です。特に、チケットシステム、認証、在庫管理のようなアプリケーションで役立ち、情報を動的にエンコードして共有する方法を提供します。 機械学習はASP.NET CoreでのQRコード検出をどのように強化しますか? IronQRは高度なカスタム機械学習モデルを使用してQRコード検出を行い、コード認識において高精度で信頼性のある検出を実現します。より軽量なソリューションを好むユーザーのために、非MLのスリムモードも利用可能です。 Jordi Bardia 今すぐエンジニアリングチームとチャット ソフトウェアエンジニア Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。 関連する記事 更新日 9月 18, 2025 C#で画像からQRを読む方法 このガイドでは、IronQRを使用して、.NET向けに特別に構築された高性能QRコードライブラリから画像のQRコードを読み取る方法を、わずか数行のC#コードで説明します。 詳しく読む 更新日 8月 20, 2025 QRコードスキャナーのために.NET MAUIを使用する方法 この投稿では、IronQRを使って.NET MAUIバーコードスキャナーとQRコードリーダーを作成する方法を説明します。 詳しく読む 更新日 7月 28, 2025 Visual StudioでQRコードを生成する方法 また、Visual StudioのNuGetパッケージマネージャで「IronQR」を検索し、最新の安定バージョンを選択する方法もあります。 詳しく読む QRコードスキャナーのために.NET MAUIを使用する方法ASP.NETでのQRコードスキャ...
更新日 9月 18, 2025 C#で画像からQRを読む方法 このガイドでは、IronQRを使用して、.NET向けに特別に構築された高性能QRコードライブラリから画像のQRコードを読み取る方法を、わずか数行のC#コードで説明します。 詳しく読む
更新日 8月 20, 2025 QRコードスキャナーのために.NET MAUIを使用する方法 この投稿では、IronQRを使って.NET MAUIバーコードスキャナーとQRコードリーダーを作成する方法を説明します。 詳しく読む
更新日 7月 28, 2025 Visual StudioでQRコードを生成する方法 また、Visual StudioのNuGetパッケージマネージャで「IronQR」を検索し、最新の安定バージョンを選択する方法もあります。 詳しく読む