フッターコンテンツにスキップ
IRONBARCODEの使用

IronBarcodeを使用したバーコード.NETコンポーネントチュートリアル

バーコード.NETコンポーネントは、わずか数行のコードでC#アプリケーション内でバーコードを生成および読み取ることができるマネージドコードライブラリです。 IronBarcodeは、Code 128、QRコード、Data Matrix、EAN、UPCなど、主要なシンボル体系すべてをサポートしており、追加のランタイム依存関係なしにWindows、Linux、macOSで動作します。

NuGet経由でインストールすれば、数分でバーコードの生成を開始できます。

Install-Package BarCode
Install-Package BarCode
SHELL

バーコード.NETコンポーネントとは何ですか?

バーコード.NETコンポーネントは、 NuGetパッケージとしてパッケージ化されたソフトウェアライブラリであり、簡潔なAPIを通じてバーコードの生成および読み取り機能を提供します。 手動でのチェックサム計算や複雑な書式設定ルールが必要なバーコードフォントとは異なり、専用コンポーネントがすべてのエンコードロジックを内部的に処理します。

IronBarcodeライブラリは、主に2つのエントリーポイントを提供します。

  • BarcodeWriter -- テキストまたは数値データからバーコード画像、PDF、およびHTMLを作成します
  • BarcodeReader -- 画像、PDF、およびマルチフレームTIFFをスキャンしてバーコード値を抽出します

この双方向設計により、ラベルにバーコードを印刷するだけでなく、同じライブラリ内のドキュメントからバーコードをスキャンして取り出すことも可能になります。これは、在庫管理、ドキュメント追跡、Crystal Reportsとの連携、およびデータ自動化ワークフローにとって不可欠です。

サポートされているシンボル体系は以下のとおりです。

  • 1Dリニア:Code 128、Code 39、Code 93、ITF-14、EAN-13、EAN-8、UPC-A、UPC-E
  • 2Dマトリックス:QRコード、データマトリックス、PDF417、アステカ
  • GS1バリアント:GS1-128、GS1データバー

製造システムでは、英数字データを効率的にエンコードできるため、製品追跡に一般的にコード128が使用されます。 医療分野では、非常に小さなサイズでもきれいに印刷できるため、医薬品のラベルにデータマトリックスがよく利用されています。 小売店のPOSシステムは、レジでEAN-13およびUPC-Aバーコードをスキャンします。 バーコード機能を統合する際に最初に行うべき決定事項の一つは、用途に合った適切なシンボル体系を選択することです。

IronBarcodeを.NETプロジェクトにインストールするにはどうすればよいですか?

IronBarcodeのインストールは、Visual StudioのNuGetパッケージマネージャーまたは.NET CLIを使用すれば2分以内に完了します。

パッケージマネージャーコンソール(Visual Studio):

Install-Package BarCode
Install-Package BarCode
SHELL

.NET CLI :

dotnet add package BarCode
dotnet add package BarCode
SHELL

C# でバーコード.NETコンポーネントを統合する方法: 図 3 - インストール

パッケージのインストール後、バーコード機能を使用するすべてのファイルの先頭に名前空間を追加してください。

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

IronBarcodeは、 .NET Framework 4.6.2以降、 .NET Core 3.1以降、および.NET 5から.NET 10までを対象としています。Windows、Linux、macOSで動作するため、プラットフォーム固有の設定なしに、クラウドホスト型コンテナ、オンプレミスサーバー、開発者ワークステーション間で同じコードが機能します。

ASP.NET Coreアプリケーションの場合、ミドルウェアの登録は不要です。 コントローラー、バックグラウンドサービス、またはRazor PagesからAPIを直接呼び出します。 Windows FormsアプリケーションとWPFアプリケーションは、同じ方法でアクセスできます。名前空間を追加して、メソッドを呼び出し始めます。

C# でバーコード.NETコンポーネントを統合する方法: 図 4 - クロスプラットフォーム サポート付きバーコードの生成

