フッターコンテンツにスキップ
他のコンポーネントと比較する

Barcode4.NET vs IronBarcode:C#バーコードライブラリの比較

Barcode4NETは正式な発表なしにサポート終了となった。 ComponentSource を通じた新規ライセンスの販売は停止され、 NuGetパッケージも公開されず、ライブラリは.NET Frameworkのみを対象としています。 Barcode4NETへの依存を引き継いだチーム向けに、この記事では、そのライブラリが提供していた機能と、 IronBarcodeが現在提供している機能を比較します。比較対象は、プラットフォームの対応範囲、API設計、バーコード読み取り機能、そしてライセンス上の現実など、両者を並べて評価することがやや困難な点です。

Barcode4NETについて

Barcode4NETは、ComponentSourceや同様のソフトウェア販売業者を通じて配布された商用バーコード生成ライブラリでした。 これは、Windowsベースの.NET Frameworkアプリケーション(主にWindows FormsとASP.NET Web Forms)向けに設計され、当時の主要な1次元シンボル体系に対応した、鮮明なビットマップ出力を提供した。

このライブラリはNuGetパッケージとして提供されたことは一度もありませんでした。 それはDLLとして配布され、開発者はそれをソース管理システムにチェックインするか、共有成果物場所に配置した。 これを使用するすべてのプロジェクトでは、ディスク上のDLLを指す<Reference>@ファイルの.csproj@要素が必要でした。 これはBarcode4NETが稼働していた頃は標準的な慣行だったが、現代のCI/CDワークフローでは大きな摩擦を生む。

Barcode4NETの主なアーキテクチャ特性:

  • Property-setter API:開発者は@--CODE-38072--@@オブジェクトを作成し、プロパティとして@--CODE-38073--@、@--CODE-38074--@、@--CODE-38075--@、@--CODE-38076--@を割り当て、次に@--CODE-38077--@を呼び出して@--CODE-38078--@を受け取ります。
  • 1Dシンボル体系に重点: Code128、Code39、EAN-13、およびUPC-Aをサポート。 QRコードのサポートはバージョンによって制限されていた。 -世代のみ:バーコードの読み取りやスキャン機能は製品に一切含まれていませんでした。
  • Windowsおよび.NET Frameworkのみ対応: .NET Core、 .NET 5以降、Linux、macOS、Docker、クラウドランタイムはサポートしていません。
  • NuGetディストリビューションなし:すべてのプロジェクト ファイルとビルド パイプラインで手動で DLL 参照が必要 -サポート終了:新規ライセンスの提供、セキュリティパッチ、バグ修正、ベンダーからの移行パスは提供されません。

Barcode4NET生成API

Barcode4NETにおける完全な生成ワークフローは、プロパティセッターパターンを採用していました。

//バーコード4NET— manual DLL,.NET フレームワークonly
// NoNuGetパッケージ— requires ThirdParty/Barcode4NET/Barcode4NET.dll in source control
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = "ITEM-12345";
barcode.Width = 300;
barcode.Height = 100;
Bitmap barcodeImage = barcode.GenerateBarcode();
barcodeImage.Save(outputPath, ImageFormat.Png);
//バーコード4NET— manual DLL,.NET フレームワークonly
// NoNuGetパッケージ— requires ThirdParty/Barcode4NET/Barcode4NET.dll in source control
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = "ITEM-12345";
barcode.Width = 300;
barcode.Height = 100;
Bitmap barcodeImage = barcode.GenerateBarcode();
barcodeImage.Save(outputPath, ImageFormat.Png);
Imports Barcode4NET
Imports System.Drawing
Imports System.Drawing.Imaging

Dim barcode As New Barcode4NET.Barcode()
barcode.Symbology = Symbology.Code128
barcode.Data = "ITEM-12345"
barcode.Width = 300
barcode.Height = 100
Dim barcodeImage As Bitmap = barcode.GenerateBarcode()
barcodeImage.Save(outputPath, ImageFormat.Png)
$vbLabelText   $csharpLabel

これは、Barcode4NET API の機能の全てを表しています。 このライブラリには、スムーズなデータ連結機能、閲覧機能、PDF出力機能、ロゴ埋め込みやエラー訂正制御といった高度なQRコードオプションが一切ありませんでした。

