IRONSOFTWAREHOME
他のコンポーネントと比較する

DevExpress バーコード vs IronBarcode: UI制御 vs スタンドアロンライブラリ

Curtis Chau
Curtis Chau
Updated: 2026年4月26日

DevExpressは、高く評価されている.NET UIツールキットです。 グリッド、スケジューラ、チャート、ピボットテーブルコントロールはエンタープライズチームによって広く使用されています。 しかし、バーコードのサポートに関しては話は別です。 DevExpressはDxBarCodeタグを提供しており、フォームにバーコードをレンダリングすることができます。 DevExpressサポートは、読み取り機能が存在しないことを確認しており、それを追加する計画は現在ありません。 バーコードがバックグラウンドジョブ、Web API、PDFドキュメント、またはUIフォームが使用されていない環境に存在する場合、この制御は適用されません。

この制約により、DevExpressのバーコード関連製品は、DevExpressのWinFormsまたはBlazorのUI内でバーコードを視覚的に表示するという特定のニッチな分野に限定される。 そのニッチな用途であれば問題なく機能します。しかし、それ以外の用途、例えばサーバーサイドでの生成、画像やPDFからの読み込み、Azure FunctionsやDockerコンテナでのヘッドレス処理などには、別のツールが必要です。

DevExpressバーコードコントロールの理解

DevExpress DevExpress.XtraPrinting.BarCodeにあります。 これは単体で動作するライブラリではありません。 この製品はDXperienceスイートにバンドルされており、価格は年間$1,699.99からです(ユニバーサルサブスクリプションは$2,299.99です)。 バーコード専用のNuGetパッケージは別途提供されていません。

BarCodeControlはWinFormsコントロールです。 シンボルオブジェクトを設定してプロパティを設定すると、画面に表示されます。 そのレンダリングをファイルに保存するにはBitmapが必要です。

// DevExpress WinForms: UI control, not a library
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // Code128Generator, etc.
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();

ここにはいくつかの摩擦点があることに注目してください。 まず、barCode.Moduleはドキュメント単位であり、ピクセル単位で考えると不一致が生じます。 次に、Bitmapを割り当てる前に最終的なピクセルサイズを知る必要があります。 第三に、このコントロールはWinFormsアセンブリの読み込みを必要とします。つまり、 ASP.NET Coreの最小限のAPIまたはコンソールのバックグラウンドサービスは、バーコード画像を生成するためだけにWindows Formsインフラストラクチャを読み込む必要があるということです。

BlazorのDxBarCodeタグは概念的には類似していますが、UIレンダリングのためのRazorコンポーネントであって、サーバーサイド生成APIではありません。

読解機能なし

DevExpressの公式見解は、バーコード認識機能やスキャン機能は提供していないというものです。 DevExpressサポートセンターは"DevExpress BarCodeコントロールはバーコード生成専用に設計されています。"と述べています。 "バーコードの認識/スキャン機能は提供していません。"それを追加する計画は現時点でありません。

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}");
}

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}");
}

Suiteバンドルの問題

DevExpressのバーコードコンポーネントは、単体製品としては販売されていません。 任意のプロジェクトでBarCodeControlを使用するには、DevExpressのサブスクリプションが必要です。ASP.NET & Blazorティアは年額$1,099.99から始まり、DXperience(WinForms + WPF)は年額$1,699.99、Universalは年額$2,299.99です。 このSuiteには、グリッド、チャート、スケジューラー、ピボット、その他多くのコントロールが含まれています。これは、DevExpress WinFormsまたはBlazorアプリケーションを本格的に構築する場合に妥当な構成です。 バックエンドサービスでのみバーコード生成が必要な場合、そのサービスでは決して使用されないUIツールキット全体に料金を支払うことになります。

IronBarcodeはスタンドアロンパッケージです。

dotnet add package IronBarcode
SHELL

永久ライセンスのLite版は、開発者1名につき749ドルからとなっています。 UIツールキットは同梱されていません。 バーコードの生成と読み取り、クロスプラットフォーム対応、そしてあなたが要求していないその他の機能は一切含まれていません。

ヘッドレス使用の制限

サーバーサイドシナリオでのBarCodeControlの根本的な問題は、WinFormsコントロールであるということです。 .NET 6以降のASP.NET Coreの最小限のAPIプロジェクトでは、WinFormsアセンブリはデフォルトでは参照されません。 BarCodeControlをインスタンス化するには、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");

この呼び出しは、コンソールアプリケーション、 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");
});

大幅な回避策なしではBarCodeControlと同等のパターンはありません。

IronBarcodeを理解する

IronBarcodeは、バーコードの生成と読み取りを行うためのスタンドアロン for .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

ライセンス認証は起動時に1行で行います。

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

ネットワーク呼び出しなし。 エラー処理の定型コードは一切不要です。 ローカル検証。

QRコード並列表示

QRコードは、UIコントロールとプログラムライブラリ間のAPIのギャップを象徴的に示している。

DevExpress QRコード - WinFormsコントロール:

// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // QRCodeGenerator + QRCodeErrorCorrectionLevel

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();

IronBarcode QRコード — 同じ結果が得られ、UIアセンブリは不要です。

// 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");

DevExpressには、埋め込みロゴに相当する機能はありません。 このコントロールは標準的なQRコードを表示するだけで、それ以上の機能は提供しません。

機能比較

