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

NetBarcode対IronBarcode:1D専用生成VS完全なバーコードツールキットの比較

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

NetBarcodeのType列挙型にはQRコードの項目がありません。 配送ラベル作成プロジェクトで3ヶ月目にQRコードの要件が追加されると、開発者は別のライブラリに頼ることになる。 その2つ目のライブラリは、独自のAPIインターフェース、独自のリリーススケジュール、そしてNetBarcodeが既に必要としているバージョンとバージョンがずれる可能性のある、共通のSixLabors.ImageSharp依存関係をもたらします。 この比較では、NetBarcodeとは何か、どのような場面で適しているか、そしてIronBarcodeが2つ目や3つ目のパッケージを追加することなく、NetBarcodeの不足部分を補うことができる点について検証します。

NetBarcodeを理解する

NetBarcodeは、MITライセンスの下で公開されているオープンソース for .NETバーコード生成ライブラリです。 これは文字列データから線状バーコード画像を生成するために開発されたもので、その目的を完璧に果たしている。 このライブラリはCode128、EAN-13、Code39、および他のいくつかの1D形式を対象としており、すべてがシンプルなコンストラクターと少数の出力メソッドで公開されています。 その依存関係にあるSixLabors.ImageSharpは画像レンダリングレイヤーを提供し、1.8バージョン以降、この依存関係は公共API内でGetImage()を介して反映されています。

NetBarcodeは、汎用的なバーコードツールキットを目指しているわけではありません。 読み取り機能はなく、2Dフォーマットにも対応していません。 これらは意図的な範囲決定です。 このライブラリは、1次元バーコードのみを必要とするアプリケーションに最適であり、MITライセンスであるため、オープンソースの環境での導入も容易です。

主な建築上の特徴:

  • **MITライセンス:**ライブラリ自体はMITライセンスですが、依存関係にあるSixLabors.ImageSharpには、一定の収益基準を満たすと適用される分割商用ライセンスが適用されます。
  • 1D専用設計: Type列挙型は、8つの線形シンボロジファミリーにわたる11の値を定義しています; 2Dのエントリーはなく、UPC-A、UPC-E、ITF、MSIのエントリーもありません
  • SixLabors.ImageSharp依存: 画像レンダリングはImageSharpに委任され、v1.8以降、Image<Rgba32>を返し、公共APIで直接ImageSharpの型を公開しています
  • コンストラクタベースのAPI: バーコードはGetImage()で保存または取得されます -読み取りAPIなし: NetBarcodeは生成専用です。 バーコード画像をデコードするメソッドやクラスはありません。 -**バッチ処理なし:**各バーコードは独立したコンストラクタ呼び出しです。 no built-in enumeration or batch pipeline

型列挙型設計境界

Type列挙型は、NetBarcodeが生成できる要素の権威的なリストです。 それを詳しく調べてみると、図書館の規模が明らかになる。

// ネットバーコード Type enum — complete list as of v1.8
public enum Type
{
    Codabar,
    Code11,
    Code128,
    Code128A,
    Code128B,
    Code128C,
    Code39,
    Code39E,
    Code93,
    EAN13,
    EAN8
}

// These entries do not exist — attempting to use them produces a CS0117 compile error:
// Type.QRCode      — does not exist
// Type.DataMatrix  — does not exist
// Type.PDF417      — does not exist
// Type.Aztec       — does not exist
// Type.UPCA        — does not exist
// Type.UPCE        — does not exist
// Type.ITF         — does not exist
// Type.MSI         — does not exist
C#

この列挙型には8つの線形シンボロジー群にわたる11のエントリがあり、ライブラリの意図された範囲を反映しています。 QRコード、DataMatrix、PDF417、Aztec、UPC-A、UPC-E、ITF、またはMSIを要求するアプリケーションは、それらの形式を提供するための別のパッケージを取得する必要があります。

IronBarcodeを理解する

IronBarcodeは、バーコードの生成と読み取りの両方を単一のパッケージでカバーする商用.NETバーコードライブラリです。 Iron Software社によって開発・保守されており、最新 for .NETバージョンを対象とした定期的なアップデートが行われています。 ライブラリの静的API表面は、異なるバーコード形式への切り替えを単一の定数の変更だけにするよう設計されています。BarcodeWriter.CreateBarcode呼び出しは、Code128、QRコード、DataMatrix、PDF417、Aztecを生成します。