IronBarcodeを理解する

IronBarcodeは、 Iron Softwareが提供する商用.NETバーコードライブラリで、バーコードの生成と読み取りの両方を単一のパッケージで実現しています。 これはNuGet経由でのみ配布され、.NET フレームワーク4.6.2から.NET 9を対象としており、Windows、Linux、macOS、Docker、Azure、およびAWS Lambda上で動作します。

このライブラリは、流暢な静的APIを中心に構築されています。 生成にはBarcodeWriter.CreateBarcode()を使用し、データ文字列とエンコードタイプを指定し、その後にサイズ、色、形式の連鎖可能なオプションを指定します。 Readingは、別個のPDFライブラリを必要とせずに、画像ファイルのパス、ストリーム、PDFドキュメントを受け入れるBarcodeReader.Read()を使用します。

IronBarcodeの主な特徴:

  • Fluent静的生成API:@--CODE-38081--@@チェーン、@--CODE-38082--@@、@--CODE-38083--@、および単一の式でメソッドを保存します。
  • バーコード読み取り: @--CODE-38084--@@ 画像やPDFからバーコードをネイティブにデコードします。 -幅広いフォーマットをサポート: Code128、Code39、EAN-13、UPC-A、QRコード、データマトリックス、PDF417、Aztecなど
  • QRコード特化:@--CODE-38085--@@は、ロゴ埋め込みやエラー訂正レベルを含むQR特有のオプションを提供します。
  • NuGetの配布: 標準のdotnet add package IronBarcodeインストール; すべての依存関係を処理します。 -クロスプラットフォーム: Windows、Linux、macOS上の.NET 5、6、7、8、9で動作し、Dockerコンテナやサーバーレスクラウドランタイムにも対応しています。 -アクティブな商用製品:定期的なアップデート、セキュリティパッチ、 .NETバージョンの互換性アップデート、および定められた価格で購入可能なライセンス

機能比較

以下の表は、Barcode4NETとIronBarcodeの最も重要な違いをまとめたものです。

フィーチャー バーコード4NET IronBarcode
NuGetパッケージ いいえ — 手動DLLのみ はい (@--CODE-38088--@@)
バーコード生成 はい はい
バーコード読み取り なし はい
クロスプラットフォーム対応 いいえ — Windowsのみ はい — Windows、Linux、macOS
アクティブメンテナンス いいえ(終末期) はい
新規ライセンスが利用可能になりました なし はい

詳細な機能比較

フィーチャー バーコード4NET IronBarcode
世代
Code128生成 はい はい
Code39 生成 はい はい
EAN-13 / UPC-A世代 はい はい
QRコード生成 制限的 はい - @--CODE-38089--@@@.
ロゴ入りQRコード なし はい - @--CODE-38090--@@@@.
データマトリックス / PDF417 / アステカ なし はい
流暢なチェーン可能なAPI なし はい
読む
画像からのバーコード読み取り なし はい - --CODE-38091--@@@.
PDFファイルからのバーコード読み取り なし はい、ネイティブで、追加ライブラリは不要です。
複数バーコード検出 なし はい - @--CODE-38092--@@@.
読書速度設定 なし はい - @--CODE-38093--@@ enum
プラットフォーム
.NET フレームワーク はい はい(.NET Framework 4.6.2以降)
.NET 5 / 6 / 7 / 8 / 9 なし はい
Linux / macOS なし はい
ドッカー なし はい
Azure / AWS Lambda なし はい
分布
NuGetパッケージ なし はい
CODE-38094-- 互換性あり なし はい
CI/CD統合 手動DLL手順 標準復元
メンテナンス
アクティブな開発 いいえ(終末期) はい
セキュリティパッチ なし はい
バグ修正 なし はい
新しいライセンス なし はい — Lite 749ドル、 Plus 1,499ドル、 Professional 2,999ドル、Unlimited 5,999ドル

世代API設計

生成APIは、これら2つのライブラリを比較する上で最も直接的なポイントとなる。なぜなら、Barcode4NETが提供していた機能は生成機能のみだったからである。

Barcode4NETのアプローチ

