IRONSOFTWAREHOME
IRONBARCODEの使用

Xamarin バーコード ジェネレーター: IronBarcodeを使用して C# でバーコードを生成する

Curtis Chau
Curtis Chau
Updated: 2026年6月20日

Xamarinアプリケーションでバーコードを作成するのは複雑で時間がかかる必要はありません。 IronBarcodeを使えば、開発者はわずか数行のC#コードで、AndroidとiOSプラットフォーム全体にわたってプロ品質のバーコードとQRコードを生成できます。 こ for .NETバーコードライブラリは、プラットフォーム固有の実装を不要にし、Xamarin FormsプロジェクトまたはネイティブXamarinプロジェクトにおいて、すべてのモバイルデバイスで一貫して動作するエンタープライズグレードの機能を提供します。

この記事では、 IronBarcodeを使用してクロスプラットフォームのモバイルアプリケーションにバーコード生成システムを実装する方法を説明します。 NuGetを介してライブラリをインストールする方法、QR コードを含むさまざまなバーコード形式を生成する方法、色や注釈を使用して外観をカスタマイズする方法、結果を複数のファイル形式でエクスポートする方法を学びます。これらすべてを、Android と iOS の両方で動作する、クリーンで保守しやすい C# コードを維持しながら実現します。

Xamarin FormsにProfessionalバーコードライブラリが必要な理由とは?

Xamarin.Formsでバーコード生成をゼロから実装するには、複雑なエンコードアルゴリズムの処理、プラットフォーム固有のレンダリングの違いへの対応、およびさまざまなバーコードシンボル体系における正確な出力の確保が必要です。 IronBarcodeなどのプロフェッショナルな.NETバーコードライブラリは、単純なC#メソッドを通じてすべての技術的な複雑さを内部で処理する統一されたAPIを提供することにより、これらの課題を排除します。

IronBarcodeは、QRコード、コード 128、Code 39、EAN-13、UPC-A、Data Matrix、PDF 417、Aztecコードを含む30以上のバーコード形式をサポートしています。 各形式は、特定の使用ケースに最適化されています。 例えば、QRコードはURLや大容量のテキストデータの保存に優れており、EAN-13は小売製品に適しており、コード 128は高密度の英数字エンコーディングを提供します。 ライブラリは、自動的にチェックサムを計算し、適切なエラー訂正レベルを適用し、商業アプリケーション用のGS1標準に準拠することを保証します。

IronBarcodeのクロスプラットフォーム対応により、AndroidとiOSのどちらをターゲットにするかに関わらず、バーコード生成コードは常に同一に保たれます。 この一貫性はXamarinアプリケーションにとどまらず、同じコードがASP.NET Webアプリケーション、デスクトップソフトウェア、Dockerコンテナでも動作するため、多様な展開要件を持つ企業にとって理想的です。 IronBarcodeのクロスプラットフォーム機能について詳しくはこちらをご覧ください。

Xamarin vs. .NET MAUI:コンテキストの理解

Xamarinは、長年にわたり、C#開発者向けのマイクロソフトの主要なクロスプラットフォームモバイル開発フレームワークとして君臨してきた。 マイクロソフトは現在、最新の後継として.NET MAUIに移行していますが、多くの実稼働アプリケーションは依然としてXamarin.FormsおよびXamarin.Android/iOS上で動作しています。 IronBarcodeは両方のフレームワークに対応しているため、この記事で紹介するパターンは、Xamarinプロジェクトを保守している場合でも、 .NET MAUIに移行している場合でも同様に適用できます。

今日から新しいモバイルプロジェクトを始めるなら、 .NET MAUIとIronBarcodeの組み合わせを検討してみてください。 IronBarcode .NET MAUIのドキュメントでは、ここに示されているのと同じ機能に加え、.NET MAUI固有のプロジェクト設定手順についても解説しています。

バーコードロジックをゼロから構築してみませんか?

カスタムバーコードエンコードロジックを作成すると、いくつかの保守上のリスクが生じます。 フォーマット固有のチェックサムアルゴリズム、バー幅の計算、静止ゾーンの要件、および異なるハードウェアベンダー間でのスキャナの互換性に対応する必要があります。 IronBarcodeは、これらすべてをクリーンなAPIの背後に抽象化しています。 IronBarcode APIリファレンスには、すべてのメソッドとパラメータが記載されているため、チームはそれぞれのシナリオに最適なツールを迅速に見つけることができます。

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