IronBarcodeは、画像ファイルとPDFドキュメントを受け入れ、フォーマット識別付きのデコード結果を返すBarcodeReaderクラスを通じてバーコード読み取りを処理します。 これは、生成と閲覧が単一の依存関係、単一のライセンス、および追跡すべき単一のリリースノートセットを共有することを意味します。

主な特徴:

  • 統一された生成と読み取り: BarcodeReaderの両方が単一のNuGetパッケージに含まれています
  • 50種類以上の対応フォーマット: 1Dフォーマットには、NetBarcodeのすべての同等フォーマットが含まれます。 2Dフォーマットには、QRコード、DataMatrix、PDF417、Aztecなどがあります。
  • 流暢なチェーンAPI: SaveAsPng(), SaveAsJpeg(), ToPngBinaryData()、およびストリームベースのオーバーロードを含む出力メソッドを提供します。
  • ImageSharpへの依存なし: IronBarcodeの画像レンダリングは自己完結型です。 SixLaborsの推移的依存関係は導入されません
  • PDFサポート: 読み取りAPIは、画像形式に加えて直接.pdfファイルを受け入れます -**商用ライセンス:**ライセンスキーが必要です。 トライアルモードが利用可能で、購入時に透かしが削除されます。

機能比較

フィーチャーネットバーコードIronBarcode
1次元バーコード生成はいはい
2次元バーコード生成なしはい
バーコード読み取りなしはい
PDFサポートなしはい
総シンボル体系11の列挙値 / 8つの分類群50歳以上
ImageSharpの依存関係はい(分割ライセンス)なし
ライセンスモデルMITライセンス(ImageSharp使用条件あり)商用

詳細な機能比較

フィーチャーネットバーコードIronBarcode
世代
Code128(および128A/B/C)、Code39、Code39 Extended、Code93、Code11はいはい
EAN-13、EAN-8、Codabarはいはい
UPC-A、UPC-E、ITF、MSIなしはい
QRコードなしはい
データマトリックスなしはい
PDF417なしはい
アステカなしはい
GS1-128、GS1データバーなしはい
郵便形式(インテリジェントメール、ロイヤルメール)なしはい
SVG出力なしはい
読む
バーコード画像をデコードするなしはい
PDF文書から読み込むなしはい
複数バーコード検出なしはい
自動フォーマット検出なしはい
APIデザイン
コンストラクタベースの生成はいいいえ(静的メソッド)
流暢な出力チェーンなしはい
バッチ処理のサポートマニュアル内蔵
ライセンスと依存関係
図書館ライセンスMIT商用
ImageSharpの依存関係はいなし
商用サポートコミュニティプロフェッショナル

フォーマットのカバー範囲

NetBarcodeアプローチ

NetBarcodeは、Type列挙型を介して8つのシンボロジファミリーにわたる11の線形バーコード列挙値を提供します。 その範囲内では、フォーマットの選択は簡単です。適切な列挙型メンバーをコンストラクタに渡せばよいのです。 境界線も同様に明確だ。列挙型の範囲外のフォーマットを使用しようとすると、コンパイル時エラーが発生する。

// ネットバーコード — formats that compile and produce output
using NetBarcode;

var code128 = new Barcode("12345678901234", Type.Code128);
code128.SaveImageFile("shipping.png");

var ean13 = new Barcode("5901234123457", Type.EAN13);
ean13.SaveImageFile("product.png");

// ネットバーコード — formats that produce CS0117 compile errors
// var qr     = new Barcode("data", Type.QRCode);     // error CS0117
// var dm     = new Barcode("data", Type.DataMatrix);  // error CS0117
// var p417   = new Barcode("data", Type.PDF417);      // error CS0117
// var aztec  = new Barcode("data", Type.Aztec);       // error CS0117
// var upca   = new Barcode("data", Type.UPCA);        // error CS0117
// var itf    = new Barcode("data", Type.ITF);         // error CS0117
C#