Barcode4NETは、命令型のプロパティ設定パターンを採用していた。 開発者はBarcodeオブジェクトをインスタンス化し、個々のプロパティを割り当て、GenerateBarcode()を呼び出してSystem.Drawing.Bitmapを受け取る:

using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

public Bitmap GenerateLabel(string sku)
{
    var barcode = new Barcode4NET.Barcode();
    barcode.Symbology = Symbology.Code128;
    barcode.Data = sku;
    barcode.Width = 400;
    barcode.Height = 120;
    return barcode.GenerateBarcode();
}
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

public Bitmap GenerateLabel(string sku)
{
    var barcode = new Barcode4NET.Barcode();
    barcode.Symbology = Symbology.Code128;
    barcode.Data = sku;
    barcode.Width = 400;
    barcode.Height = 120;
    return barcode.GenerateBarcode();
}
Imports Barcode4NET
Imports System.Drawing
Imports System.Drawing.Imaging

Public Function GenerateLabel(sku As String) As Bitmap
    Dim barcode As New Barcode4NET.Barcode()
    barcode.Symbology = Symbology.Code128
    barcode.Data = sku
    barcode.Width = 400
    barcode.Height = 120
    Return barcode.GenerateBarcode()
End Function
$vbLabelText   $csharpLabel

戻り値の型 - System.Drawing.Bitmap - は、呼び出し元のコードが画像の保存、表示、ストリーミングを担当することを意味します。 これは、Bitmapを直接PictureBoxに割り当てることができるWinFormsアプリケーションには適切でしたが、その他の出力対象には追加の変換ステップが必要でした。

IronBarcodeのアプローチ

IronBarcodeは、流暢な静的APIを使用しています。 単一のメソッド呼び出しで生成が開始され、チェーン可能なメソッドによって、最終保存または変換メソッドの前に結果が構成されます。

// NuGet: dotnet add package IronBarcode
using IronBarCode;

public byte[] GenerateLabel(string sku)
{
    return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 120)
        .ToPngBinaryData();
}
// NuGet: dotnet add package IronBarcode
using IronBarCode;

public byte[] GenerateLabel(string sku)
{
    return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 120)
        .ToPngBinaryData();
}
Imports IronBarCode

Public Function GenerateLabel(sku As String) As Byte()
    Return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128) _
        .ResizeTo(400, 120) _
        .ToPngBinaryData()
End Function
$vbLabelText   $csharpLabel

CODE-38101--@@列挙型は、@--CODE-38102--@列挙型に直接対応しています。 CODE-38103--@@は、@@--CODE-38104--@と@@--CODE-38105--@のプロパティ割り当てを置き換えます。 ターミナル・メソッド - .SaveAsPng(), @@--CODE-38107--@, @@--CODE-38108--@ は、個別の @@--CODE-38109--@ と bitmap-save 呼び出しに置き換わります。 より高度な生成シナリオについては、 IronBarcodeのバーコード生成に関するドキュメントを参照してください。

バーコード読み取り機能

これら2つの図書館間の能力格差で最も顕著なのは、読解力である。 Barcode4NETは、どのバージョンにおいてもバーコード読み取り機能を提供したことはありません。 IronBarcodeは、生成機能と同じパッケージ内に完全な読み取り機能を備えています。

Barcode4NETのアプローチ

Barcode4NETには読み取りAPIがありませんでした。 画像やスキャンした文書からバーコードをデコードする必要のあるチームは、オープンソースの代替手段であるZXing .NET、または商用のスキャナSDKのいずれか、別のライブラリを完全に統合する必要がありました。 その結果、2つの独立した依存関係チェーンが構築された。1つはコード生成用のBarcode4NET、もう1つは読み取り用のライブラリである。

IronBarcodeのアプローチ

IronBarcodeは静的メソッドとしてBarcodeReader.Read()を提供し、画像ファイルパス、ストリームオブジェクト、PDFドキュメントを受け入れます:

using IronBarCode;

// Read from an image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Format: {result.Format}");
}

// Read all barcodes from a multi-page PDF — no extra PDF library required
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
using IronBarCode;

// Read from an image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Format: {result.Format}");
}

// Read all barcodes from a multi-page PDF — no extra PDF library required
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
Imports IronBarCode

