他のコンポーネントと比較

IronBarcode と QrCoder C# の比較

公開済み 2023年3月12日
共有:

このチュートリアルでは、QRコードおよびバーコードを扱うために広く使用されているC#ライブラリであるIronBarcodeとQrCoderを比較します。

まず両方のライブラリの簡単な紹介から始めましょう。

IronBarcode

IronBarcodeは、Iron Softwareによって作成および維持されているライブラリであり、C#ソフトウェアエンジニアが.NETアプリケーションやウェブサイトでバーコードやQRコードを読み書きできるようにします。 すべての .NET フレームワークおよび .NET コア フレームワーク向けに、NuGetで利用可能です。 IronBarcodeは、バーコードの読み取りまたは書き込みにわずか1行のコードしか必要としません。

QrCoder(クアコード・アー)

QRCoderは、QRコードを作成するためのシンプルなC#ライブラリです。 他のライブラリへの依存関係がなく、.NET Frameworkおよび.NET Core PCLバージョンのNuGetで利用可能です。

両方のライブラリは、以下の主要機能を備えている必要があります:

  • QRコードをスキャン
  • バーコードをスキャン
  • QRコードを生成
  • バーコードを生成

    これらのライブラリのすべての機能を実装し、そのパフォーマンスを比較します。

    まず、両方のライブラリをVisual Studioプロジェクトにインストールしましょう。 両方のライブラリにはそれぞれのNuGetパッケージがあるため、NuGet パッケージ マネージャー コンソールを通じてそれらをインストールします。

IronBarcode のインストール

IronBarcode をインストールするには、パッケージマネージャーコンソールに次のコマンドを入力してください:

Install-Package BarCode

これは私たちのプロジェクトにIronBarcodeライブラリをインストールします。

IronBarcodeとQrCoder C#の比較 - 図1: IronBarcodeのインストール

以下を日本語に翻訳してください: IronBarcodeをインストールする

QrCoderをインストール

次のコマンドをパッケージ マネージャー コンソールに入力します

Install-Package QRCoder

これにより、プロジェクトに QrCoder ライブラリがインストールされます。

IronBarcodeとQrCoder C#の比較 - 図2: IronBarcodeのインストール

QrCoderのインストール

さて、これらのライブラリを使用して最初のQRコードを生成します。

IronBarcodeを使用してQRコードを生成する

以下のコードはQRコードを生成します。

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Dim qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder")
qrCode.SaveAsPng("D:\Barcode Images\QrCodeByIronBarcode")
stopwatch.Stop()
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms")
VB   C#

プログラムの実行時間を測定してライブラリの効率性を分析するために、Stopwatch インスタンスが作成されます。

IronBarcodeとQrCoder C#の比較 - 図3: IronBarcodeの結果

IronBarcodeから生成されたバーコード

IronBarcodeの実行時間

IronBarcodeは、QRコードを生成して保存するのに3503ミリ秒かかります。

IronBarcodeとQrCoder C#の比較 - 図4:実行時間

IronBarcodeの新しいバーコード生成にかかる実行時間

QRCoderを使用してQRコードを作成

以下のサンプルコードは、QrCoderを使用してQRコードを生成します。

QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
Dim qrGenerator As New QRCodeGenerator()
Dim qrCodeData As QRCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q)
Dim qrCode As New QRCode(qrCodeData)
Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20)
qrCodeImage.Save("D:\Barcode Images\QrCodeByQrCoder.png")
VB   C#

QrCoderは、QRコードを画像として保存するための組み込み機能を提供していません。 ただし、QrCoderをBitmapオブジェクトに解析することで保存できます。 次に、Bitmapが提供する保存機能を使用してQRコードを保存できます。

IronBarcodeとQrCoder C#の比較 - 図5:QR Coderの結果

QrCoderによって生成されたバーコード

Qrcoder の実行時間

QrCoderは、QRコードを生成して保存するのに592ミリ秒かかります。

IronBarcodeとQrCoder C#の比較 - 図6: QrCoder's Execution Time

QrCoderが新しいバーコードを生成するのにかかった時間

分析

IronBarcodeの実行時間は3503ミリ秒であるのに対し、QrCoderは592ミリ秒しかかかりません。 これにより、パフォーマンスの面ではIronBarcodeよりもQrCoderの方が優れています。