この境界が制約となる業界には、医薬品追跡(FDAの2次元バーコード義務付けに基づくDataMatrix)、航空会社の搭乗券(Aztec)、物流マニフェスト(PDF417)、モバイルマーケティング(QRコード)などがある。 これらの要件のいずれも、NetBarcodeを単独のソリューションとして利用することを不可能にする。

IronBarcodeのアプローチ

IronBarcodeは、同じBarcodeWriter.CreateBarcodeメソッドを通じてすべてのサポートされた形式を公開します。 API表面は、1D形式から2D形式に移行する際に変更されることはありません。異なるのはBarcodeEncoding定数のみです。

using IronBarCode;

// 1D formats — identical API to the 2D examples below
BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128)
    .SaveAsPng("shipping.png");

BarcodeWriter.CreateBarcode("5901234123457", BarcodeEncoding.EAN13)
    .SaveAsPng("product.png");

// 2D formats — same method, different encoding constant
BarcodeWriter.CreateBarcode("https://example.com", BarcodeEncoding.QRCode)
    .SaveAsPng("qr.png");

BarcodeWriter.CreateBarcode("01034531200000111719112510ABCD1234", BarcodeEncoding.DataMatrix)
    .SaveAsPng("pharma-label.png");

BarcodeWriter.CreateBarcode("M1DOE/JOHN MR ABC123 JFKLHR 0012 123Y015A0001 100", BarcodeEncoding.Aztec)
    .SaveAsPng("boarding-pass.png");

サポートされている定数の完全なリストは、サポートされているバーコード形式のリファレンスに記載されており、すべての2次元バーコード生成形式とすべての1次元バーコード形式が網羅されています。

世代API設計

NetBarcodeアプローチ

NetBarcodeの生成モデルはコンストラクタベースです。 データ文字列とBarcodeオブジェクト。 出力は、Image<Rgba32>として取得されます。 バージョン1.8以降、GetImage()の戻り型はSixLabors.ImageSharp型であり、そのため戻り値を格納または処理するコードはImageSharp API内で動作する必要があります。

using NetBarcode;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;

// Constructor-based creation
var barcode = new Barcode("12345678901234", Type.Code128);

// Save to file — straightforward
barcode.SaveImageFile("code128.png");

// GetImage() returns Image<Rgba32> — ImageSharp import required
Image<Rgba32> image = barcode.GetImage();

// Further processing requires familiarity with the ImageSharp API
using var stream = new MemoryStream();
image.SaveAsPng(stream);
byte[] bytes = stream.ToArray();

GetImage()メソッドの戻り型は、下流のコードをImageSharpライブラリに結びつけます。 結果を受け入れるまたは格納する任意のメソッドは、Image<Rgba32>として宣言する必要があり、呼び出しコードに推移的依存関係を導入します。

IronBarcodeのアプローチ

IronBarcodeは流暢なチェーンを使用します。 GeneratedBarcodeオブジェクトを返します。 画像処理は内部的に行われ、ImageSharp 型は呼び出し元のコードには公開されません。

using IronBarCode;

// Fluent generation — save directly to file
BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128)
    .SaveAsPng("code128.png");

// Multiple output options on the same GeneratedBarcode object
var barcode = BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128);
barcode.SaveAsPng("code128.png");
barcode.SaveAsJpeg("code128.jpg");
byte[] bytes = barcode.ToPngBinaryData();

using var stream = new MemoryStream();
barcode.SaveAsPng(stream);

幅、高さ、ラベル構成など、 1次元バーコード生成に関する詳細なオプションについては、 IronBarcodeのドキュメントに記載されています。

読解能力

NetBarcodeアプローチ

NetBarcodeには読み取りAPIがありません。 バーコード画像をデータ文字列にデコードするメソッド、クラス、または設定は存在しません。 これは意図的な範囲設定であり、リリースまでの一時的な省略ではありません。 NetBarcodeでバーコードを生成し、後で印刷されたラベルの検証、返品商品のスキャン、仕入先請求書からの値の抽出などのためにそのバーコードを読み取る必要があるプロジェクトでは、その目的のために別のライブラリを導入する必要があります。

// ネットバーコード — no reading method exists
// The following does not compile because the method does not exist:
// var result = barcode.Read("image.png");  // method does not exist

// The typical workaround requires ZXing.Net as a third-party dependency