フィーチャーDevExpress バーコードIronBarcode
バーコード生成はい(WinFormsコントロール、 Blazorタグ)はい(プログラムによるAPI、全環境)
バーコードの読み取り/スキャンいいえ、公式に確認済みですはい、画像、PDF、バイト配列
PDFバーコード読み取りなしはい、ネイティブで、追加ライブラリは不要です。
スタンドアロンNuGetパッケージいいえ — DXperienceSuiteは不要ですはい、IronBarcodeのみ
Suite料金$1,099.99/年(ASP.NET & Blazor)〜$2,299.99/年(ユニバーサル)から該当なし — スタンドアロン
ライセンス費用サブスクリプションのみ永久翻訳 $999より
ASP.NET Core / 最小限のAPIWinFormsの回避策が必要ですネイティブサポート
Azureファンクションヘッドレスモードではサポートされていませんフルサポート
Docker(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 + 最新 for .NET (Windows).NET Framework 4.6.2から現在 for .NET

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

DevExpress BarCodeControl パターンに精通したチームにとって、これらの等価性は有用です。

DevExpress バーコードIronBarcode
new BarCodeControl()静的 — インスタンスは不要
new Code128Generator() + barCode.Symbology = symbologyBarcodeEncoding.Code128 パラメータとして渡される
new QRCodeGenerator() + QRCodeErrorCorrectionLevel.HQRCodeWriter.CreateQrCode("data", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
new DataMatrixGenerator() + DataMatrixSize.Matrix26x26BarcodeWriter.CreateBarcode("data", BarcodeEncoding.DataMatrix)
new PDF417Generator()BarcodeWriter.CreateBarcode("data", BarcodeEncoding.PDF417)
new AztecGenerator()BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Aztec)
barCode.Module = 0.02f (文書単位).ResizeTo(width, height) (ピクセル)
barCode.ShowText = true.AddBarcodeText()
DrawToBitmap(bitmap, rect) — 手動のBitmap割り当て.SaveAsPng(path) — サイズを自動的に処理
手動のBitmapMemoryStreamをHTTP応答のために.ToPngBinaryData()
読み取りAPIはありませんBarcodeReader.Read(imagePath)
読み取り結果型なし.Value (文字列), .Format (BarcodeEncoding)
すべてのプロジェクトでUIアセンブリが必要ですあらゆるタイプ for .NETプロジェクトで動作します
スイート専用($1,099.99/年から)単体版(永久ライセンス749ドル~)

チームが切り替わるとき

DevExpressのバーコード制御からIronBarcodeへの移行を促す具体的なシナリオはいくつかあります。

**読み取り要件が発生します。**最も一般的なシナリオは、長年バーコードを生成してきたWinFormsアプリケーションに、新しい機能要求が届く場合です。アプリケーションは、アップロードされた画像やカメラで撮影した画像からバーコードをスキャンまたは検証する必要があります。 DevExpressには読み取りAPIがありません。 いずれにせよ、チームには新しいライブラリが必要であり、生成処理を同じライブラリに統合するのは理にかなっている。

**Web APIエンドポイントの必要性。**チームは、Webフロントエンド、モバイルアプリ、または他のサービスから呼び出されるオンデマンドでバーコードラベルを生成するマイクロサービスを構築しています。ASP.NET ASP.NET CoreプロジェクトにはWinFormsへの依存関係はなく、チームはWinFormsへの依存関係を追加したくありません。 IronBarcodeの静的APIは、UIアセンブリの余計な要素を一切含まず、HTTPエンドポイントに統合されます。

**Azure FunctionsまたはLambdaのデプロイ。**サーバーレスのデプロイでは、多くの場合、Linuxベースのイメージと最小限のランタイムが使用されます。 BarCodeControlはこの環境向けに設計されていません。 IronBarcodeは、設定変更なしでLinux、Dockerコンテナ、Azure Functions、およびAWS Lambda上で動作します。

単一機能のためのスイート更新コスト。 更新の際にチームがDXperienceスイートから実際に使用しているものを監査し、特定のサービス内で唯一のDevExpressコンポーネントがBarCodeControlであることが明らかになると、コストが問題になります。 独立したライブラリが$999の永続的なものである場合、バーコード生成に対して年間$1,699.99のDXperienceサブスクリプションを支払うのは難しい議論です。

**PDFファイルからの複数バーコード読み取り。**請求書PDF、出荷明細書、スキャンされたフォームなどからバーコードを読み取る文書処理ワークフローでは、PDFのサポートと読み取り機能の両方が必要です。 IronBarcodeは、追加のライブラリなしでPDFファイルを直接読み取ります。 DevExpressはどちらの機能も提供していません。

結論

DevExpressのバーコード機能は、UIツールキットに組み込まれたUIレンダリング機能として理解するのが最も適切でしょう。 アプリケーションが既にDevExpressをグリッドとチャートコントロールに使用しているWinFormsまたはBlazorアプリケーションで、バーコードをフォーム上に視覚的に表示するのが唯一の目的である場合、BarCodeControlは合理的な選択です — 既にライセンスがあります。

次のいずれかが必要になった瞬間、BarCodeControlは適切なツールではなくなります。バーコードの読み取り、サーバーサイドコンテキストでのバーコード生成、ヘッドレス環境での実行、Linuxでの作業、またはWinFormsアセンブリ参照なしでの操作。 DevExpressのサポート担当者は、読み取り機能は存在せず、今後も追加する予定はないと確認しました。 ヘッドレスモードの制限はアーキテクチャ上の問題であり、設定上の問題ではありません。 UIコントロールはUIコントロールです。

IronBarcodeは、あらゆる環境、あらゆるプラットフォームにおいて、静的APIを介したバーコードの生成と読み取りといった、プログラムによるバーコード処理のために構築されています。 これら2つのツールは、それぞれ異なる問題を解決する。 DevExpressのバーコードは、フォーム内に表示するためのものです。 IronBarcodeは、バーコードをコード化して処理するためのツールです。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。