' Read from an image file
Dim results = BarcodeReader.Read("barcode.png")
For Each result In results
    Console.WriteLine($"Value: {result.Value}")
    Console.WriteLine($"Format: {result.Format}")
Next

' Read all barcodes from a multi-page PDF — no extra PDF library required
Dim pdfResults = BarcodeReader.Read("invoice-batch.pdf")
For Each result In pdfResults
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}")
Next
$vbLabelText   $csharpLabel

大量の画像やノイズの多い画像のシナリオでは、BarcodeReaderOptions@クラスが読み取り速度とマルチバーコード検出を制御します。 設定オプションについては、バーコード読み取りに関するドキュメントを参照してください。

プラットフォームと導入に関するカバレッジ

プラットフォームのサポート状況は、 .NETの近代化プロジェクトに取り組むチームにとって最も重要な違いとなる。

Barcode4NETのアプローチ

Barcode4NETは.NET Frameworkアセンブリに対してコンパイルされました。 Windows上で、 .NET Frameworkアプリケーション、IISでホストされるWebフォームおよびWindowsフォームプロジェクトで動作しました。 Linuxビルドも、 .NET Coreビルドも、クラウドランタイムのサポートもありませんでした。 マイクロソフトが.NET Coreを導入し、後にプラットフォームを.NET 5+として統合した際、Barcode4NETにはそれに対応するアップデートがありませんでした。 CODE-38112--@@以降をターゲットとするプロジェクトは、ライブラリをまったく参照できません。

DLL配布モデルは、プラットフォームの制約をさらに悪化させた。 開発者ワークステーション、ビルドエージェント、Dockerコンテナなど、あらゆるビルド環境において、DLLが既知のパスに存在することが必要だった。 コンテナベースのデプロイメントでは、DLLをカスタムベースイメージにベイクするか、コンテナビルド中にコピーすることになりますが、どちらも標準的なワークフローとは互換性がありません。

IronBarcodeのアプローチ

IronBarcodeは、単一のNuGetパッケージから複数のフレームワークに対応しています。具体的には、.NET フレームワーク4.6.2から.NET 9まで、およびWindows、Linux、macOS上のすべての最新の.NETリリースに対応しています。 Dockerコンテナへのデプロイでは、標準の.NETランタイムイメージをそのまま使用します。 Azure Functions、AWS Lambda、およびその他のサーバーレスランタイムは、同じNuGetパッケージを通じてサポートされます。 CODE-38114--@@コマンドは、手動でDLLを管理することなく、すべての依存関係を解決します。

ライセンスアーキテクチャとベンダーステータス

Barcode4NETのライセンス状況は、競争上の争点ではなく、ライブラリの使用を継続するかどうかのあらゆる決定に影響を与える実際的な制約である。

Barcode4NETのアプローチ

Barcode4NETはサポート終了となりました。ComponentSourceをはじめとするいかなる販売チャネルからも新規ライセンスは入手できません。 開発者がBarcode4NETを使用するチームに参加した場合、その開発者のためにライセンスを購入する仕組みはありません。 既存のライセンスの構造によっては、新規開発者は開発中にバーコード関連のコードを実行したりデバッグしたりすることが法的に認められない場合があります。 不具合追跡システムも、サポート窓口も、不具合について問い合わせるベンダーもありません。 前回のリリース以降に発見されたセキュリティ上の脆弱性は、永久に未解決のままです。

IronBarcodeのアプローチ

IronBarcodeは、永続ライセンス付きの、積極的にメンテナンスされている商用製品です。 ライセンスの価格は、シングル開発者向けのLiteライセンスが749ドルから始まり、 Plus (1,499ドル、開発者3名)、 Professional (2,999ドル、開発者10名)、Unlimited(5,999ドル)の各ティアが用意されています。 すべてのプランには、ロイヤリティフリーでの導入が含まれています。 セキュリティパッチ、バグ修正、および.NETバージョンの互換性アップデートは、定期的なリリースサイクルで提供されます。 ライセンスキーなしで評価できる30日間の無料トライアルをご利用いただけます。

APIマッピングリファレンス