ZXing .NETライブラリは、NetBarcodeと併用して読み取りを行う際に最も一般的に使用されるライブラリであり、NetBarcodeや既にQRコード用に追加された2Dライブラリに加えて、3つ目のAPIインターフェースと3つ目のパッケージを提供し、バージョン管理の対象となります。

IronBarcodeのアプローチ

IronBarcodeはBarcodeWriterと同じパッケージに含めています。 読み取りAPIは画像ファイルとPDFドキュメントを受け付け、デコードされた結果のコレクションを返します。各結果には、バーコード値、フォーマットタイプ、およびPDFから読み取った場合はページ番号が含まれます。

using IronBarCode;

// Read barcodes from an image file
var imageResults = BarcodeReader.Read("shipping-label.png");
foreach (var r in imageResults)
{
    Console.WriteLine($"{r.Format}: {r.Value}");
}

// Read barcodes from a PDF document — no additional library required
var pdfResults = BarcodeReader.Read("invoice.pdf");
foreach (var r in pdfResults)
{
    Console.WriteLine($"Page {r.PageNumber}: {r.Value}");
}

画像からバーコードを読み取るためのガイドでは、読み取りAPIで利用可能な速度調整、複数バーコードの検出、および画像補正オプションについて説明します。

依存関係とライセンスに関する考慮事項

NetBarcodeとImageSharp

NetBarcodeはMITライセンスで提供されています。 依存しているSixLabors.ImageSharpライブラリは異なるモデルを採用しており、オープンソースプロジェクトや、年間総収益が一定のしきい値以下の企業は無料で利用できますが、そのしきい値を超えると商用ライセンスが必要になります。 この分割は、ImageSharpがプロジェクトの.csprojに明示的にリストされているか、NetBarcodeを通して推移的に到着したかに関係なく適用されます。

<!-- This single reference pulls in SixLabors.ImageSharp and SixLabors.Fonts
     under their respective split licences. NuGet does not surface the
     commercial licence condition during package installation. -->
<PackageReference Include="NetBarcode" Version="1.8.3" />
XML

NetBarcodeが主なターゲットとする、バーコードを大規模に処理する小売業や物流会社の場合、年間収益はImageSharpの商用ライセンスが適用される基準額を超えることが多い。 コンプライアンス監査によって、パッケージツリーに組み込まれたこの義務が明らかになる可能性がある。

v1.8リリースは、ImageSharp依存の追加の結果としてSixLabors.ImageSharp.Image<Rgba32>に変わったという影響をもたらしました。 明示的な型付けなしでusing指令が必要になりました。 ImageSharp独自のAPIが将来のバージョンで進化すると、NetBarcodeの公開APIにも影響が及ぶ。

IronBarcode

IronBarcodeはSixLabors.ImageSharpに依存していません。 ライセンス条件はIronBarcodeのライセンスページに直接記載されており、分割基準や推移的な商業義務は存在しません。 評価用の試用版キーが利用可能です。 購入したライセンスは、生成された出力から試用版の透かしを削除します。

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

ネットバーコードIronBarcodeノート
new Barcode(data, Type.Code128)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)コンストラクタ → 静的メソッド
new Barcode(data, Type.Code128A/B/C)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)IronBarcodeはサブセットを自動選択します
new Barcode(data, Type.EAN13)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.EAN13)直接マッピング
new Barcode(data, Type.EAN8)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.EAN8)直接マッピング
new Barcode(data, Type.Code39)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code39)直接マッピング
new Barcode(data, Type.Code39E)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code39Extended)直接マッピング
new Barcode(data, Type.Code93)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code93)直接マッピング
new Barcode(data, Type.Code11)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code11)直接マッピング
new Barcode(data, Type.Codabar)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Codabar)直接マッピング
barcode.SaveImageFile("x.png").SaveAsPng("x.png")メソッド名の変更
barcode.SaveImageFile("x.jpg").SaveAsJpeg("x.jpg")メソッド名の変更
barcode.GetImage()Image<Rgba32>.ToPngBinaryData() または .SaveAsPng()ImageSharpタイプは公開されていません
なし Type.UPCA / UPCE / ITF / MSIBarcodeEncoding.UPCA / UPCE / ITF / MSI新機能
なし Type.QRCodeBarcodeEncoding.QRCode新機能
なし Type.DataMatrixBarcodeEncoding.DataMatrix新機能
なし Type.PDF417BarcodeEncoding.PDF417新機能
なし Type.AztecBarcodeEncoding.Aztec新機能
読み取りAPIはありませんBarcodeReader.Read(path)新機能
using NetBarcode;using IronBarCode;名前空間の置換
using SixLabors.ImageSharp;取り除くもう必要ありません