Xamarin.FormsプロジェクトでのIronBarcodeのインストールは、NuGetパッケージマネージャーを通じて数分で完了します。 クロスプラットフォームのモバイルプロジェクトを含むVisual Studioソリューションを開き、以下の手順に従ってください。

ソリューションエクスプローラーでソリューションを右クリックし、"ソリューションのNuGetパッケージの管理"を選択します。 参照タブで"IronBarcode"を検索します。 Iron Software社製の公式IronBarcodeパッケージを選択し、共有プロジェクトとプラットフォーム固有のプロジェクトの両方を含む、ソリューション内のすべてのプロジェクトにインストールしてください。 バージョン履歴や依存関係については、 NuGetパッケージの詳細情報を参照できます。

または、以下のコマンドを使用してパッケージマネージャーコンソールを使用します。

PM > Install-Package BarCode

Androidプロジェクトの場合、基本的なバーコード作成には追加の権限は必要ありません。 しかし、生成されたバーコードを外部ストレージに保存する予定がある場合は、WRITE_EXTERNAL_STORAGE 権限を AndroidManifest.xml に追加してください。 Android固有のセットアップガイドを参照して、プラットフォームに関する詳細な注意事項を確認してください。

iOSプロジェクトでQRコードやバーコードをフォトライブラリに保存する場合は、適切なユーザー向け説明とともに NSPhotoLibraryAddUsageDescription キーを Info.plist に追加してください。 iOSのバーコード設定に関するドキュメントには、詳細な手順が記載されています。

ライセンスキーの設定

IronBarcodeの完全な機能をウォーターマークなしで使用するには、ライセンスキーが必要です。 すべてのバーコード生成機能を評価のためにフル利用できる無料トライアルライセンスを取得できます。 アプリケーションのスタートアップコードで一度ライセンスキーを設定します:

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

ライセンスキーがない場合、IronBarcodeは評価モードで動作し、生成されたバーコードにウォーターマークが付きます。 Iron Softwareは、本番環境向けアプリケーションにおいて、単一プロジェクトライセンス、組織全体ライセンス、モバイルアプリ展開向けに設計されたSaaS配信ライセンスなど、さまざまなライセンス階層を提供しています。

IronBarcodeで最初のバーコードを生成するにはどうすればよいですか?

Xamarin.FormsアプリケーションでIronBarcodeを使用して最初のバーコードを作成するには、必要なC#コードは最小限です。 以下の例では、コード 128バーコードを生成し、PNG形式で保存し、人間が読めるテキストラベルを追加します。

using IronBarCode;
using System.IO;

string filePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal),
    "barcode.png");

var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
myBarcode.ResizeTo(500, 200);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsPng(filePath);

BarcodeWriter.CreateBarcode() メソッドはバーコード生成の主要なエントリーポイントです。 このメソッドは、エンコードするデータと BarcodeEncoding 列挙型からのバーコード形式の2つの引数を受け取ります。 このメソッドは、流暢なAPIを通じて広範なカスタマイズを提供する GeneratedBarcode オブジェクトを返します。

ResizeTo() メソッドは、選択したシンボロジーに対して適切なアスペクト比とバー幅の要件を維持しながら、バーコードの寸法を調整します。 AddBarcodeValueTextBelowBarcode() は、バーの下に人間が読めるテキストを追加します。これは、多くの小売および在庫管理シナリオで必要です。 高度な機能については、 BarcodeWriter APIリファレンス全文をご覧ください。

出力

XamarinでIronBarcodeを使用してバーコードを生成する方法:図10 - PDF417出力

モバイルアプリ用のQRコードを生成する

XamarinのバーコードスキャナーアプリでQRコードを生成するには、特化された QRCodeWriter クラスを使用してください。 QRコードは、特別なハードウェアを必要とせず、デバイスのカメラで素早くスキャンできるため、モバイルアプリケーションに最適です。

using IronBarCode;

var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);

byte[] barcodeBytes = qrCode.ToPngBinaryData();

QRCodeWriter.CreateQrCode() メソッドは、ロゴの埋め込みと色のカスタマイズをサポートしているQRコード作成に特化しています。 2番目のパラメーターはピクセル単位でQRコードのサイズを指定します。 ToPngBinaryData() メソッドは、生成されたQRコードをバイト配列に変換します。これは、データベースに保存したり、ネットワーク経由で送信したりするのに便利です。 埋め込まれたロゴを含む高度な設定については、追加のQRコード生成例を確認してください。

さまざまなバーコード形式にはどのように対応していますか?

IronBarcodeは幅広いフォーマットに対応しているため、Xamarin.Formsアプリケーションが必要とするバーコードタイプを正確に生成できます。 以下の例は、単一の製品コード文字列からEAN-13、UPC-A、DataMatrix、およびPDF417バーコードを作成する方法を示しています。

using IronBarCode;

string productCode = "012345678905";

// EAN-13 for European retail
var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
ean13.SaveAsPng("product_ean13.png");

// UPC-A for North American retail
var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
upcA.SaveAsJpeg("product_upca.jpg");

// DataMatrix for small items with high data density
var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
dataMatrix.SaveAsPdf("product_datamatrix.pdf");

// PDF417 for driver licenses and ID cards
var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
pdf417.SaveAsTiff("product_pdf417.tiff");

各バーコードシンボルには、それぞれ固有の特徴と用途があります。 EAN-13とUPC-Aは、数値のみの入力を必要とし、小売スキャニング精度のために自動的にチェックディジットを計算します。 DataMatrixは、電子部品や医薬品のトラッキングに最適な最小スペースに大量のデータをエンコードできます。 PDF417は、組み込みのエラー訂正機能を備え、大容量のデータ保存をサポートしており、輸送書類や身分証明書などで一般的に使用されています。

このライブラリは、入力データをフォーマット要件に照らし合わせて自動的に検証し、無効な入力に対しては分かりやすい例外をスローします。 この検証により、生成されたバーコードが国際ISO規格に準拠し、小売業や物流業で使用される市販のバーコードリーダーで確実に読み取れることが保証されます。 ご自身の用途に最適なバーコード形式の選び方について詳しくはこちらをご覧ください。

出力

XamarinでIronBarcodeを使用してバーコードを生成する方法:図9 - PDF417出力

バーコードフォーマットの比較

以下の表は、最も一般的に使用されているバーコード形式と、モバイルプロジェクトにおけるそれらの典型的な用途をまとめたものです。

モバイルアプリケーション向けバーコードフォーマット比較
形式データ型典型的な使用例バーコードエンコーディング値
QRコード英数字、バイナリ形式のURL商品リンク、連絡先カード、決済フローQRCode
コード 128英数字配送ラベル、在庫Code128
EAN-13数字(13桁)ヨーロッパの小売製品EAN13
UPC-A数字(12桁)北米の小売製品UPCA
DataMatrix英数字、バイナリ電子機器、医薬品、小型ラベルDataMatrix
PDF417英数字、バイナリ身分証明書、搭乗券、交通機関PDF417

モバイルUI用のバーコードをカスタマイズしてエクスポートするにはどうすればよいですか?

IronBarcodeは、Xamarinアプリケーションの視覚的な要件に合わせて、豊富なカスタマイズオプションを提供します。 以下の例は、色を適用し、テキスト注釈を追加し、プラットフォーム固有のファイル場所に保存する方法を示しています。

using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);

// Apply styling to match your mobile UI
barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
barcode.SetMargins(10);

// Add human-readable annotations
barcode.AddAnnotationTextAboveBarcode("Product ID");
barcode.AddBarcodeValueTextBelowBarcode(new IronSoftware.Drawing.Font("Arial", 12));

// Determine platform-specific save path
string documentsPath;
if (Device.RuntimePlatform == Device.iOS)
{
    documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
}
else // Android
{
    documentsPath = Android.OS.Environment
        .GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads)
        .AbsolutePath;
}

// Export in multiple formats
barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));

スタイリング方法を使えば、モバイルインターフェースにおけるバーコードの外観を完全に制御できます。 色は、アプリのテーマに合わせてRGB値または事前定義の色定数を使用して指定できます。 SetMargins() メソッドはバーコードの周りに余白を追加し、画像の端にバーコードが配置された場合に発生するスキャンの問題を防ぎます。

クロスプラットフォームのXamarin開発におけるファイル処理には、プラットフォームの認識が不可欠です。 iOSアプリは、ドキュメントディレクトリまたはフォトライブラリに保存する必要があります。 Androidアプリは通常、外部ストレージディレクトリまたはアプリケーションの内部データディレクトリを使用します。 このライブラリは、主要な画像フォーマット(PNG、JPEG、GIF、TIFF、BMP)にPlus、ドキュメント統合用のPDFにも対応しています。 より複雑なシナリオでは、追加の出力オプションについてバーコードエクスポートドキュメントを確認してください。

Xamarinビューにバーコードを直接表示する

ファイルに保存する以外にも、生成したバーコードを StreamImageSource に変換して、Xamarinのページに直接表示できます。 これにより、表示専用のシナリオにおける不要なディスクの読み書きを回避できます。

using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("ORDER-99812", BarcodeEncoding.QRCode, 300);
byte[] pngBytes = barcode.ToPngBinaryData();

barcodeImage.Source = ImageSource.FromStream(() => new MemoryStream(pngBytes));

結果を Image コントロールの Source プロパティに設定することで、任意のXamarinコントロールに割り当てることができます。 このパターンはファイルシステムのアクセス許可を必要とせず機能し、注文確認画面やチケット発行フローなどの一時的な表示用途に推奨される方法です。 IronBarcodeイメージレンダリングガイドを参照してさらなる詳細情報を確認してください。

Xamarinでバーコードスキャンを処理するにはどうすればいいですか?

この記事ではバーコードの生成に焦点を当てていますが、多くのXamarinアプリケーションでは、デバイスのカメラからバーコードを読み取る必要もあります。 IronBarcodeには、バーコード生成APIと同様にシンプルなバーコード読み取りAPIが搭載されています。 IronBarcodeバーコードリーダードキュメントでは、完全な読み取りワークフローをカバーしており、マルチバーコード検出とフォーマットフィルタリングが含まれます。

バーコードを生成およびスキャンするXamarinアプリケーションでは、たとえば倉庫受け取りアプリケーションで、BarcodeWriter クラスと BarcodeReader クラスを同じプロジェクトで組み合わせることができます。 どちらのAPIも同じNuGetパッケージから動作し、追加の依存関係はありません。 IronBarcodeの完全なサンプルギャラリーには、この組み合わせたアプローチを示すスキャンと生成のワークフローが含まれています。

エラー処理と検証

生産時のバーコード生成には、特にユーザー入力や外部システムからのデータをエンコードする場合、必ずエラー処理を含めるべきです。 IronBarcodeは、フォーマット違反(例えば、EAN-13エンコーダに数値以外の文字列を渡した場合など)に対して、型付き例外をスローします。 生成呼び出しをtry-catchブロックで囲み、ユーザーに明確なエラーメッセージを表示することで、アプリの安定性が向上します。

using IronBarCode;

try
{
    var barcode = BarcodeWriter.CreateBarcode(userInputValue, BarcodeEncoding.EAN13);
    barcode.SaveAsPng("output.png");
}
catch (BarcodeException ex)
{
    Console.WriteLine($"Barcode generation failed: {ex.Message}");
}

ユーザーが入力した値は、バーコードエンコーダーに渡す前に必ず検証してください。 EAN-13のような数値形式の場合、エンコードする前に空白文字と数字以外の文字を削除してください。 一般的なデータ品質の問題について、 IronBarcodeのトラブルシューティングセクションにある入力検証に関するガイダンスを確認してください。

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

IronBarcodeは、Xamarinアプリケーションにおけるバーコード生成を、複雑でプラットフォーム固有の課題から、わずか数行のC#コードへと変革します。 モバイル注文フロー用のQRコード、倉庫ラベル用のコード 128、小売製品用のEAN-13など、どのようなニーズにも対応できるよう、このライブラリはAndroidとiOSで同じように動作する単一のAPIを提供します。また、 ASP.NET、デスクトップ、サーバー環境でも同様に優れた性能を発揮します。

ここで学んだことをさらに深めるには、以下のリソースを活用してください。

IronBarcodeをダウンロードして無料トライアルを開始しましょう。クレジットカードなしで30日間すべての機能を評価できます。 -IronBarcodeチュートリアル集-- スキャン、バッチ生成、PDF統合に関するステップバイステップガイド

  • IronBarcodeのサンプルギャラリー-- 40種類以上の一般的なバーコードタスクに対応したコピー&ペースト可能なコードサンプル -ライセンスと価格設定- モバイル展開向けのシングル開発者、チーム、およびSaaSライセンスオプション
  • .NET MAUI 移行ガイド -- Xamarin プロジェクトを最新の .NET モバイルスタックに移行する場合、IronBarcode はコードの変更なしで両方の環境で動作します

まずNuGetパッケージをインストールし、上記の最初の例を実行して、環境が正しく設定されていることを確認してください。 そこから先は、この記事に掲載されているフォーマット比較表とカスタマイズ例を参照することで、バーコード出力をアプリケーションの要件に合わせて正確に調整するために必要なすべての情報が得られます。

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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。