QRコードの生成はIronBarcodeで非常に簡単です。わずか2行のコードを書く必要があります。 QrCoderライブラリを使用すると、5行のコードで済みます。

IronBarcodeは、生成されたQRコードをファイルに保存するための組み込み関数も提供していますが、QrCoderは提供していません。 ファイルにQRコードを保存するためにビットマップオブジェクトを作成する必要があります。これには、QrCoderを使用してQRコードを生成するために4つのオブジェクトを作成する必要があります。 IronBarcodeでは、同じことを実行するために1つのオブジェクトのみを作成する必要があります。

次に、両方のライブラリを使用してバーコードを生成します。

IronBarcodeを使用してバーコードを生成する

以下のコードはIronBarcodeを使用してバーコードを生成します:

var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
Dim barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128)
barcode.SaveAsPng("D:\Barcode Images\BarcodeByIronBarcode.png")
VB   C#
IronBarcodeとQrCoder C#の比較 - 図7: IronBarcodeを使用して生成されたバーコード

IronBarcode を使用して生成されたバーコード

以下は、IronBarcodeを使用してバーコードを生成するためにかかる実行時間です:

バーコード生成におけるIronBarcodeとQrCoder C#の比較 - 図8: 新しいバーコードを生成する際のIronBarcodeの実行時間

IronBarcodeのバーコード生成時間

バーコードを生成するのに3756ミリ秒、つまり3.76秒かかります。

QrCoderを使用してバーコードを生成する

QrCoderライブラリには、バーコードを作成する機能がないことに注意する価値があります。 したがって、バーコードを作成する必要がある場合、IronBarcodeはより良い選択です。

QRコードスキャンに関して、どのライブラリが最適なオプションか見てみましょう。

IronBarcodeを使用してQRコードを読み取る

以下のコードは、IronBarcodeを使用してQRコードを読み取ります。

BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Extracted text from QR Code is: "+result.Text);
    }
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Extracted text from QR Code is: "+result.Text);
    }
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\QrcodeByIronBarcode.png")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine("Extracted text from QR Code is: " & result.Text)
	Next result
End If
VB   C#

IronBarcodeはQRコードを読み込む結果としてEnumerableを返します。 Enumerable をループして各結果を取得する必要があります。 この機能は、ドキュメントや複数のQRコードを含む画像からQRコードを読み取るのに役立ちます。

IronBarcodeとQrCoderをC#で比較 - 図9: IronBarcode's QR Code Scanning Execution Time

IronBarcodeがドキュメントからすべてのQRコードを読み取る/スキャンするのにかかる時間

IronBarcodeを使用すると、3136ミリ秒、または3.1秒かかります。

QrCoderを使用してQRコードを読み取る

QrCoderライブラリには、QRコードを読み取るまたはスキャンする機能が提供されていません。

IronBarcodeを使用してバーコードを読み取る

以下のコードは、IronBarcode を使用してバーコードをスキャンします。

BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
    }
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
    }
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\BarcodeByIronBarcode.png")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine("Text Extracted from Barcode is: " & result.Text)
	Next result
End If
VB   C#

IronBarcodeはバーコードを読み取る結果としてEnumerableを返します。 それぞれの結果を取得するためにループする必要があります。 ドキュメントや画像から複数のバーコードを読み取る場合に有益です。

上記のコードによって生成された出力は次のとおりです:

IronBarcodeとQrCoder C# の比較 - 図10:複数のバーコードをスキャンする際のIronBarcodeの実行時間

IronBarcodeがPDFまたは画像に含まれるバーコードをスキャンするのにかかる時間

QrCoderを使用してバーコードを読み取る

QrCoderライブラリはQRコードの読み取りやスキャン機能を提供していません。

さて、両方のライブラリのライセンスオプションについて話し合いましょう。

ライセンス

IronBarcode ライセンス

IronBarcodeは開発用に無料です。 ただし、Visual Studioの開発環境外でのデプロイにはライセンスが必要です。 ライセンスの価格範囲は $749 から $2999 です。(米ドル). Iron Suite for .NET

を購入すると、割引を受けることができます。Iron Suite.

IronBarcodeとQrCoder C#の比較 - 図11: Ironライセンス