完全なフォーマットリファレンスは、サポートされているバーコードフォーマットのドキュメントに記載されています。

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

QRコードおよび2Dフォーマットの要件

NetBarcodeの代替案を検討する最も一般的なきっかけは、QRコードに関する新たな要件の発生である。 小売ラベルや出荷明細書用の1次元バーコード生成から始まるアプリケーションは、非接触リンク、モバイルアプリのディープリンク、マーケティングキャンペーンなど、QRコードを必要とするケースが一般的です。 Type 列挙型にQRエントリがないため、この要件はNetBarcodeで満たすことができません。 ギャップを埋めるために別途QRライブラリを追加するチームは、医薬品統合のためにDataMatrixが必要になった場合、または配送ラベルにPDF417を義務付ける物流業者が必要になった場合に、2回目の評価に直面することになる。

バーコード読み取りが必須となる

プロジェクトによっては、最初は純粋な生成作業から始まり、後から検証や文書処理の要件を追加する場合があります。例えば、印刷されたバーコードが元のデータと一致するかを確認したり、仕入先からの請求書からバーコード値を抽出したり、返品ラベルをスキャンしたりといった作業です。 NetBarcodeにはこのためのパスがありません。 ZXing .NETまたは同等の読み取りライブラリを追加すると、NetBarcodeとQRライブラリが既に存在する同じコードベース内で、学習および保守が必要な3つ目のAPIが導入されることになります。 将来の段階であっても読書ニーズを想定しているプロジェクトでは、最初から両方のニーズに対応できる図書館を選ぶ方が効率的な場合が多い。

ImageSharp商用ライセンス監査

サードパーティの依存関係に関する法的およびコンプライアンス上のレビューでは、NetBarcode パッケージツリーに組み込まれている SixLabors.ImageSharp の商用ライセンス条件が時折明らかになります。 年間総収益が一定の基準額を超える企業の場合、ImageSharpが意図的に選択されたか、NetBarcodeを経由して間接的に導入されたかにかかわらず、この義務が適用されます。 導入前ではなく監査中にこの問題を発見したチームは、計画的な移行ではなく、事後的な是正措置を講じる必要に迫られる。 プロジェクトを開始する前に依存関係のライセンスを評価する方が、より確実な方法です。

複数ライブラリの複雑さを軽減する

1D生成用のNetBarcode、2D出力用のQRコード専用ライブラリ、読み取り用のZXing .NETを既に導入しているチームは、3つの異なるパッケージ間でバージョン互換性を維持する必要に迫られる。 アップグレードのたびに、3つのライブラリが共有するImageSharpのバージョンが一致しているかどうかを確認する必要があります。 プロジェクトに参加する新しい開発者はそれぞれ、概念的には一つの課題であるにもかかわらず、3つの異なるAPIに遭遇することになる。 単一のバーコードライブラリに統合することで、導入が簡素化され、バージョン競合の問題が軽減され、メンテナンスが1つのリリースサイクルに集中します。

一般的な移行の考慮事項

パッケージの入れ替えと推移的依存関係のクリーンアップ

最初のステップは、dotnet remove package NetBarcodeを使用してNetBarcodeを削除することです。他のプロジェクト内のパッケージが推移的に引き込む場合、SixLabors.ImageSharpパッケージが依存関係ツリーに再表示される可能性があります。 除去後、dotnet list package --include-transitiveで復元されたパッケージリストを確認し、ImageSharpがまだ存在しているか、商用ライセンス条件がまだ適用されるかを確認します。

GetImage() の戻り値の型置換

