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

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ライブラリを統合するプロセスをガイドします。 私の場合、新しいプロジェクトを作成しました。

新しいプロジェクトを作成する手順は以下の通りです。

  1. Microsoft Visual Studio 2022を開きます。
  2. スタートページで"新しいプロジェクトを作成する"をクリックするか、トップメニューから"ファイル">"新規">"プロジェクト"に進みます。
  3. "新しいプロジェクトを作成する"ウィンドウでは、さまざまなプロジェクトテンプレートが表示されます。 "ASP.NET Core web app (Model-view-controller)"のプロジェクトテンプレートを選択し、"次へ"をクリックします。
  4. プロジェクトの名前と場所を入力します。 プロジェクトファイルを保存するための適切な場所をコンピューター上で選択します。
  5. 希望するフレームワークのバージョンを選択します。 通常、Visual Studioは最新の安定したバージョンを提案しますが、必要に応じて他のバージョンを選択することもできます。 私は.NET 7を選びました。
  6. 認証オプションやプロジェクトフォルダなど、必要に応じて追加のプロジェクト設定をカスタマイズします。
  7. "作成"をクリックしてプロジェクトを作成します。

その後、Visual Studioはプロジェクトファイルを生成し、ソリューションエクスプローラを開き、プロジェクト構造を確認し、コードの作業を開始できます。

! ASP.NET MVCでQR コードを生成する方法: 図 1

次に、アプリケーションにIron Barcodeライブラリをインストールする必要があります。

Iron Barcodeのインストール

まず、Visual Studioでパッケージマネージャーコンソールを開き、以下のコマンドを実行します。

Install-Package IronBarCode

このコマンドは、Iron Barcodeライブラリをインストールし、プロジェクトに必要な参照を追加します。

! ASP.NET MVCでQR コードを生成する方法: 図 2

さて、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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

このコードはQRコードを生成できるコントローラーを設定します。 CreateQRCodeアクションが呼び出されると、QRコードのテキストを取得し、QRコードの画像を生成し、保存し、表示用のURLをビューに提供します。 詳細は次のとおりです:

  • コントローラーには、Webホスティング環境にアクセスするためのIWebHostEnvironment パラメータを受け取るコンストラクターがあります。
  • CreateQRCodeアクションはビューを返します。
  • [HttpPost]属性を持つCreateQRCodeアクションは、QRコードテキストを含むQRCodeModelパラメータを取ります。
  • アクション内で、Iron BarcodeライブラリのQRCodeWriterクラスを使用してQRコードが生成されます。
  • 生成されたQRコードは、WebルートパスのGeneratedQRCodeというフォルダにPNG画像ファイルとして保存されます。
  • GeneratedQRCodeフォルダが存在しない場合は作成されます。
  • 保存されたQRコード画像のファイルパスとURLが生成されます。
  • QRコード画像のURLはViewBag.QrCodeUri プロパティに格納され、ビューで使用されます。
  • プロセス中に発生する例外はすべてキャッチされ、ログに記録されます。

CreateQRCodeビューの追加

次に、新しいビューを追加するには、QrCodeControllerクラスのCreateQRCodeアクションメソッドを右クリックします。 "ビューの追加"を選択し、"Razorビュー"を選択し、"追加"ボタンをクリックします。

! ASP.NET MVCでQR コードを生成する方法: 図 3

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

! ASP.NET MVCでQR コードを生成する方法: 図 4

ビューの名前を書き、テンプレート"作成"を選択し、新しく作成したモデルクラス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?}")
$vbLabelText   $csharpLabel

これにより、デフォルトのルートがHomeControllerからQrCodeControllerに変更されます。

プロジェクトをコンパイルして実行します。

出力

! ASP.NET MVCでQR コードを生成する方法: 図 5

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

! ASP.NET MVCでQR コードを生成する方法: 図 6 - ASP.NETでのQRコード

次に、注釈テキスト、QRコード値の追加、QRコードの色の変更を行い、バーコードにビジュアルスタイリングを追加します。

QRコードのビジュアルスタイリングの追加

CreateQRCodeアクションメソッドの中に次のコード行を追加します。

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)
$vbLabelText   $csharpLabel

プロジェクトを実行し、QRコードを生成します。

! ASP.NET MVCでQR コードを生成する方法: 図 7 - 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, IronPDFIronXL、および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 <img> タグを使用して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処理、ウェブスクレイピングなどのタスクに特化した機能を提供しています。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。