オフラインNuGetフィードの設定やプロキシ設定を含む詳細なインストール手順については、 IronBarcode入門ガイドをご覧ください。

C#でバーコード画像を生成するにはどうすればよいですか?

IronBarcodeでバーコードを生成するには、エンコード方式の選択、値の設定、出力の保存という3つのステップが必要です。 次の例では、Code 128バーコードを作成し、PNG画像とPDFドキュメントの両方として保存します。

using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
$vbLabelText   $csharpLabel

ResizeTo() メソッドはピクセル寸法を正確に設定します。これは、特定の DPI でラベルを印刷する場合に重要です。 AddBarcodeValueTextBelowBarcode() という呼び出しは、バーの下に人間が読めるテキストを追加し、倉庫や小売環境での手動検証を容易にします。

バーコード出力フォーマット

C# でバーコード.NETコンポーネントを統合する方法: 図 5 - PNG 出力

C# でバーコード.NETコンポーネントを統合する方法: 図 6 - PDF 出力

IronBarcodeは、PNG、JPEG、GIF、TIFF、BMP、PDF、HTML、およびbase64文字列へのエクスポートに対応しています。 base64形式は、フロントエンドがディスクにファイルを書き込むことなく動的にレンダリングするAPIレスポンスにバーコードを埋め込む場合に特に便利です。

C#でQRコードを生成するにはどうすればよいですか?

QRコードの場合、 IronBarcodeはエラー訂正レベルとモジュールサイズ制御を内蔵サポートするQRCodeWriterクラスを提供します。

using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
$vbLabelText   $csharpLabel

QRコードには、URL、プレーンテキスト、vCardの連絡先データ、Wi-Fi認証情報、および任意のバイト列をエンコードできます。 バーコード生成例のページでは、データマトリックスやPDF417など、その他のエンコードシナリオについても解説しています。

画像からバーコードを読み取るにはどうすればよいですか?

画像からバーコードを読み取るのは、バーコードを書き込むのと同じくらい簡単です。 BarcodeReader.Read() メソッドは、ファイル パス、Bitmap、または IronSoftware.Drawing.AnyBitmap を受け取り、BarcodeResults コレクションを返します。

using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
$vbLabelText   $csharpLabel

リーダーは、回転、歪み、ノイズ、低コントラスト、遠近歪みといった一般的なスキャン時の問題点を補正するために、画像を自動的に前処理します。 つまり、スキャナーから出力される生データを、自分で前処理することなく直接渡すことができるということです。

実際の文書をスキャンする

C# でバーコード.NETコンポーネントを統合する方法: 図 7 - スキャン準備完了の Code128 バーコード

読み取り出力

C# でバーコード.NETコンポーネントを統合する方法: 図 8 - バーコード出力

バーコード読み取りオプションはどのように設定するのですか?

大量スキャンや複雑なスキャンシナリオでは、BarcodeReaderOptions が読み取りアルゴリズムをきめ細かく制御します。

using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
$vbLabelText   $csharpLabel

ExpectBarcodeTypes を実際に想定しているフォーマットに合わせると、リーダーが一致しないパターンをスキップするため、スループットが向上します。 Speed プロパティの範囲は、Faster (クリーンで高品質な画像に最適) から ExtremeDetail (破損または低解像度のソースに最適) までです。 バーコード読み取りに関するドキュメントには、マルチスレッド処理や関心領域のスキャンなど、その他のオプションについても記載されています。

バーコードの外観をカスタマイズするにはどうすればよいですか?

IronBarcodeを使えば、生成されたバーコードを保存する前に、そのあらゆる視覚的な側面を制御できます。 色、フォント、余白、注釈テキストなどをプログラムで設定できます。 これは、ブランドラベル用のバーコードを生成する場合や、ラベルのレイアウトが厳格な仕様に従う規制業界において役立ちます。