Image<Rgba32>として保存していたコードは更新する必要があります。 ImageSharp型にはIronBarcodeに直接相当する型はありません。 代替画像は、その後の画像利用状況によって異なる。 イメージをストリームに保存するコードは、.SaveAsPng(stream)と置き換えることができます。 生のバイトを取得するコードは、.ToPngBinaryData()を使用できます。 返された画像に対してImageSharpによる追加操作を行うコードは、それらの操作を個別に評価する必要があります。

名前空間の更新

using IronBarCode;に置き換える必要があります。 プロジェクト全体でこれらのusingステートメントを検索することで、ビルドを試行する前に注意が必要なすべてのファイルが特定されます。

IronBarcodeの追加機能

本比較で取り上げた基本的な生成機能と読み取り機能に加え、 IronBarcodeは以下の機能を提供します。

  • **SVGバーコード出力印刷ワークフローやスケーラブルなラベルデザインに適したベクター形式のバーコード画像を生成します。 -バーコードのスタイル設定:**生成されるバーコードのバーの色、背景色、注釈フォント、余白、回転角度を設定します。
  • **GS1-128およびGS1 DataBar小売およびサプライチェーンのコンプライアンスに対応したアプリケーション識別子構造のバーコード -郵便フォーマット:**インテリジェントメール、ロイヤルメール、およびその他の郵送アプリケーション用郵便シンボル体系
  • **PDFバーコード抽出別途PDFライブラリを用意することなく、複数ページのPDFドキュメントから直接バーコードを読み取ります。 -バッチ生成:**単一のパイプライン内でバーコードデータのコレクションを効率的に処理します
  • MAUIおよびモバイルターゲット IronBarcodeは、クロスプラットフォームのモバイルおよびデスクトップバーコードワークフロー向けに.NET MAUIアプリケーションをサポートしています。

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

IronBarcodeは現在 for .NETバージョンをターゲットにしており、まだモダンな.NETに移行していないプロジェクトのために.NET Standardとの互換性を維持しています。 Iron Softwareの定期的なリリーススケジュールは、各主要な.NETリリースと互換性更新を連携しています。 NetBarcodeは.NET Standard 2.0をターゲットとしており、その互換性レイヤーを通じて現在のランタイム環境でも動作しますが、ライブラリの更新頻度と2Dフォーマットセットは設計範囲によって固定されています。

結論

NetBarcodeとIronBarcodeは、バーコードライブラリの範囲というスペクトラム上で異なる位置を占めている。 NetBarcodeは、1Dバーコード生成のための焦点を絞ったクリーンな実装です。8つのシンボロジーファミリーにわたる11の列挙値、明確なコンストラクタAPI、およびImageSharp収益基準内のオープンソースプロジェクトの採用を円滑にするMITライセンスを備えています。 IronBarcodeは、50種類以上のフォーマットに対応した生成機能、画像やPDFからの読み取り機能、そして1Dフォーマットと2Dフォーマットを同じように扱う流暢なAPIを備えた、より包括的なツールキットです。

要件が対応するセット内での線形バーコード生成に本当に限定されているプロジェクトには(ヨーロッパの小売りスキャナ向けのEAN-13コードを生成するPOSシステム、または固定かつ短寿命の内部ツールなど)、NetBarcodeは商業的依存を導入せずに必要なものを提供します。 ライブラリはその範囲内でよく構築されており、その範囲はType列挙型の最初の外観から明らかです。

フォーマットの範囲が拡大する可能性のあるプロジェクト、最終的に読み取りが必要になるプロジェクト、またはImageSharpの推移的依存関係のコンプライアンスレビューが懸念されるプロジェクトにおいて、 IronBarcodeはこれら3つのすべてを単一のパッケージで解決します。 1D生成にNetBarcodeを使用し、後から2D生成にQRCoder、読み取りにZXing .NETを追加するチームは、3つの異なるライブラリ保守義務を抱えることになります。 IronBarcodeはそれらを一つに統合します。

その選択は、プロジェクトの要件から直接導き出される。 NetBarcodeの11の1D列挙値が8つのシンボロジーファミリーにまたがり、読み取り能力がないという仕様が正確に一致する場合、NetBarcodeは技術的に妥当な選択です。 仕様に2Dフォーマット、読み取りワークフロー、またはImageSharpのライセンス条件に関する懸念事項が含まれている場合、 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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。