DevExpress BarcodeとIronBarcodeの比較:C#バーコードライブラリの比較
DevExpressは、高く評価されている.NET UIツールキットです。 グリッド、スケジューラー、チャート、ピボットテーブルのコントロール機能は非常に優れており、何千ものEnterpriseチームで利用されています。 しかし、バーコードのサポートに関しては話は別です。 DevExpressは、デザイン時にバーコードをフォームにレンダリングできるWinFormsコントロールとBlazorタグを同梱しています。同社のサポート・チームにバーコード認識について質問したところ、一貫した答えが返ってきた。 バーコードがバックグラウンドジョブ、Web API、PDFドキュメント、またはUIフォームが使用されていない環境に存在する場合、この制御は適用されません。
この制約により、DevExpressのバーコード関連製品は、DevExpressのWinFormsまたはBlazorのUI内でバーコードを視覚的に表示するという特定のニッチな分野に限定される。 そのニッチな用途であれば問題なく機能します。しかし、それ以外の用途、例えばサーバーサイドでの生成、画像やPDFからの読み込み、Azure FunctionsやDockerコンテナでのヘッドレス処理などには、別のツールが必要です。
DevExpressバーコードコントロールの理解
DevExpress の BarCode 機能は、DevExpress.XtraBars.BarCode および関連するシンボロジーの名前空間にあります。 これは単体で動作するライブラリではありません。 これはDXperienceSuiteに含まれており、年間約2,499ドル以上かかります。 バーコード専用のNuGetパッケージは別途提供されていません。
CODE-38555は、コントロール階層を継承するWinFormsコントロールです。 シンボルオブジェクトを設定してプロパティを設定すると、画面に表示されます。 そのレンダリングをファイルに保存するには、DrawToBitmap@を呼び出す必要があり、これは適切なサイズのBitmap@をあらかじめ割り当てておく必要があります:
// DevExpress WinForms: UI control, not a library
using DevExpress.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;
using System.Drawing;
using System.Drawing.Imaging;
var barCode = new BarCodeControl();
var symbology = new Code128Generator();
symbology.CharacterSet = Code128CharacterSet.CharsetAuto;
barCode.Symbology = symbology;
barCode.Text = "ITEM-12345";
barCode.Module = 0.02f; // document units, not pixels
barCode.ShowText = true;
// File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400;
barCode.Height = 100;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("barcode.png", ImageFormat.Png);
bitmap.Dispose();
// DevExpress WinForms: UI control, not a library
using DevExpress.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;
using System.Drawing;
using System.Drawing.Imaging;
var barCode = new BarCodeControl();
var symbology = new Code128Generator();
symbology.CharacterSet = Code128CharacterSet.CharsetAuto;
barCode.Symbology = symbology;
barCode.Text = "ITEM-12345";
barCode.Module = 0.02f; // document units, not pixels
barCode.ShowText = true;
// File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400;
barCode.Height = 100;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("barcode.png", ImageFormat.Png);
bitmap.Dispose();
Imports DevExpress.XtraBars.BarCode
Imports DevExpress.XtraBars.BarCode.Symbologies
Imports System.Drawing
Imports System.Drawing.Imaging
Dim barCode As New BarCodeControl()
Dim symbology As New Code128Generator()
symbology.CharacterSet = Code128CharacterSet.CharsetAuto
barCode.Symbology = symbology
barCode.Text = "ITEM-12345"
barCode.Module = 0.02F ' document units, not pixels
barCode.ShowText = True
' File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400
barCode.Height = 100
Dim bitmap As New Bitmap(barCode.Width, barCode.Height)
barCode.DrawToBitmap(bitmap, New Rectangle(0, 0, barCode.Width, barCode.Height))
bitmap.Save("barcode.png", ImageFormat.Png)
bitmap.Dispose()
ここにはいくつかの摩擦点があることに注目してください。 まず、barCode.Module@はピクセル単位ではなく文書単位であるため、ピクセル単位で考えている場合はミスマッチが生じます。 次に、Bitmapを割り当てる前に、最終的なピクセルサイズを知っておく必要があります。 第三に、このコントロールはWinFormsアセンブリの読み込みを必要とします。つまり、 ASP.NET Coreの最小限のAPIまたはコンソールのバックグラウンドサービスは、バーコード画像を生成するためだけにWindows Formsインフラストラクチャを読み込む必要があるということです。
Blazor DxBarCode タグは概念的には似ていますが、サーバーサイドの生成 API ではなく、UI レンダリングのための Blazor コンポーネントです。
読解機能なし
DevExpressの公式見解は、バーコード認識機能やスキャン機能は提供していないというものです。 これは、今後のリリースで埋められるべき欠陥ではなく、長年にわたって一貫して提供されてきた解決策なのです。
DevExpress WinFormsアプリケーションから開発を開始したチームが、後からアップロードされた画像からバーコードをスキャンしたり、PDF添付ファイルからQRコードを読み取ったりする必要が生じた場合、DevExpressツールボックスでは対応できません。読み取り処理には別のライブラリを導入する必要があり、APIの一貫性を保つために生成側もそのライブラリに移行すべきかどうかという疑問が生じます。
IronBarcodeは双方向に対応しています。
// IronBarcode reading — works on images, PDFs, and byte arrays
// NuGet: dotnet add package IronBarcode
using IronBarCode;
var results = BarcodeReader.Read("scanned-label.png");
foreach (var result in results)
{
Console.WriteLine($"Format: {result.Format}");
Console.WriteLine($"Value: {result.Value}");
}
// IronBarcode reading — works on images, PDFs, and byte arrays
// NuGet: dotnet add package IronBarcode
using IronBarCode;
var results = BarcodeReader.Read("scanned-label.png");
foreach (var result in results)
{
Console.WriteLine($"Format: {result.Format}");
Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode
' IronBarcode reading — works on images, PDFs, and byte arrays
' NuGet: dotnet add package IronBarcode
Dim results = BarcodeReader.Read("scanned-label.png")
For Each result In results
Console.WriteLine($"Format: {result.Format}")
Console.WriteLine($"Value: {result.Value}")
Next
PDFファイルの読み込みには、追加のライブラリは一切必要ありません。
// Reading barcodes from a PDF — no PdfiumViewer or similar required
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
Console.WriteLine($"Page barcode: {result.Value}");
}
// Reading barcodes from a PDF — no PdfiumViewer or similar required
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
Console.WriteLine($"Page barcode: {result.Value}");
}
Imports System
' Reading barcodes from a PDF — no PdfiumViewer or similar required
Dim pdfResults = BarcodeReader.Read("shipping-manifest.pdf")
For Each result In pdfResults
Console.WriteLine($"Page barcode: {result.Value}")
Next
Suiteバンドルの問題
DevExpressのバーコードコンポーネントは、単体製品としては販売されていません。 プロジェクトでBarCodeControl@を使用するには、開発者1人あたり年間約2,499ドルのDXperienceスイートライセンスが必要です。 このSuiteには、グリッド、チャート、スケジューラー、ピボット、その他多くのコントロールが含まれています。これは、DevExpress WinFormsまたはBlazorアプリケーションを本格的に構築する場合に妥当な構成です。 バックエンドサービスでのみバーコード生成が必要な場合、そのサービスでは決して使用されないUIツールキット全体に料金を支払うことになります。
IronBarcodeはスタンドアロンパッケージです。
dotnet add package IronBarcode
dotnet add package IronBarcode
永久ライセンスのLite版は、開発者1名につき749ドルからとなっています。 UIツールキットは同梱されていません。 バーコードの生成と読み取り、クロスプラットフォーム対応、そしてあなたが要求していないその他の機能は一切含まれていません。
ヘッドレス使用の制限
サーバサイドのシナリオにおけるBarCodeControlの根本的な問題は、それがWinFormsコントロールであるということです。 .NET 6以降のASP.NET Coreの最小限のAPIプロジェクトでは、WinFormsアセンブリはデフォルトでは参照されません。 CODE-38563--@@をインスタンス化するには、APIプロジェクトはWindowsを明示的にターゲットにしてWindows Formsランタイムをロードするか、APIが決してレンダリングしないUIインフラストラクチャを取り込む回避参照を追加する必要があります。
Azure Functionsの従量課金プランでは、UIレイヤーは一切存在しません。 Linuxベースイメージを実行するDockerコンテナでは、Windows Forms GDI+の依存関係が完全に欠落している場合があります。 DevExpressは、これらのヘッドレス環境でのBarCodeControl@の使用を公式にはサポートしていません。
IronBarcodeは、完全にプログラム可能な静的APIを使用しています。
// IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
// NuGet: dotnet add package IronBarcode
using IronBarCode;
BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128)
.SaveAsPng("barcode.png");
// IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
// NuGet: dotnet add package IronBarcode
using IronBarCode;
BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128)
.SaveAsPng("barcode.png");
Imports IronBarCode
' IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
' NuGet: dotnet add package IronBarcode
BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128) _
.SaveAsPng("barcode.png")
この呼び出しは、コンソールアプリケーション、 ASP.NET Coreコントローラー、Service BusメッセージによってトリガーされるAzure Functions、またはLinux上で実行されるDockerコンテナのいずれでも正常に動作します。 APIは環境間で変更されません。 UIアセンブリへの依存関係はありません。
ASP.NET Coreのエンドポイントで、バーコードをPNGファイルとしてレスポンスとして返す例は次のようになります。
app.MapGet("/barcode/{sku}", (string sku) =>
{
var bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
.ResizeTo(400, 100)
.ToPngBinaryData();
return Results.File(bytes, "image/png");
});
app.MapGet("/barcode/{sku}", (string sku) =>
{
var bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
.ResizeTo(400, 100)
.ToPngBinaryData();
return Results.File(bytes, "image/png");
});
Imports Microsoft.AspNetCore.Builder
Imports Microsoft.AspNetCore.Http
app.MapGet("/barcode/{sku}", Function(sku As String)
Dim bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128) _
.ResizeTo(400, 100) _
.ToPngBinaryData()
Return Results.File(bytes, "image/png")
End Function)
CODE-38565と同等のパターンはありません。
IronBarcodeを理解する
IronBarcodeは、バーコードの生成と読み取りを行うためのスタンドアロンの.NETライブラリです。 APIは完全に静的です。管理すべきインスタンスはなく、制御ライフサイクルもなく、UIへの依存もありません。 生成と読み込みはどちらも同じ呼び出しで行われます。
// NuGet: dotnet add package IronBarcode
using IronBarCode;
// Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
.ResizeTo(450, 120)
.SaveAsPng("order-label.png");
// Generate and get bytes (for HTTP responses, blob storage, etc.)
byte[] pngBytes = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
.ResizeTo(450, 120)
.ToPngBinaryData();
// Read from an image file
var results = BarcodeReader.Read("order-label.png");
Console.WriteLine(results.First().Value); // ORDER-9921
// NuGet: dotnet add package IronBarcode
using IronBarCode;
// Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
.ResizeTo(450, 120)
.SaveAsPng("order-label.png");
// Generate and get bytes (for HTTP responses, blob storage, etc.)
byte[] pngBytes = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
.ResizeTo(450, 120)
.ToPngBinaryData();
// Read from an image file
var results = BarcodeReader.Read("order-label.png");
Console.WriteLine(results.First().Value); // ORDER-9921
Imports IronBarCode
' Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128) _
.ResizeTo(450, 120) _
.SaveAsPng("order-label.png")
' Generate and get bytes (for HTTP responses, blob storage, etc.)
Dim pngBytes As Byte() = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128) _
.ResizeTo(450, 120) _
.ToPngBinaryData()
' Read from an image file
Dim results = BarcodeReader.Read("order-label.png")
Console.WriteLine(results.First().Value) ' ORDER-9921
ライセンス認証は起動時に1行で行います。
IronBarCode.License.LicenseKey = "YOUR-KEY";
IronBarCode.License.LicenseKey = "YOUR-KEY";
Imports IronBarCode
IronBarCode.License.LicenseKey = "YOUR-KEY"
ネットワーク呼び出しなし。 エラー処理の定型コードは一切不要です。 ローカル検証。
QRコード並列表示
QRコードは、UIコントロールとプログラムライブラリ間のAPIのギャップを象徴的に示している。
DevExpress QRコード - WinFormsコントロール:
// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;
var barCode = new BarCodeControl();
var symbology = new QRCodeGenerator();
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H;
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric;
barCode.Symbology = symbology;
barCode.Text = "https://example.com";
barCode.Width = 500;
barCode.Height = 500;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("qr.png", ImageFormat.Png);
bitmap.Dispose();
// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;
var barCode = new BarCodeControl();
var symbology = new QRCodeGenerator();
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H;
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric;
barCode.Symbology = symbology;
barCode.Text = "https://example.com";
barCode.Width = 500;
barCode.Height = 500;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("qr.png", ImageFormat.Png);
bitmap.Dispose();
Imports DevExpress.XtraBars.BarCode
Imports DevExpress.XtraBars.BarCode.Symbologies
Imports System.Drawing
Imports System.Drawing.Imaging
Dim barCode As New BarCodeControl()
Dim symbology As New QRCodeGenerator()
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric
barCode.Symbology = symbology
barCode.Text = "https://example.com"
barCode.Width = 500
barCode.Height = 500
Dim bitmap As New Bitmap(barCode.Width, barCode.Height)
barCode.DrawToBitmap(bitmap, New Rectangle(0, 0, barCode.Width, barCode.Height))
bitmap.Save("qr.png", ImageFormat.Png)
bitmap.Dispose()
IronBarcode QRコード — 同じ結果が得られ、UIアセンブリは不要です。
// IronBarcode: QR in one method chain
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
.SaveAsPng("qr.png");
// IronBarcode: QR in one method chain
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
.SaveAsPng("qr.png");
QRコードの中央にブランドロゴを追加する:
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
.AddBrandLogo("company-logo.png")
.SaveAsPng("qr-branded.png");
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
.AddBrandLogo("company-logo.png")
.SaveAsPng("qr-branded.png");
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest) _
.AddBrandLogo("company-logo.png") _
.SaveAsPng("qr-branded.png")
DevExpressには、埋め込みロゴに相当する機能はありません。 このコントロールは標準的なQRコードを表示するだけで、それ以上の機能は提供しません。
機能比較
| フィーチャー | DevExpress バーコード | IronBarcode |
|---|---|---|
| バーコード生成 | はい(WinFormsコントロール、 Blazorタグ) | はい(プログラムによるAPI、全環境) |
| バーコードの読み取り/スキャン | いいえ、公式に確認済みです | はい、画像、PDF、バイト配列 |
| PDFバーコード読み取り | なし | はい、ネイティブで、追加ライブラリは不要です。 |
| スタンドアロンNuGetパッケージ | いいえ — DXperienceSuiteは不要です | はい - @@--CODE-38566--@@ のみ |
| Suite料金 | 年間約2,499ドル以上(フルUISuite) | 該当なし — スタンドアロン |
| ライセンス費用 | サブスクリプションのみ | 永久翻訳 $749より |
| ASP.NET Core / 最小限のAPI | WinFormsの回避策が必要です | ネイティブサポート |
| Azureファンクション | ヘッドレスモードではサポートされていません | フルサポート |
| Docker(ドッカー)/ Linux(リナックス)。 | LinuxベースイメージにおけるGDI+の問題 | フルサポート |
| コンソールアプリケーション | WinFormsアセンブリの読み込みが必要です | ネイティブサポート |
| QRコード生成 | はい(QRコードジェネレーターのシンボル体系による) | はい(QRコードライター) |
| ロゴが埋め込まれたQRコード | なし | はい — .AddBrandLogo() |
| QRコードのエラー訂正レベル | H、Q、M、L | 最高、高、中、低 |
| コード128 | はい | はい |
| データマトリックス | はい | はい |
| PDF417 | はい | はい |
| アステカ | はい | はい |
| ファイル出力 | DrawToBitmap — 手動ビットマップ割り当て | .SaveAsPng()、.SaveAsGif()、.SaveAsSvg() |
| バイナリ出力(HTTPレスポンス) | 手動ビットマップ → メモリストリーム | .ToPngBinaryData() |
| マルチスレッド読み取り | 該当なし — 読書なし | MaxParallelThreads = 4 |
| 複数バーコード読み取り | 該当なし — 読書なし | ExpectMultipleBarcodes = true です。 |
| プラットフォーム | Windows (WinForms / Blazor) | Windows、Linux、macOS、Docker、Azure、AWS Lambda |
| .NETバージョンのサポート | .NET Framework + 最新の.NET (Windows) | .NET 4.6.2 から.NET 9 |
APIマッピングリファレンス
DevExpressのBarCodeControlパターンに精通しているチームは、これらの等価訳が役に立つでしょう:
| DevExpress バーコード | IronBarcode |
|---|---|
| コード-38568 | 静的 — インスタンスは不要 |
| --コード-38569--@ + @@--コード-38570--@@。 | CODE-38571はパラメータとして渡されます。 |
| --コード-38572--@ + @@--コード-38573--@@。 | コード-38574 |
| --コード-38575--@ + @@--コード-38576--@@。 | コード-38577 |
| コード-38578 | コード-38579 |
| コード-38580 | コード-38581 |
| CODE-38582--(ドキュメント単位) | コード-38583(ピクセル) |
| コード-38584 | コード-38585 |
| ビットマップの手動割り当て | コード-38587 - サイズを自動的に処理します。 |
HTTP レスポンスのマニュアル Bitmap → MemoryStream |
コード-38590 |
| 読み取りAPIはありません | コード-38591 |
| タイプ | CODE-38593--@@(文字列)、@@--CODE-38594--@(バーコードエンコーディング) |
| すべてのプロジェクトでUIアセンブリが必要です | あらゆるタイプの.NETプロジェクトで動作します |
| スイートのみ(年間約2,499ドル以上) | 単体版(永久ライセンス749ドル~) |
チームが切り替わるとき
DevExpressのバーコード制御からIronBarcodeへの移行を促す具体的なシナリオはいくつかあります。
読み取り要件が発生します。最も一般的なシナリオは、長年バーコードを生成してきたWinFormsアプリケーションに、新しい機能要求が届く場合です。アプリケーションは、アップロードされた画像やカメラで撮影した画像からバーコードをスキャンまたは検証する必要があります。 DevExpressには読み取りAPIがありません。 いずれにせよ、チームには新しいライブラリが必要であり、生成処理を同じライブラリに統合するのは理にかなっている。
Web APIエンドポイントの必要性。チームは、Webフロントエンド、モバイルアプリ、または他のサービスから呼び出されるオンデマンドでバーコードラベルを生成するマイクロサービスを構築しています。ASP.NET ASP.NET CoreプロジェクトにはWinFormsへの依存関係はなく、チームはWinFormsへの依存関係を追加したくありません。 IronBarcodeの静的APIは、UIアセンブリの余計な要素を一切含まず、HTTPエンドポイントに統合されます。
Azure FunctionsまたはLambdaのデプロイ。サーバーレスのデプロイでは、多くの場合、Linuxベースのイメージと最小限のランタイムが使用されます。 CODE-38595は、このような環境向けに設計されていません。 IronBarcodeは、設定変更なしでLinux、Dockerコンテナ、Azure Functions、およびAWS Lambda上で動作します。
1つの機能に対するスイートの更新コスト 更新が近づき、チームがDXperienceスイートから実際に使用しているものを監査したとき、特定のサービスのDevExpressコンポーネントがBarCodeControl@だけであることが判明すると、コストの話になります。 単体ライブラリが永久ライセンスで749ドルもするのに、バーコード生成機能のためにフルSuiteのサブスクリプション料金を支払うというのは、なかなか説得力に欠ける。
PDFファイルからの複数バーコード読み取り。請求書PDF、出荷明細書、スキャンされたフォームなどからバーコードを読み取る文書処理ワークフローでは、PDFのサポートと読み取り機能の両方が必要です。 IronBarcodeは、追加のライブラリなしでPDFファイルを直接読み取ります。 DevExpressはどちらの機能も提供していません。
結論
DevExpressのバーコード機能は、UIツールキットに組み込まれたUIレンダリング機能として理解するのが最も適切でしょう。 あなたのアプリケーションがWinFormsまたはBlazorアプリケーションで、グリッドとチャートコントロールにすでにDevExpressを使用しており、バーコードの必要性がフォームにバーコードを視覚的に表示することだけである場合、BarCodeControl@は合理的な選択です。
次のいずれかが必要になった時点で、BarCodeControl@は適切なツールではなくなります: バーコードの読み取り、サーバー側のコンテキストでのバーコードの生成、ヘッドレス環境での実行、Linuxでの作業、WinFormsアセンブリの参照なしでの操作。 DevExpressのサポート担当者は、読み取り機能は存在せず、今後も追加する予定はないと確認しました。 ヘッドレスモードの制限はアーキテクチャ上の問題であり、設定上の問題ではありません。 UIコントロールはUIコントロールです。
IronBarcodeは、あらゆる環境、あらゆるプラットフォームにおいて、静的APIを介したバーコードの生成と読み取りといった、プログラムによるバーコード処理のために構築されています。 これら2つのツールは、それぞれ異なる問題を解決する。 DevExpressのバーコードは、フォーム内に表示するためのものです。 IronBarcodeは、バーコードをコード化して処理するためのツールです。
よくある質問
DevExpress BarCodeとは?
DevExpress BarCode は、C# アプリケーションでバーコードを生成および読み取るための .NET バーコードライブラリです。これは、開発者が.NETプロジェクト用のバーコードソリューションを選択する際に評価するいくつかの選択肢の1つです。
DevExpress BarCodeとIronBarcodeの主な違いは何ですか?
IronBarcodeはインスタンス管理を必要としない静的でステートレスなAPIを使用しています。IronBarcodeはまた、ネイティブPDFサポート、自動フォーマット検出、およびすべての環境にわたるシングルキーライセンスを提供します。
IronBarcodeはDevExpress Barcodeよりもライセンスが簡単ですか?
IronBarcodeは単一のライセンスキーで開発環境と本番環境の両方をカバーします。これは、SDKキーとランタイムキーを分離するライセンスシステムと比較して、CI/CDパイプラインとDocker構成を簡素化します。
IronBarcode は、DevExpress 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 はDevExpress 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インストーラーやランタイムファイルは必要ありません。
DevExpressとは異なり、購入前にIronBarcodeを評価することはできますか?
IronBarcodeのトライアルモードでは、完全なデコードされたバーコード値を返します。購入を決定する前に、ご自身のドキュメントで読み取り精度をベンチマークすることができます。
DevExpress BarCodeとIronBarcodeの価格の違いは何ですか?
IronBarcodeは、開発および量産をカバーする永続的なシングルデベロッパーライセンスで749ドルからご利用いただけます。価格の詳細とボリュームオプションはIronBarcodeのライセンスページでご覧いただけます。別途ランタイムライセンスは必要ありません。
DevExpress BarCodeからIronBarcodeへの移行は簡単ですか?
DevExpress BarCodeからIronBarcodeへの移行は、主にインスタンスベースのAPIコールをIronBarcodeのスタティックメソッドに置き換え、ライセンスの定型文を削除し、結果のプロパティ名を更新します。ほとんどの移行はコードを追加するのではなく、コードを削減します。
IronBarcodeはロゴ入りQRコードを生成できますか?
はい。QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")は、設定可能なエラー修正機能付きで、ブランド画像をネイティブにQRコードに埋め込みます。カラーQRコードもChangeBarCodeColor()でサポートされています。