APIは流暢なスタイルのパターンに従っています。バーコードを作成し、スタイルメソッドを呼び出し、保存します。 すべてのスタイルプロパティは出力に即座に反映され、別途レンダリング手順は必要ありません。使用可能なプロパティの全リストについては、スタイル設定と注釈の例を参照してください。

PDF文書内のバーコードはどのように処理しますか?

IronBarcodeは、PDFファイルに埋め込まれたバーコードを画像ファイルと同じ方法で読み取ります。 PDFファイルのパスをBarcodeReader.Read()に渡すと、ライブラリが各ページからバーコードを自動的に抽出します。 これは、請求書のPDFにGS1-128バーコードが含まれる買掛金処理ワークフローや、出荷マニフェストがPDF添付ファイルとして配布される物流システムにとって有益です。

IronBarcodeをIronPDFと併用して文書を作成すれば、PDFページにバーコードを直接書き込むこともできます。 一般的な方法としては、人間が読みやすい住所欄と、追跡番号用のスキャン可能なCode 128バーコードの両方を含む配送ラベルのPDFファイルを作成する方法があります。

PDFバーコードのワークフローについてさらに詳しく知りたい場合は、IronBarcodeのチュートリアルセクションに、請求書処理、バッチラベル印刷、文書アーカイブなど、エンドツーエンドの例が掲載されています。

ASP.NET Core APIにバーコードを統合するにはどうすればよいですか?

ASP.NET Coreコントローラーのエンドポイントからバーコード画像を返すことは、動的なラベルを表示するWebポータルでよく求められる要件です。 IronBarcodeのbase64出力を使えば、これは簡単にできます。

using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
$vbLabelText   $csharpLabel

この方法は、あらゆるフロントエンドフレームワークに対応します。 ブラウザは標準的な画像レスポンスを受け取り、それを <img> タグ内に表示します。 トラフィック量の多いエンドポイントでは、同じ製品IDであれば常に同じバーコード画像が生成されるため、バーコードは一度生成してバイト配列をキャッシュしてください。

IronBarcode APIリファレンスには、ストリーミング出力を含む利用可能なすべてのメソッドが記載されており、これにより高解像度バーコードのために大きなバイト配列を割り当てる必要がなくなります。

IronBarcodeはバーコードの検証とエラー訂正をどのように処理しますか?

バーコード規格は、厳格なエンコード規則とチェックサム要件を定めている。 コード128は、重み付きモジュロ103チェックサムを使用します。 EAN-13はモジュロ10を使用します。QRコードにはリード・ソロモン誤り訂正が組み込まれており、バーコードの最大30%が隠れたり破損したりした場合でも、部分的なデータ復元が可能です。

IronBarcodeはこれらのルールを自動的に適用します。 BarcodeWriter.CreateBarcode() を呼び出すと、ライブラリはデータがシンボル体系の文字セットと長さの制約に適合するかどうかを検証し、コードから追加の手順を必要とせずに正しいチェックサムを計算して追加します。 これにより、スキャナーが拒否する無効なバーコードの生成を防ぐことができます。

読み取り側では、ライブラリはデコード中にエラー訂正を適用するため、部分的に破れていたり、汚れていたり、低解像度で印刷されていたりするバーコードからでも、多くの場合、正しい値を復元できます。 この挙動は、小売業や物流業におけるGS1バーコード規格への準拠にとって特に重要である。

バーコードのエラー訂正が仕様レベルでどのように機能するかをより深く理解するには、 ISO/IECバーコード規格の文書が信頼できる技術資料となります。

一般的なバーコード統合シナリオとは?

一般的なバーコード統合シナリオと推奨されるIronBarcode機能
シナリオ シンボロジー IronBarcodeの主要機能
小売店の販売時点情報管理(POS)システム EAN-13、UPC-A `BarcodeEncoding.EAN13` 、PDFエクスポート
倉庫在庫 コード128、ITF-14 `ExpectMultipleBarcodes = true`
医療表示 データマトリックス、GS1-128 小サイズ印刷、高解像度エクスポート
文書追跡 PDF417、コード39 PDF閲覧、複数ページ対応
モバイル製品検索 QRコード `QRCodeWriter.CreateQrCode()`
配送ラベル コード128、GS1-128 ラベルサイズのPDF出力、テキスト注釈

