ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
このチュートリアルでは、QRコードおよびバーコードを扱うために広く使用されているC#ライブラリであるIronBarcodeとQrCoderを比較します。
まず両方のライブラリの簡単な紹介から始めましょう。
IronBarcodeは、Iron Softwareによって作成および維持されているライブラリであり、C#ソフトウェアエンジニアが.NETアプリケーションやウェブサイトでバーコードやQRコードを読み書きできるようにします。 すべての .NET フレームワークおよび .NET コア フレームワーク向けに、NuGetで利用可能です。 IronBarcodeは、バーコードの読み取りまたは書き込みにわずか1行のコードしか必要としません。
QRCoderは、QRコードを作成するためのシンプルなC#ライブラリです。 他のライブラリへの依存関係がなく、.NET Frameworkおよび.NET Core PCLバージョンのNuGetで利用可能です。
両方のライブラリは、以下の主要機能を備えている必要があります:
バーコードを生成
これらのライブラリのすべての機能を実装し、そのパフォーマンスを比較します。
まず、両方のライブラリをVisual Studioプロジェクトにインストールしましょう。 両方のライブラリにはそれぞれのNuGetパッケージがあるため、NuGet パッケージ マネージャー コンソールを通じてそれらをインストールします。
IronBarcode をインストールするには、パッケージマネージャーコンソールに次のコマンドを入力してください:
Install-Package BarCode
これは私たちのプロジェクトにIronBarcodeライブラリをインストールします。
次のコマンドをパッケージ マネージャー コンソールに入力します
Install-Package QRCoder
これにより、プロジェクトに QrCoder ライブラリがインストールされます。
さて、これらのライブラリを使用して最初の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")
プログラムの実行時間を測定してライブラリの効率性を分析するために、Stopwatch
インスタンスが作成されます。
IronBarcodeは、QRコードを生成して保存するのに3503ミリ秒かかります。
以下のサンプルコードは、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")
QrCoderは、QRコードを画像として保存するための組み込み機能を提供していません。 ただし、QrCoderをBitmapオブジェクトに解析することで保存できます。 次に、Bitmapが提供する保存機能を使用してQRコードを保存できます。
QrCoderは、QRコードを生成して保存するのに592ミリ秒かかります。
IronBarcodeの実行時間は3503ミリ秒であるのに対し、QrCoderは592ミリ秒しかかかりません。 これにより、パフォーマンスの面ではIronBarcodeよりもQrCoderの方が優れています。
QRコードの生成はIronBarcodeで非常に簡単です。わずか2行のコードを書く必要があります。 QrCoderライブラリを使用すると、5行のコードで済みます。
IronBarcodeは、生成されたQRコードをファイルに保存するための組み込み関数も提供していますが、QrCoderは提供していません。 ファイルにQRコードを保存するためにビットマップオブジェクトを作成する必要があります。これには、QrCoderを使用してQRコードを生成するために4つのオブジェクトを作成する必要があります。 IronBarcodeでは、同じことを実行するために1つのオブジェクトのみを作成する必要があります。
次に、両方のライブラリを使用してバーコードを生成します。
以下のコードは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")
以下は、IronBarcodeを使用してバーコードを生成するためにかかる実行時間です:
バーコードを生成するのに3756ミリ秒、つまり3.76秒かかります。
QrCoderライブラリには、バーコードを作成する機能がないことに注意する価値があります。 したがって、バーコードを作成する必要がある場合、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
IronBarcodeはQRコードを読み込む結果としてEnumerable
を返します。 Enumerable
をループして各結果を取得する必要があります。 この機能は、ドキュメントや複数のQRコードを含む画像からQRコードを読み取るのに役立ちます。
IronBarcodeを使用すると、3136ミリ秒、または3.1秒かかります。
QrCoderライブラリには、QRコードを読み取るまたはスキャンする機能が提供されていません。
以下のコードは、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
IronBarcodeはバーコードを読み取る結果としてEnumerable
を返します。 それぞれの結果を取得するためにループする必要があります。 ドキュメントや画像から複数のバーコードを読み取る場合に有益です。
上記のコードによって生成された出力は次のとおりです:
QrCoderライブラリはQRコードの読み取りやスキャン機能を提供していません。
さて、両方のライブラリのライセンスオプションについて話し合いましょう。
IronBarcodeは開発用に無料です。 ただし、Visual Studioの開発環境外でのデプロイにはライセンスが必要です。 ライセンスの価格範囲は $749 から $2999 です。(米ドル). Iron Suite for .NET
を購入すると、割引を受けることができます。Iron Suite.
QrCoder はオープンソースであるため、ライセンスは必要ありません。 任意の環境で使用できます。 オープンソースの開発が好きな方は、そのソースコードに貢献することもできます。
QRコードを生成する機能のみが必要な場合、QRCoderは無料で使用でき、支払いやサブスクリプション料金が不要であるため、最良の選択肢です。
IronBarcodeは、QRコードの生成を超える機能が必要な場合に最適な選択肢です。例えば:
以下の表は、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コード生成器を必要とする人に適しています。
9つの .NET API製品 オフィス文書用