IronBarcode の[ライセンスページ](/csharp/barcode/licensing/)にアクセスして、利用可能なライセンスに関する詳細情報をご覧ください。

QrCoderのライセンス

QrCoder はオープンソースであるため、ライセンスは必要ありません。 任意の環境で使用できます。 オープンソースの開発が好きな方は、そのソースコードに貢献することもできます。

いつQrCoderを使用するか

QRコードを生成する機能のみが必要な場合、QRCoderは無料で使用でき、支払いやサブスクリプション料金が不要であるため、最良の選択肢です。

IronBarcodeを使用する場合

IronBarcodeは、QRコードの生成を超える機能が必要な場合に最適な選択肢です。例えば:

  • 画像やPDFから単一または複数のバーコードおよびQRコードを読み取ることができます。
  • 傾き、向き、ノイズ、低解像度、コントラストなどの画像補正。
  • バーコードを作成し、それを画像またはPDFドキュメントに適用します。
  • HTMLドキュメントにバーコードを埋め込む。
  • バーコードのスタイリングおよび注釈テキストの追加。
  • ロゴ、色、および高度なQRアライメントを追加できるQRコードの書き込み。

サマリー

以下の表は、IronBarcodeとQrCoderの比較を示しています。

IronBarcodeとQrCoder C#の比較 - 図12:2つのライブラリの比較

IronBarcodeとQrCoderの並列比較

結論

IronBarcode for .NETは、開発者が.NETアプリケーション内でバーコードやQRコードを読み書きする際に、たった1行のコードで実行できるようにします。 ライブラリは、39/93/128、UPCA/E、EAN8/13、QRなど、ほとんどのバーコードおよびQRコード標準をサポートしています。 このライブラリはバーコード画像を自動的に前処理し、回転、ノイズ、歪み、および傾きに対する補正を提供して、速度と精度を向上させます。 IronBarcodeは、32ビットおよび64ビットシステム、すべての.NET言語、およびデスクトップ、コンソール、クラウド、モバイルおよびWebアプリケーションなど、さまざまなプラットフォームと互換性があります。 また、開発者は PDF、JPG、TIFF、GIF、BMP、PNG、HTML ドキュメントにバーコードおよび QR コードを書き込むことができ、テキストの色、サイズ、回転、および品質を変更することもできます。 このライブラリは安全であり、Webサービスを使用したり、インターネットを介してデータを送信したりすることはありません。 IronBarcodeは無料体験版が利用可能で、個人利用向けのLiteバージョン、最大10人の開発者チーム向けのProfessionalパッケージ、企業向けのUnlimitedパッケージを含む3つのライセンスオプションを提供しています。

QRCoderは、他のライブラリに依存せずにISO/IEC 18004に基づいてQRコードを生成するC# .NETライブラリです。 以下を日本語に翻訳します:

いくつかのQRコード生成クラスを提供しています。これには、QRCode、ArtQRCode、AsciiQRCodeなどがあります。 ただし、すべてのレンダラーがすべてのターゲットフレームワークで利用可能というわけではなく、.NET Standard/.NET >=5.0 バージョンにはいくつかの制約があります。 QRCoderは無料で、ライセンスは不要です。

IronBarcodeは、すべての.NET Frameworkバージョンをサポートし、より幅広い機能を提供し、SaaSおよびOEM再配布のカバレッジを提供するため、QRCoderよりも多用途です。 IronBarcodeは包括的なドキュメントおよび24時間365日のサポートを提供しますが、QRCoderは提供しません。 IronBarcodeにはライセンス料がかかりますが、その提供される機能とサポートを考慮すると妥当です。

IronBarcodeは、によって開発されたライブラリですIron Software他にも便利なライブラリを提供しているIronPDF, IronXL, IronOCR、およびIronWebscraper. 完全セットを購入Iron Suite大幅な割引で5つすべてのプロダクトを手に入れましょう。

まとめると、IronBarcodeは、バーコードとQRコードの両方を使用する必要があり、バーコードジェネレーター、QRコードジェネレーター、バーコードリーダー、およびQRコードリーダーを作成したい方に最適です。 一方で、QRCoderはQRコード生成器を必要とする人に適しています。

< 以前
ZXing.org QRコードライブラリとIronBarcodeの徹底比較
次へ >
ZXingデコーダーとIronBarcodeの比較