Syncfusion BarcodeとIronBarcodeの比較:C#バーコードライブラリの比較
Syncfusionのバーコードエコシステムは、UIコントロールを通じてバーコードを生成し、読み取り用の"バーコードリーダーOPX"という別製品を販売しています。 その読書製品は内部的にZXing .NETを使用しています。これはApache 2.0ライセンスの下でリリースされたライブラリで、どの開発者でも無料で直接インストールできます。 生成と読み取りの両方を必要とするチームは、有料のラッパーを介して無料ライブラリを利用するためにサブスクリプション料金を支払っており、この仕組みがSyncfusionのバーコードに関するその後のすべてのアーキテクチャとコストの決定に影響を与えている。
Syncfusionバーコードについて理解する
Syncfusionバーコードはスタンドアロンライブラリではありません。 は、Syncfusion Essential Studioスイートのコンポーネントです。生成側はUIコントロールとして出荷されます:WinFormsとWPFではSfBarcode@、BlazorとMAUIではSfBarcodeGenerator@です。 これらのコントロールは、実行時にフォーム上にバーコードを表示するもので、Syncfusionのより広範なUIコンポーネントエコシステム内で使用されるように設計されています。
読書機能は、全く別の商用製品です。 バーコードリーダーOPXは、独自のライセンス、独自のNuGetパッケージ、および独自のAPIを備えた、 Syncfusion独自の製品です。 生成と読み取りの両方を必要とするチームは、1つの製品ではなく、2つの製品を購入、保守、設定する必要がある。
Syncfusionコミュニティライセンスは、対象となる組織に無料プランを提供していますが、利用資格を得るには、以下の4つの条件すべてが同時にかつ継続的に満たされている必要があります。
-収益基準:企業の年間総収益が100万米ドル未満(ソフトウェアだけでなく、すべての収益源を含む) -開発者数の目安:チームの開発者数が5人以下 従業員数の基準:従業員総数が10人以下 -資本基準:すべての資金調達ラウンドにおける外部資本の総額が300万ドル未満であること
政府機関は規模に関わらず、一切の資格要件を満たしていません。これらの条件は自己申告制であり、継続的に満たさなければなりません。いずれかの基準値を超えると、商業ライセンス取得義務が発生します。
Syncfusionのバーコードエコシステムのその他の特徴は以下のとおりです。
- 世代のみの制御アーキテクチャ:@--CODE-39448--@@と
SfBarcodeGeneratorには読み取りAPIがありません。 コントロール・サーフェスのどこにも、.Read()または.Scan()メソッドはありません。 -バージョン固有のライセンスキー: Syncfusionのライセンスキーは、特定のEssential Studioのバージョン範囲に関連付けられています。 バージョン24.xからバージョン25.xへのアップグレードには、新しいキー、すべての環境におけるシークレットの更新、および本番環境で試用版のウォーターマークが表示されないようにするための再デプロイが必要です。 -複数ステップのプラットフォーム登録:各プラットフォームターゲット (Blazor、MAUI) では、基本ライセンス呼び出しに加えて、プラットフォーム固有のサービス登録呼び出しが必要です。 - Blazorのヘッドレス生成パスはありません:@--CODE-39452--@@は、ブラウザでレンダリングするBlazorコンポーネントです。 サーバー側のファイル出力APIは備えていません。
- PDF出力なし: WinFormsコントロールもBlazorコントロールも、バーコードをPDFファイルに直接書き込むことはできません。 -スイート限定ライセンス: SyncfusionバーコードはEssential Studioに同梱されています。 バーコードパッケージ単体での購入はできません。
- OPX リーダーはフリーソフトウェアをラップしています: Barcode Reader OPX は内部的に ZXing .NET (Apache 2.0) を使用しています。 ZXing .NETはNuGet経由で無料で入手できます。
発電専用制御アーキテクチャ
コード-39453は、プロパティベースのAPIを持つWinFormsコントロールです:code-39454--@@、@--code-39455--@、@--code-39456--@、@--code-39457--@、@--code-39458--@。 WinFormsデザイナー内では、フォーム上にバーコードを表示する機能は期待どおりに動作します。 プログラムでバーコードファイルを生成するには、DrawToBitmap@パターンが必要で、レンダリング前に正しい寸法のBitmap@を事前に割り当てる必要があります:
using Syncfusion.Windows.Forms.Barcode;
using System.Drawing;
using System.Drawing.Imaging;
// Version-specific key required — changes with every major Essential Studio release
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");
var barcode = new SfBarcode();
barcode.Text = "12345678";
barcode.Symbology = BarcodeSymbolType.Code128A;
barcode.BarHeight = 100;
barcode.NarrowBarWidth = 1;
barcode.ShowText = true;
barcode.Width = 400;
barcode.Height = 150;
using var bitmap = new Bitmap(barcode.Width, barcode.Height);
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle);
bitmap.Save("barcode.png", ImageFormat.Png);
using Syncfusion.Windows.Forms.Barcode;
using System.Drawing;
using System.Drawing.Imaging;
// Version-specific key required — changes with every major Essential Studio release
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");
var barcode = new SfBarcode();
barcode.Text = "12345678";
barcode.Symbology = BarcodeSymbolType.Code128A;
barcode.BarHeight = 100;
barcode.NarrowBarWidth = 1;
barcode.ShowText = true;
barcode.Width = 400;
barcode.Height = 150;
using var bitmap = new Bitmap(barcode.Width, barcode.Height);
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle);
bitmap.Save("barcode.png", ImageFormat.Png);
Imports Syncfusion.Windows.Forms.Barcode
Imports System.Drawing
Imports System.Drawing.Imaging
' Version-specific key required — changes with every major Essential Studio release
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY")
Dim barcode As New SfBarcode()
barcode.Text = "12345678"
barcode.Symbology = BarcodeSymbolType.Code128A
barcode.BarHeight = 100
barcode.NarrowBarWidth = 1
barcode.ShowText = True
barcode.Width = 400
barcode.Height = 150
Using bitmap As New Bitmap(barcode.Width, barcode.Height)
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle)
bitmap.Save("barcode.png", ImageFormat.Png)
End Using
このパターンでは、コンソールアプリケーション、 ASP.NET Coreサービス、Azure Functionsなど、Windows Formsランタイムを呼び出すすべてのプロジェクトで、Windows Formsランタイムをロードする必要があります。 Blazorの亜種であるSfBarcodeGeneratorは、Blazorコンポーネントであり、サーバー側のファイル出力パスが全くありません。
IronBarcodeを理解する
IronBarcodeは、あらゆる.NETアプリケーションモデルにおいて、プログラムによるバーコード生成と読み取りを可能にするために構築された.NETバーコードライブラリです。 これは単一のNuGetパッケージとして提供され、二次的な製品を必要とせずに、同じAPIサーフェスで生成と読み取りの両方をカバーします。
このライブラリは、静的APIモデルに基づいて設計されています。呼び出し元は静的メソッド(@--CODE-39462--@、@--CODE-39463--@、@--CODE-39464--@)を呼び出し、結果に対して出力メソッドを直接チェーンします。 このパターンは、WinFormsデスクトップアプリケーション、 ASP.NET Core Webサービス、Azure Functions、コンソールアプリケーション、およびLinux Dockerコンテナで同様に機能します。
主な特徴は以下のとおりです:
-生成と読み取りの統合:両方の機能は同じNuGetパッケージに含まれており、同じライセンスの下、同じ API サーフェスを使用します。
- 静的API: コントロールのインスタンス化、UIのランタイム依存、インダイレクトはありません。 -プラットフォーム非依存:同じコードとライセンスキーは、WinForms、 Blazor、MAUI、 ASP.NET Core、コンソール、Azure Functions、およびLinux上のDockerで動作します。
- 直接ファイル出力: BarCodeは、PNG、JPEG、SVG、HTML、PDF、その他のフォーマットに、中間割り付けなしで直接保存できます。
- ビルトインPDFサポート:@--CODE-39467--@@は第一級の出力メソッドです; このライブラリは、PDF文書からバーコードをネイティブに読み取ることもできます。
- 読み取り時の自動フォーマット検出: @--CODE-39468--@@ 呼び出し側がタイプを指定しなくても、バーコードのフォーマットを自動的に識別します。 -単一のバージョン安定キー:ライセンスキーは、メジャーリリース内のマイナーアップデートまたはパッチアップデートのNuGetアップデート間で変更されません。
- QRコード機能:生成APIで直接、埋め込みブランドロゴと色のカスタマイズをサポートします。
機能比較
以下の表は、 Syncfusion BarcodeとIronBarcodeの主な違いをまとめたものです。
| フィーチャー | Syncfusionバーコード | IronBarcode |
|---|---|---|
| バーコード生成 | はい — UI コントロール (WinForms、WPF、 Blazor、MAUI) | はい — 静的プログラムAPI、すべての環境 |
| バーコード読み取り | いいえ — 別途バーコードリーダーOPX製品が必要です | はい、世代と同じパッケージです |
| PDFバーコード出力 | いいえ — Syncfusionの.pdfファイルが別途必要です | あり - --CODE-39469-- ビルトイン |
| PDFバーコード読み取り | なし | はい、ネイティブです |
| ヘッドレス/サーバーサイド生成 | 厄介なことに、UI コントロールには WinForms ランタイムが必要です。 | ネイティブ — 静的API、UIへの依存なし |
| 無料プラン | コミュニティライセンス(4つの同時条件) | 30日間無料トライアル(透かしのみ表示) |
| ライセンスモデル | 年間サブスクリプション(Essential StudioSuite) | 永久翻訳 $749より |
詳細な機能比較
| フィーチャー | Syncfusionバーコード | IronBarcode |
|---|---|---|
| 世代 | ||
| WinForms生成 | はい (@--CODE-39470--@@) | はい |
| WPF生成 | はい (@--CODE-39470--@@) | はい |
| Blazor世代 | はい (SfBarcodeGenerator@, ブラウザレンダリング) |
はい(サーバーサイドAPI) |
| マウイ世代 | はい (@--CODE-39473--@@) | はい |
| コンソール / Azure Functions | WinFormsランタイムが必要です | ネイティブ |
| Docker / Linux | 制限的 | フルサポート |
| 直接ファイル出力 | Via @--CODE-39474--@@ + @--CODE-39475--@@ | CODE-39476--@@、@@--CODE-39477--@、@--CODE-39478--@など。 |
| ロゴが埋め込まれたQRコード | なし | はい - @--CODE-39479--@@@. |
| 読む | ||
| バーコードパッケージの読み取りAPI | なし | はい - @--CODE-39480--@@@. |
| 別売りの読書商品 | はい — バーコードリーダー OPX(有料) | 不要 |
| OPXはZXing .NET (Apache 2.0)をラップします | はい、ZXing .NETは無料です。 | 該当なし |
| PDFバーコード読み取り | なし | はい |
| 自動フォーマット検出 | 該当なし | はい |
| 複数バーコード検出 | 該当なし | はい |
| プラットフォーム | ||
| ASP.NET Core の最小限の API | きちんとサポートされていません | フルサポート |
| クロスプラットフォーム(Linux) | 制限的 | フルサポート |
| ライセンスについて | ||
| 無料プラン | コミュニティライセンス(4つの同時条件) | 30日間トライアル |
| 商用ライセンスモデル | 年間購読(エッセンシャルスタジオ) | 永久 |
| エントリーレベルの商用価格 | 開発者1人あたり年間約995ドル(標準プラン) | 749ドルから(永久) |
| ライセンスキーの範囲 | バージョン固有の変更点(メジャーバージョンアップに伴う変更) | メジャーリリース内でバージョンが安定している |
| プラットフォーム登録のオーバーヘッド | 複数ステップ(ライセンス登録 + SyncfusionBlazorの追加 + SyncfusionCoreの設定) | 単線 |
| PDFサポート | ||
| PDF出力 | いいえ — Syncfusion.Pdf を追加パッケージとして必要とします | はい、内蔵されています |
| PDFを読む | なし | はい、内蔵されています |
| フォーマット | ||
| 1Dフォーマット | Code 128、Code 39、EAN-8/13、UPC-A/E、Codabar、その他 | Syncfusionの全フォーマットにPlus、 PDF417、Aztec、MaxiCode、GS1、USPS IMb、および50以上の |
| 2Dフォーマット | QRコード、データマトリックス | QRコード、データマトリックス、PDF417、マイクロPDF417、アステカ、マキシコード |
世代アーキテクチャ
Syncfusion BarcodeとIronBarcodeの根本的なアーキテクチャ上の違いは、UIレンダリング制御とプログラムによるファイル生成ライブラリとの違いにある。
Syncfusionアプローチ
CODE-39481はWinFormsコントロールです。 その役割は、フォームの視覚的なレイアウトの一部としてバーコードを表示することです。 そこからファイルを生成するには、開発者は、意図する出力サイズに一致するBitmapを事前に確保し、DrawToBitmapを呼び出し、次にBitmap.Saveを呼び出さなければなりません。 すべてのステップでWindowsフォームランタイムが必要です。
Blazor用コード-39485は、Syncfusion Blazor JavaScriptレイヤーを通してブラウザでレンダリングするRazorコンポーネントです。 CODE-39486--@@にはサーバーサイドAPIはありません。 Blazorアプリケーションからダウンロード可能なバーコードを生成するには、サーバーAPI呼び出しではなく、 JavaScriptの相互運用機能とブラウザのダウンロードトリガーが必要です。
MAUIアプリケーションでは、SfBarcodeGenerator MAUIレイアウトシステム内でBarCodeをレンダリングします。 送信または印刷用のファイルとしてバーコードを生成するには、制御装置自体には備わっていない追加のマーシャリング手順が必要です。
IronBarcodeのアプローチ
IronBarcodeは、静的でチェーン可能なAPIを使用して、ファイルを直接出力します。 同じ呼び出しパターンは、変更なしでどの.NETアプリケーションモデルでも機能します。
// NuGet: dotnet add package IronBarcode
using IronBarCode;
IronBarCode.License.LicenseKey = "YOUR-KEY";
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.ResizeTo(400, 150)
.SaveAsPng("barcode.png");
// NuGet: dotnet add package IronBarcode
using IronBarCode;
IronBarCode.License.LicenseKey = "YOUR-KEY";
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.ResizeTo(400, 150)
.SaveAsPng("barcode.png");
Imports IronBarCode
IronBarCode.License.LicenseKey = "YOUR-KEY"
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128) _
.ResizeTo(400, 150) _
.SaveAsPng("barcode.png")
1次元バーコード生成に関するドキュメントには、サポートされているすべてのシンボル体系と出力オプションが記載されています。 コントロールのインスタンス化、事前に割り当てられたBitmap、Windows Formsのランタイム依存はありません。
バーコード読み取り
Syncfusionアプローチ
CODE-39489--@@とSfBarcodeGeneratorは、デザイン上、読み取り機能がありません。 Syncfusionのエコシステムは、独自のライセンスと購入経路を持つ独立した商用製品であるバーコードリーダーOPXを通じて、このギャップを埋めます。
バーコードリーダーOPXは、内部的にZXing .NETを使用しています。 ZXing .NETは、Apache 2.0ライセンスの下で公開されているオープンソースのバーコード読み取りライブラリです。 Apache 2.0は、無制限の商用利用を許可する寛容なライセンスです。 どの開発者でもZXing .NETを直接インストールできます。
dotnet add package ZXing.Net
dotnet add package ZXing.Net
Barcode Reader OPXを購入するということは、無料で利用できるライブラリをラップしたSyncfusionのサブスクリプション料金を支払うことを意味します。生成と読み取りの両方を網羅する完全なSyncfusionバーコードワークフローを実現するには、2つの異なるSyncfusion製品、2つのライセンス契約、および2つの異なるAPIインターフェースが必要になります。
IronBarcodeのアプローチ
バーコード読み取り機能は、生成機能と同じNuGetパッケージに含まれています。 二次製品やライセンスは不要です。
using IronBarCode;
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
Console.WriteLine($"Format: {result.Format}");
Console.WriteLine($"Value: {result.Value}");
}
using IronBarCode;
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
Console.WriteLine($"Format: {result.Format}");
Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode
Dim results = BarcodeReader.Read("barcode.png")
For Each result In results
Console.WriteLine($"Format: {result.Format}")
Console.WriteLine($"Value: {result.Value}")
Next
バーコード読み取りに関するドキュメントでは、複数バーコードの検出、信頼度スコアリング、バイト配列からの読み取り、および速度と精度の調整について説明しています。 PDF文書の読み込みもネイティブ機能として搭載されており、別途PDFライブラリを用意する必要はありません。
ライセンスアーキテクチャ
Syncfusionアプローチ
Syncfusionコミュニティライセンスは無料アクセスを提供しますが、以下の4つの条件を同時に満たす必要があります。年間総収益が100万ドル未満、開発者数が5人以下、従業員数が10人以下、外部資本総額が300万ドル未満。これら4つの条件はすべて継続的に満たしている必要があります。 政府機関は対象外です。 いずれかの条件に違反すると、直ちに商用ライセンスの義務が発生し、コミュニティライセンスから商用ライセンスへの移行費用は、スタンダードティアの場合、開発者1人あたり年間0ドルから約995ドルに上昇します。
利用資格に加え、 Syncfusionのライセンスキーはバージョンごとに異なります。 Essential Studio 24.x用に発行されたプロダクトキーが、25.xにアップグレード後に検証されなくなりました。 NuGetのメジャーバージョンアップを行うたびに、アカウントポータルから新しいキーを取得し、環境シークレットを更新して再デプロイする必要があります。そうしないと、試用版のウォーターマークが本番環境の出力に表示されてしまうからです。
プラットフォーム登録にはさらに手順が必要です。 Blazorアプリケーションには、3つの異なる構成エントリが必要です。
// Step 1: License registration
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");
// Step 2: Service registration in Program.cs
builder.Services.AddSyncfusionBlazor();
// Step 3: Namespace imports in _Imports.razor
// @using Syncfusion.Blazor
// @using Syncfusion.Blazor.BarcodeGenerator
// Step 1: License registration
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");
// Step 2: Service registration in Program.cs
builder.Services.AddSyncfusionBlazor();
// Step 3: Namespace imports in _Imports.razor
// @using Syncfusion.Blazor
// @using Syncfusion.Blazor.BarcodeGenerator
' Step 1: License registration
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY")
' Step 2: Service registration in Program.vb
builder.Services.AddSyncfusionBlazor()
' Step 3: Namespace imports in _Imports.razor
' @Imports Syncfusion.Blazor
' @Imports Syncfusion.Blazor.BarcodeGenerator
MAUIアプリケーションには、第4のステップが必要です:コード-39491--。
IronBarcodeのアプローチ
IronBarcodeのライセンス認証は、すべてのプラットフォームとアプリケーションモデルで共通の単一の割り当てです。
IronBarCode.License.LicenseKey = "YOUR-KEY";
IronBarCode.License.LicenseKey = "YOUR-KEY";
Imports IronBarCode
IronBarCode.License.LicenseKey = "YOUR-KEY"
IronBarcodeのライセンスページには、永久ライセンスモデルについて説明されています。 ライセンスキー設定ガイドでは、 CI/CDおよびDockerデプロイメントにおける環境変数のパターンについて説明しています。 メジャーバージョン内のマイナーリリースとパッチリリースではキーは変更されず、プラットフォーム固有のサービス登録も不要です。
PDF出力
Syncfusionアプローチ
Syncfusionのバーコード制御機能では、PDF出力は生成できません。 Syncfusionツールを使ってPDF文書にバーコードを埋め込むには、バーコード・コントロール・パッケージをSyncfusion.Pdf@と組み合わせ、バーコードをBitmap〜DrawToBitmap@として生成し、そのビットマップをPDF文書オブジェクト・モデル内の画像要素として挿入する必要があります。 そのワークフローは、2つの独立したSyncfusion製品、2つのNuGetパッケージ、および複数ステップのレンダリングパイプラインで構成されています。
既存のPDF文書からバーコードを読み取る機能は、バーコード制御機能およびバーコードリーダーOPXのいずれにおいてもサポートされていません。
IronBarcodeのアプローチ
IronBarcodeでは、PDFは第一級の出力フォーマットです。 二次図書館は不要です。
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.ResizeTo(400, 150)
.SaveAsPdf("barcode.pdf");
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.ResizeTo(400, 150)
.SaveAsPdf("barcode.pdf");
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128) _
.ResizeTo(400, 150) _
.SaveAsPdf("barcode.pdf")
図書館はPDF文書から直接バーコードを読み取ることもできます。
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
Dim pdfResults = BarcodeReader.Read("shipping-manifest.pdf")
For Each result In pdfResults
Console.WriteLine($"Page {result.PageNumber}: {result.Value}")
Next
バーコード付きPDF生成ガイドでは、複数ページ出力や、他のPDFコンテンツにバーコードを埋め込む方法について解説しています。
APIマッピングリファレンス
| Syncfusionバーコード | IronBarcode相当品 |
|---|---|
| コード-39495 | コード-39496 |
| コード-39497 | 不要 |
| コード-39498 | 不要 |
| コード-39499 | CODE-39500--@@ (静的) |
| コード-39501 | の最初のパラメータ--CODE-39502--@@@。 |
| コード-39503 | コード-39504 |
| コード-39505 | コード-39506 |
| コード-39507 | コード-39508 |
| コード-39509 | コード-39510 |
| コード-39511 | コード-39512 |
| マニュアル @--CODE-39513--@@ → @--CODE-39514--@@ | コード-39515 |
| コード-39516 | サーバサイド |
| コード-39518 | サーバサイド |
| コード--39520--@ (Blazor enum) | コード-39504 |
| バーコードリーダー OPX (ZXing .NETをラップしたもの) | コード-39522 - ネイティブ、ラッパーなし |
| バーコードコントロールには読み取りAPIがありません | コード-39523 |
| PDF出力なし | コード-39524 |
チームがSyncfusion BarcodeからIronBarcodeへの移行を検討する場合
バーコード読み取り要件
完全にWinFormsまたはBlazor内で作業しているチームは、表示目的でSfBarcodeまたはSfBarcodeGeneratorから始まり、後にアップロードされた画像、電子メールの添付ファイル、またはカメラキャプチャから受信したバーコードをスキャンする要件を受けるかもしれません。 その時点で、 Syncfusionのコントロールサーフェスには先に進むための道筋が一切ありません。 Syncfusionのドキュメントでは、チームに対しBarcode Reader OPXを使用するように指示している。これは別途購入する必要のある商用製品で、Apache 2.0ライセンスの下で無償で利用できるライブラリであるZXing .NETをラップしたものである。 このことに気づいたチームは、特に統一された生成・読み込みライブラリがあれば間接的な処理を完全に排除できる場合、無料ソフトウェアを有料のラッパーで保護し続けることが適切なアーキテクチャ上の決定であるかどうかを頻繁に再評価する。
サーバーサイドおよびバックエンド生成
WinFormsやWPFのデスクトップツールとして始まったアプリケーションは、Web APIレイヤー、バックグラウンド処理サービス、またはバーコードファイルの生成を必要とするクラウド機能を含むように進化することがあります。 ASP.NETコアサービス、Azure Functions、Linux Dockerコンテナにはきれいに翻訳されません。 CODE-39528--@@@パターンは、ヘッドレス環境には存在しないかもしれないWinFormsレンダリングサーフェスを必要とします。 この限界に達するチームは通常、生成モデルが最初からUIレンダリングスタックから分離されているライブラリを必要とする。
コミュニティライセンスの資格要件の変更
Syncfusionのコミュニティライセンスは、まさに成長が最も速い時期にある初期段階のチームにとって魅力的なものです。 収益、従業員数、従業員数、調達資本という4つの同時適用要件は、突然訪れる可能性のあるライセンス取得の難関を生み出す。 シリーズA資金調達ラウンドでは、通常、ラウンド完了日にスタートアップ企業の資本金が300万ドルの閾値を超え、開発者数や収益に関係なく、商用ライセンスの義務が発生します。 コミュニティライセンスに基づいて制作ワークフローを構築しているチームは、特に商用ライセンスがバーコードコンポーネントだけでなくEssential StudioSuite全体をカバーしている場合、その移行にかかるコストとタイミングを考慮する必要があります。
バージョン固有の設定オーバーヘッドの削減
CI/CDパイプラインでSyncfusionアプリケーションを保守する運用チームは、 NuGetのバージョンアップグレードに伴う定期的なタスクとして、ライセンスキーのローテーションに直面します。 Essential Studio 24.xで有効だったキーは、25.xにアップグレードすると機能しなくなるため、すべての展開環境でシークレットを更新し、試用版のウォーターマークが本番環境の出力に表示されていないことを確認する必要があります。 リリース頻度が高いチームや、複数のデプロイメントターゲットを持つチームは、特に基本的なユースケースが完全なUIコンポーネントSuiteを使用するのではなく、バーコード画像を生成する場合、このローテーションのオーバーヘッドが提供されるメリットに見合わないと感じます。
一般的な移行の考慮事項
SyncfusionLicenseProvider登録の削除
Syncfusionのライセンスコール(@--CODE-39529--@@)は、通常、@@--CODE-39530--@、@@--CODE-39531--@、またはアプリケーションの起動メソッドに表示されます。 これは、起動シーケンスの同じ時点で削除され、IronBarCode.License.LicenseKey = "KEY"に置き換えられなければなりません。 関連するサービス登録呼び出し(@--CODE-39533--@、@--CODE-39534--@)と@@--CODE-39535--@の名前空間インポートも、プロジェクトに他のSyncfusionコンポーネントが残っていない場合は削除する必要があります。
SfBarcodeからBarcodeWriterへのパターン
CODE-39536--@@ワークフローには、コントロールのインスタンス化、プロパティの割り当て、ディメンジョンの指定、レンダリングが含まれます。 IronBarcodeに相当するものは、1つの連鎖した呼び出しです:code-39538--@@。 CODE-39539--@@の列挙値は、@@--CODE-39540--@の値に直接マップされます - @@--CODE-39541--@は、@@--CODE-39542--@にマップされ、@@--CODE-39543--@は、@@--CODE-39544--@にマップされます。
BlazorコンポーネントからAPIエンドポイントへのパターン
CODE-39545はRazorのコンポーネントです; IronBarcodeへの置き換えは、単なる一行置換ではなく、構造的な変更です。 Blazor用のIronBarcodeパターンは、標準の<img src="...">タグを通してBlazorコンポーネントから参照される、バーコード画像をバイトとして返す最小限のAPIエンドポイントです。 このアプローチでは、 Syncfusion Blazor JavaScriptレイヤーに結び付けられたブラウザレンダリングコンポーネントではなく、独立してテスト可能で、クライアント間で再利用可能なサーバーサイドエンドポイントが生成されます。
IronBarcodeの追加機能
上記のセクションでは説明されていないIronBarcodeの機能がいくつかありますが、プロジェクトの要件によっては関連する可能性があります。
- ブランドロゴを埋め込んだQRコード:@--CODE-39547--@@は、エラー訂正によってスキャンの信頼性を維持しながら、QRコードセンターに企業ロゴを埋め込みます。
- SVG出力:バーコードは、印刷や高解像度ディスプレイに適したベクターSVGファイルとしてエクスポートできます。
- HTML出力:バーコードは、自己完結型のHTMLファイルとしてエクスポートできます。
- マルチバーコード検出: @--CODE-39548--@@ は、1 つの画像に存在するすべてのバーコードを検出して返します。 -リードに対する信頼度スコアリング:各リード結果には、低品質の検出結果をフィルタリングするのに役立つ信頼度スコアが含まれています。 -注釈とスタイル設定:生成されたバーコードは、外部の画像編集手順を必要とせずに、余白、色、フォント、注釈のカスタマイズをサポートします。
- GS1およびUSPS IMbフォーマット: IronBarcodeは、Syncfusionが制御できないGS1-128、USPSインテリジェントメールバーコード、MaxiCode、Aztecなどの特殊なフォーマットをサポートしています。
.NETの互換性と将来の準備
IronBarcodeは.NET Standard 2.0以降を対象としており、 .NET Framework 4.6.2以降、 .NET Core 3.1、および.NET 8や.NET 9を含むすべての現行.NETリリースとの互換性を提供します。ライブラリはMicrosoftの.NETリリーススケジュールに合わせて定期的に更新され、2026年後半にリリース予定の.NET 10との互換性を確保しますIronBarcodeはUIコントロールではなく静的なプログラムライブラリであるため、WinForms、WPF、 Blazor、MAUI間のプラットフォーム進化の違いの影響を受けません。同じNuGetパッケージとAPIが、プラットフォーム固有のシムなしで、現在および将来のすべての.NETアプリケーションモデルで動作します。
結論
Syncfusion BarcodeとIronBarcodeは、機能数だけでなく、アーキテクチャレベルにおいても違いがあります。 Syncfusionバーコードは、大規模なコンポーネントSuiteに統合されたUIレンダリングコントロールです。その設計目標は、フォームレイアウト内にバーコードを表示することであり、その目標を十分に達成しています。 IronBarcodeは、プログラムによるファイル生成および読み取りライブラリであり、その設計目標はバーコードをデータとして処理すること、つまりファイルの生成、画像の読み取り、あらゆる展開環境での動作を実現することです。 これらはそれぞれ異なる主要な用途向けに設計されたツールであり、どれを選択するかは、対象となるプロジェクトにどの用途が当てはまるかによって大きく左右されます。
Syncfusion Barcodeは、チームが既にSyncfusion Essential Studioを他のUIコンポーネント(グリッド、チャート、スケジューラーなど)に使用しており、フォームまたはBlazorページにバーコードを表示することが要件である場合に最適な選択肢です。 そういった状況において、バーコード制御は既存のライセンスに既に含まれており、フォームにそれを追加するには、デザイナーに制御をドロップするだけで済みます。 こうした特定の条件を満たすチームにとって、 IronBarcodeを購入しても、既存のライセンスで既に提供されている以上の価値は得られません。
IronBarcodeは、フォーム表示にとどまらない要件、例えばアップロードされた画像からのバーコードの読み取り、バックエンドサービスでのバーコードファイルの生成、PDFドキュメントからのバーコードの読み取り、Linux上のDockerコンテナへのデプロイ、またはバーコード画像を返すWeb APIエンドポイントの構築などが必要な場合に最適な選択肢です。 また、ライセンス状況がSyncfusionコミュニティライセンスの4つの条件すべてを恒久的に満たしていないチーム、またはNuGetアップグレードプロセスの一環としてバージョン固有のキーローテーションを避けたいチームにとっても適切な選択肢です。 IronBarcodeの永久ライセンスモデルと統合された生成・読み取りパッケージは、これらの運用上の懸念に直接的に対処します。
Syncfusionのバーコードエコシステムにおける決定的な制約は、生成と読み取りが2つの製品に分かれていることであり、読み取り製品はフリーソフトウェアをラップした商用製品である。 両方の機能を必要とするチームにとって、この構成ではライセンス費用が2つ、APIインターフェースが2つ発生し、直接ZXing .Netを使用することも可能だったにもかかわらず、ZXing .NETへの依存関係が生じることになります。 IronBarcodeのシングルパッケージモデルは、その間接的なプロセスを解消します。 最適な選択は、実際の要件に合致するアーキテクチャです。既存のSyncfusion UI内でバーコードを表示することが目的であれば、 Syncfusionが最適な選択肢となります。 バーコード処理がバックエンドの課題である場合、 IronBarcodeの方がより適切な基盤となります。
よくある質問
Syncfusion BarCodeとは?
Syncfusion BarCodeは、C#アプリケーションでバーコードを生成し読み取るための.NETバーコードライブラリです。これは、開発者が.NETプロジェクト用のバーコードソリューションを選択する際に評価するいくつかの選択肢の1つです。
Syncfusion BarCodeとIronBarcodeの主な違いは何ですか?
IronBarcode はインスタンス管理が不要な静的なステートレスAPIを使用していますが、Syncfusion BarCodeは通常、使用前にインスタンスの作成と設定が必要です。IronBarcodeはまた、ネイティブPDFサポート、自動フォーマット検出、およびすべての環境でのシングルキーライセンスを提供します。
IronBarcode はSyncfusion Barcodeよりもライセンスが簡単ですか?
IronBarcodeは単一のライセンスキーで開発環境と本番環境の両方をカバーします。これは、SDKキーとランタイムキーを分離するライセンスシステムと比較して、CI/CDパイプラインとDocker構成を簡素化します。
IronBarcode はSyncfusion Barcodeがサポートしているすべてのバーコードフォーマットをサポートしていますか?
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 はSyncfusion BarCodeと比べてどのようにバッチ処理を行いますか?
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インストーラーやランタイムファイルは必要ありません。
Syncfusionとは異なり、購入前にIronBarcodeを評価することはできますか?
IronBarcodeのトライアルモードでは、完全なデコードされたバーコード値を返します。購入を決定する前に、ご自身のドキュメントで読み取り精度をベンチマークすることができます。
Syncfusion BarCodeとIronBarcodeの価格の違いは何ですか?
IronBarcodeは、開発および量産をカバーする永続的なシングルデベロッパーライセンスで749ドルからご利用いただけます。価格の詳細とボリュームオプションはIronBarcodeのライセンスページでご覧いただけます。別途ランタイムライセンスは必要ありません。
Syncfusion BarCodeからIronBarcodeへの移行は簡単ですか?
Syncfusion BarCodeからIronBarcodeへの移行は、主にインスタンスベースのAPIコールをIronBarcodeのスタティックメソッドに置き換え、ライセンスの定型文を削除し、結果のプロパティ名を更新します。ほとんどの移行はコードを追加するのではなく、コードを削減します。
IronBarcodeはロゴ入りQRコードを生成できますか?
はい。QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")は、設定可能なエラー修正機能付きで、ブランド画像をネイティブにQRコードに埋め込みます。カラーQRコードもChangeBarCodeColor()でサポートされています。