それぞれのシナリオにおいて、最適な設定は異なります。 IronBarcodeのサンプルギャラリーには、上記すべてのシナリオに対応した実行可能なコードが用意されています。

次のステップは何ですか?

バーコード用の.NETコンポーネントを統合することで、通常であれば数週間かかるカスタム開発作業が、わずか半日の設定作業に変わります。 IronBarcodeは、エンコード規則、チェックサム、画像前処理、エラー訂正を処理するため、チームはバーコードの仕組みそのものではなく、バーコードワークフローを取り巻くビジネスロジックに集中できます。

前進するために:

  1. パッケージマネージャーコンソールでパッケージ dotnet add package BarCode または Install-Package BarCode をインストールします。 2.クイックスタートを試してみるバーコードクイックスタートの例では、20行未満のコードで生成と読み取りの手順を説明します。 3.シンボル体系を調べるサポートされているバーコードタイプのリファレンスリストには、使用方法のガイダンスとともにすべてのエンコード形式が記載されています。 4.価格設定の見直しIronBarcodeのライセンスオプションは、シングル開発者、チーム、OEM再配布のユースケースに対応しています。 5.無料トライアルを開始する30日間の無料トライアルライセンスをダウンロードして、アプリケーションで全機能を評価してください。

Enterpriseライセンス、大規模導入、または技術的な統合に関する課題についてのご質問は、 IronBarcodeのサポートチームがお手伝いいたします。

バーコード規格および仕様に関する外部参照資料:

よくある質問

バーコード.NETコンポーネントとは何ですか?

バーコード.NETコンポーネントは、開発者がバーコードの生成とスキャンを.NETアプリケーションに統合し、エンコード ルール、チェックサム、およびイメージの前処理を自動的に処理できるようにするソフトウェア ライブラリです。

.NETアプリケーションでIronBarcodeはどのように役立ちますか?

IronBarcode は、シンプルな API を通じてバーコードを生成および読み取るため for .NETコンポーネントを提供するため、エンコード アルゴリズムを手動で実装することなく、C# アプリケーションにバーコード機能を簡単に追加できます。

IronBarcode を使用してどの種類のバーコードを生成できますか?

IronBarcode は、Code 128、Code 39、Code 93、ITF-14、EAN-13、EAN-8、UPC-A、UPC-E、QR コード、データ マトリックス、PDF417、Aztec、および GS1 バリアントをサポートしています。

独自のソリューションを作る代わりにバーコードコンポーネントを使用する理由は?

プロフェッショナルなバーコード コンポーネントは、チェックサムの計算、エラー訂正、画像の前処理、およびマルチフォーマットのサポートを自動的に処理し、開発時間と無効なバーコードが生成されるリスクを削減します。

IronBarcodeはデータオートメーションタスクに適していますか?

はい、 IronBarcodeはデータ自動化に最適です。画像やPDFからバーコードを読み取り、バックグラウンドサービス、スケジュールされたジョブ、 ASP.NET Core APIに直接統合できます。

IronBarcodeは文書追跡に使用できますか?

はい。IronBarcodeは複数ページの PDF ファイルや複数フレームの TIFF ファイルからバーコードを読み取ることができるため、物流、買掛金、記録管理などのドキュメント追跡ワークフローに適しています。

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

IronBarcode は、Windows、Linux、macOS で実行される.NET Framework 4.6.2 以降、 .NET Core 3.1 以降、 .NET 5 から.NET 10 をサポートしています。

IronBarcodeはどのように在庫管理システムを強化しますか?

IronBarcode は、画像や PDF からの信頼性の高いバーコード生成とマルチバーコード スキャンを提供し、倉庫や小売環境で迅速かつ正確な在庫追跡を可能にします。

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

アイアンサポートチーム

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