バーコード4NET IronBarcode
コード-38115 コード-38116
コード-38117 CODE-38118--@@(CODE-38119--@@へのパラメータ)
コード-38120 の最初のパラメータ--CODE-38121--@@@。
BarCode.Width = 300; バーコードの高さ = 100` コード-38122
CODE-38123--@は@@--CODE-38124--@を返します。 --コード-38125--@@ / @@--コード-38126--@@。
コード-38127 コード-38128
コード-38129 コード-38130
コード-38131 コード-38132
コード-38133 コード-38134
マニュアル DLL コード-38136
読み取りAPIはありません コード-38137
PDFはサポートされていません CODE-38138-- ネイティブ
.NET Frameworkのみ .NET フレームワーク4.6.2 から.NET 9

チームがBarcode4NETからIronBarcodeへの移行を検討する際

.NETアップグレードがブロックされました

最も一般的な強制要因は、 .NETの近代化プロジェクトです。 あるチームがnet8.0.csprojでターゲットとし、ビルドを実行したところ、Barcode4NETが参照されなくなった.NET Frameworkアセンブリに対してコンパイルされたため、コンパイルエラーが発生しました。 エラーの内容は明確です。新しいターゲットフレームワークではライブラリをロードできません。 この時点で、チームは二者択一を迫られる。ターゲットフレームワークの変更を元に戻して.NET Frameworkを使い続けるか、Barcode4NETを置き換えるかだ。 移行を延期すれば、より広範な近代化の取り組みが阻害されることになる。

インフラストラクチャ変更後のCI/CDパイプラインの障害

Barcode4NETのDLL配布モデルは、ビルドパイプラインに潜在的な脆弱性を生み出す。 ビルドエージェントが再プロビジョニングされた場合、コンテナイメージが更新された場合、または新しいCI環境が構成された場合は、Barcode4NET DLLをプロジェクトファイルが想定するパスに手動で配置する必要があります。 この手順を丁寧に文書化していないチームは、パイプラインが失敗したときに初めて問題に気づくことになる。 IronBarcodeに移行するということは、dotnet restoreがすべてを処理するということです。

新しいチームメンバーはライセンスを取得できません

請負業者がプロジェクトに参加したり、別の開発者がバーコード機能の開発に取り組む必要が生じた場合でも、ライセンスを購入する必要はありません。 チームはこの制約を回避する必要がある。新しい開発者がバーコードコードを完全に回避するか、あるいは元の契約条件の下では法的に譲渡できない可能性のあるライセンスを誰かが譲渡するかのどちらかだ。 どちらの状況も、積極的に製品開発に取り組んでいるチームにとっては持続可能ではない。

セキュリティおよびコンプライアンス監査

ソフトウェア部品表の生成や、サポート終了データベースとの依存関係のチェックを行う組織は、Barcode4NETを問題として認識することがあります。 これは商用製品であり、アクティブな販売元はなく、CVE(共通脆弱性識別子)の追跡も行われておらず、パッチも提供されていません。 セキュリティ監査担当者は、サポート終了となった商用ライブラリを、成熟したオープンソースライブラリとは異なる扱いをする。ベンダーによる対応プロセスが存在しないということは、脆弱性が永久に未解決のままになることを意味するからだ。 これは通常、先送りされたリスクではなく、正式な是正措置項目となる。

既存のワークフローに読み取り機能を追加

当初はバーコード生成のみのワークフローにBarcode4NETを使用していたチームが、後にスキャンした文書のバーコードを検証したり、ユーザーがアップロードした画像を処理したり、PDF請求書からデータを抽出したりする必要があることに気づく。 Barcode4NETを使用する場合、これには別のライブラリを統合する必要があります。 IronBarcodeのBarcodeReader.Read()は画像とPDFの両方をネイティブに処理し、依存関係を1つの保守されたパッケージに統合します。

一般的な移行の考慮事項

DLL参照の削除

Barcode4NETはNuGetパッケージとして配布されたことがないため、dotnet remove packageコマンドはありません。 ライブラリを参照するすべての.csproj@ファイルには、ディスク上のDLLを指す<HintPath>@を持つ<Reference Include="Barcode4NET">@要素が含まれています。 これらの要素はそれぞれ手動で見つけて削除する必要があります。 ソリューション全体をgrepで検索すると、それらが見つかります。

grep -rl "Barcode4NET" --include="*.csproj" .
grep -rl "Barcode4NET" --include="*.csproj" .
SHELL

ソース管理内のDLLディレクトリ(通常はThirdParty/Barcode4NET/またはlib/)も、git rmで削除するようにステージングする必要があります。

戻り値の型をビットマップからバイト配列に変更

Barcode4NETのGenerateBarcode()は、@@--CODE-38151--@を返します。 IronBarcodeの流暢なチェーンは.ToPngBinaryData()を返すか、@@--CODE-38153--@、または@@--CODE-38154--@ディスクに直接書き込むことで終了します。 戻り値をBitmap@型変数に代入したり、Bitmap@を期待するメソッドに渡したりするコード、たとえばWinFormsのPictureBox@では、呼び出し先で1行の調整が必要です:バイト配列をMemoryStreamでラップして、Image.FromStream()を呼び出します。

シンボル列挙型の名前変更

Barcode4NETの@--CODE-38160--@@enumは、IronBarcodeの@--CODE-38161--@enumに直接対応しています。 すべての共通値(@--CODE-38162--@、@--CODE-38163--@、@--CODE-38164--@、@--CODE-38165--@、@--CODE-38166--@)の名前はそのままです。 ソリューション全体のSymbology.BarcodeEncoding.で検索して置き換えることで、ほとんどのケースをカバーできますが、文脈を確認するために、それぞれの置き換えを見直す必要があります。

ビルドスクリプトのクリーンアップ

Barcode4NET DLLを出力ディレクトリまたはビルドエージェントにコピーするビルドスクリプトおよびCI/CD構成ファイルを更新する必要があります。 これらの手順は、NuGetマイグレーション後に相当するものはありません - dotnet restore 手動のDLL管理はすべて置き換わります。 移行後に古いDLLコピー手順を残しておいてもビルドエラーは発生しませんが、それらは不要な設定であり、将来の保守担当者にとって混乱の原因となります。

IronBarcodeの追加機能

IronBarcodeには搭載されている機能のうち、Barcode4NETのライフサイクルのどの時点においても存在しなかった機能は以下のとおりです。

.NETの互換性と将来の準備

IronBarcodeは.NET Framework 4.6.2から.NET 9までをサポートしており、新しい.NETバージョンがリリースされるたびに互換性アップデートが提供されます。2026年後半に.NET 10がリリースされる予定であるため、 Iron Softwareは一般提供開始に先立ち、プレビュー版互換ビルドを公開しています。 Barcode4NETには.NET Frameworkを超える.NETバージョンはなく、今後のアップデートも提供されません。.NET フレームワーク4.x を使用しているチームは、 IronBarcodeに移行した後、バーコードライブラリの制約を受けることなく、対象フレームワークを現在または将来の任意の.NETバージョンに自由にアップグレードできます。

結論

Barcode4NETとIronBarcodeは、 .NETバーコード開発の歴史における異なる時点を象徴している。 Barcode4NETは、当時の基準からすると機能的で範囲が明確なライブラリでした。プロパティセッターAPIとして、 .NET Framework上のWindows FormsおよびWeb Formsアプリケーション向けに、きれいなビットマップ出力を生成しました。 IronBarcodeは、流暢な静的API、完全なバーコード読み取りサポート、クロスプラットフォームのランタイム対応、および標準的なNuGet配布を備えた、現在販売中の商用製品です。

Barcode4NETはもはや開発中の製品ではないため、この比較は異例である。 アップデート、セキュリティパッチ、新規ライセンス販売は提供されません。 新規プロジェクトにどのライブラリを採用するかを評価するチームは、その評価においてBarcode4NETに遭遇することはありません。Barcode4NETは、既に本番環境で使用しており、いつどのように移行するかを検討しているチームにとってのみ関連性があります。

Barcode4NETを既に運用しているチームにとって、 IronBarcodeは自然な代替手段となるでしょう。 APIマッピングは直接的で、コードの変更は表面的なものであり、生成セマンティクスは同等です。 その利点は、実際にメンテナンスされ、新しいチームメンバーでもインストール可能で、最新の.NETバージョンやデプロイ環境と互換性のある依存関係が得られることです。

率直に言って、これは実行可能な2つの選択肢の間で、どちらを選ぶかという競争的な問題ではない。 Barcode4NETは、新しいチームメンバーに拡張することはできず、最新の.NET環境では動作せず、セキュリティ上の問題に対するパッチも適用できません。 IronBarcode可能です。 移行の決定は、APIの好みや機能の比較ではなく、そうした実際的な制約によって左右される。

よくある質問

Barcode4.NETとは何ですか?

BarCode4.NETは、C#アプリケーションでバーコードを生成して読み取るための.NETバーコードライブラリです。これは、開発者が.NETプロジェクト用のバーコードソリューションを選択する際に評価するいくつかの選択肢の1つです。

Barcode4.NET と IronBarcodeの主な違いは何ですか?

IronBarcodeはインスタンス管理を必要としない静的なステートレスAPIを使用します。一方、Barcode4.NETは通常、使用前にインスタンスの作成と設定が必要です。IronBarcodeはまた、ネイティブPDFサポート、自動フォーマット検出、すべての環境でのシングルキーライセンスを提供します。

IronBarcodeはBarcode4.NETよりライセンスが簡単ですか?

IronBarcodeは単一のライセンスキーで開発環境と本番環境の両方をカバーします。これは、SDKキーとランタイムキーを分離するライセンスシステムと比較して、CI/CDパイプラインとDocker構成を簡素化します。

IronBarcodeはBarcode4.NETがサポートしている全てのバーコードフォーマットをサポートしていますか?

IronBarcodeはQRコード、Code 128、Code 39、DataMatrix、PDF417、Aztec、EAN-13、UPC-A、GS1など30以上のバーコードシンボロジーをサポートしています。フォーマットの自動検出は、明示的なフォーマットの列挙が不要であることを意味します。

IronBarcodeはネイティブPDFバーコード読み取りをサポートしていますか?

IronBarcodeは、別のPDFレンダリングライブラリを必要とせず、BarCodeReader.Read("document.pdf")を使用してPDFファイルから直接バーコードを読み取ります。ページごとの結果には、ページ番号、バーコードフォーマット、値、信頼度スコアが含まれます。

IronBarcodeはBarcode4.NETと比べてどのようにバッチ処理を行いますか?

IronBarcodeの静的メソッドはステートレスで当然スレッドセーフであり、スレッドごとのインスタンス管理なしにParallel.ForEachを直接使用できます。どの価格帯でもスループットの上限はありません。

IronBarcode はどの.NETバージョンをサポートしていますか?

IronBarcodeは.NET Framework 4.6.2+、.NET Core 3.1、.NET 5、6、7、8、9を単一のNuGetパッケージでサポートしています。プラットフォーム・ターゲットには、Windows x64/x86、Linux x64、macOS x64/ARMが含まれます。

.NETプロジェクトにIronBarcodeをインストールするには?

NuGet経由でIronBarcodeをインストールする:パッケージマネージャーコンソールで'Install-Package IronBarCode'を実行するか、CLIで'dotnet add package IronBarCode'を実行する。追加のSDKインストーラーやランタイムファイルは必要ありません。

IronBarcodeはBarcode4.NETと違い、購入前に評価できますか?

IronBarcodeのトライアルモードでは、完全なデコードされたバーコード値を返します。購入を決定する前に、ご自身のドキュメントで読み取り精度をベンチマークすることができます。

Barcode4.NET と IronBarcodeの価格の違いは何ですか?

IronBarcodeは、開発および量産をカバーする永続的なシングルデベロッパーライセンスで749ドルからご利用いただけます。価格の詳細とボリュームオプションはIronBarcodeのライセンスページでご覧いただけます。別途ランタイムライセンスは必要ありません。

Barcode4.NETからIronBarcodeへの移行は簡単ですか?

Barcode4.NETからIronBarcodeへの移行は、主にインスタンスベースのAPIコールをIronBarcodeの静的メソッドに置き換えたり、ライセンスの定型文を削除したり、結果のプロパティ名を更新したりします。ほとんどの移行はコードを追加するのではなく、コードを削減します。

IronBarcodeはロゴ入りQRコードを生成できますか?

はい。QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")は、設定可能なエラー修正機能付きで、ブランド画像をネイティブにQRコードに埋め込みます。カラーQRコードもChangeBarCodeColor()でサポートされています。

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね