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

.NET でバーコード リーダー SDK を構築する方法

IronBarcode を使用すると、.NET 開発者は最小限のコードでアプリケーションにバーコード読み取り機能を追加できます。 1D および 2D バーコード、さまざまな画像ソースなどの複数の形式をサポートし、生産環境で機械学習ベースの検出により高い精度を実現します。

バーコードスキャンは、在庫管理から小売、物流まで、多くのアプリケーションにとって重要です。 バーコード読み取りを .NET アプリケーションに統合することで、データ キャプチャを簡素化し、ワークフローを自動化し、効率を向上させることができます。 バーコード リーダー ソリューションを評価するときは、サポートされる形式、処理速度、統合の複雑さなどの要素を考慮してください。 IronBarcode ライブラリは、優れたフォールト トレランス機能を備え、完全なクロスプラットフォーム互換性を提供します。

IronBarcode は、バーコードの操作を簡素化する効果的な .NET ライブラリです。 このツールを使用すると、画像ストリームPDF ファイルからバーコードを読み取ったり、 C# QR コード ジェネレーターを使用して QR コードを生成することができます。 この記事では、バーコード スキャン機能を公開するための API または Web アプリ統合の作成に重点を置いて、バーコード スキャンを .NET アプリケーションに統合する方法を説明します。 ライブラリは、高度な生成機能スタイル オプションを備え、1D バーコードや 2D バーコードなどのさまざまなバーコード形式をサポートしています。

IronBarcode 統合の最適なユースケースは何ですか?

IronBarcode は次のようなシナリオで優れています。

*在庫管理システム*複数のバーコード読み取り複数ページのTIFF/GIFのサポートにより、製品追跡を自動化します。 物流アプリケーション高速読み取りとカスタマイズ可能な出力形式を使用して出荷バーコードを処理します 小売POSシステムコード391Dバーコードの作成による取引の検証 ドキュメント処理カスタムリーダー設定を使用してPDF請求書からデータを抽出します ヘルスケアアプリケーション2D形式を使用してエラー訂正機能を備えた患者IDの読み取り 製造品質管理**– 設定可能なバーコードマージンを使用してバッチ処理を実行

.NET でバーコード リーダー SDK を作成するにはどうすればよいですか?

アプリケーションでサービスとして公開できるバーコードリーダーを作成するには、IronBarcodeをREST APIまたはWebアプリに統合します。アーキテクチャの選択は、処理ニーズによって異なります。例えば、不定期スキャンの場合は単一画像の処理、ドキュメントワークフローの場合はバッチ処理、連続スキャンアプリケーションの場合はストリーム処理などです。 適切なスレッド セーフティを考慮した ASP.NET Core の使用例を次に示します。 ライブラリの読み取り機能には、最適な精度を実現する高度な画像作成フィルターが含まれています。

  1. NuGet パッケージを使用してC# でバーコードを読み取るための .NET ライブラリをインストールする 2.適切なエラー処理を備えた再利用可能なバーコードスキャンクラスを作成する
  2. さまざまなソースからのバーコードを読み取る方法を開発する 4.改善設定を使用してバーコード画像読み取りをアプリケーションに統合する 5.読み取り速度オプションでパフォーマンスをテストして改善する

始める前に何が必要ですか?

まだダウンロードしていない場合は、プロジェクト用にIronBarcode をダウンロードしてください。 目的の使用に適したライセンス キーがあることを確認してください。 IronBarcode の機能をパブリック API 経由で公開したり、スタンドアロン サービスとして再販したりするには、追加のライセンス (SDK、OEM、または SaaS) が必要になることに注意してください。 続行する前に、ライセンス オプションを理解していることを確認してください。 開発環境では、無料トライアルから開始し、実稼働の準備ができたらライセンス キーを適用できます。 最新のアップデートとマイルストーンについては、変更ログを確認してください。

最適なパフォーマンスを得るには、展開環境を考慮してください。 IronBarcode は、 WindowsLinuxmacOSDockerAzureAWS Lambdaなどのクラウド プラットフォームを含むクロスプラットフォームの互換性をサポートしています。 モバイル開発者は、Blazor 統合を通じてAndroidiOSのサポートを利用できます。 .NET MAUI アプリケーションの場合は、 バーコード スキャナー リーダー チュートリアルに従ってください。

バーコード スキャナー クラスを作成するにはどうすればよいですか?

IronBarcode をセットアップしてプロジェクトにインストールしたら、IronBarcode の機能を統合し、API エンドポイントとして公開する再利用可能なバーコード スキャナー クラスを作成できます。 実装には、方向補正を伴う困難なシナリオに対するパフォーマンスの最適化と画像補正が含まれます。 バーコードの位置が予測可能な場合は、処理を高速化するためにトリミング領域を実装することを検討してください。

using IronBarCode;
using System.IO;
using System.Collections.Concurrent;
using System.Threading.Tasks;

namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        private static readonly ConcurrentDictionary<string, BarcodeReaderOptions> _optionsCache = new();

        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }

        // Method to read a barcode from an image file with performance optimization
        public string ReadBarcodeFromImage(string imagePath, BarcodeReadingSpeed speed = BarcodeReadingSpeed.Balanced)
        {
            try
            {
                var options = GetCachedOptions(speed);
                // Try to read the barcode from the given image path
                var barcode = BarcodeReader.Read(imagePath, options);
                return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found
            }
            catch (Exception ex)
            {
                // Return an error message if an exception occurs
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a stream (e.g., file upload or memory stream)
        public async Task<string> ReadBarcodeFromStreamAsync(Stream inputStream)
        {
            try
            {
                var options = GetCachedOptions(BarcodeReadingSpeed.Detailed);
                // Enable image correction for better accuracy
                options.ImageFilters = new[] { 
                    new SharpenFilter(), 
                    new ContrastFilter() 
                };

                // Try to read the barcode from the given stream
                var barcode = await Task.Run(() => BarcodeReader.Read(inputStream, options));
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a PDF file with batch processing support
        public async Task<List<string>> ReadBarcodesFromPdfAsync(string filePath)
        {
            try
            {
                var options = new BarcodeReaderOptions
                {
                    ExpectMultipleBarcodes = true,
                    Speed = BarcodeReadingSpeed.Detailed
                };

                // Try to read barcodes from the given PDF file path
                var barcodes = await Task.Run(() => BarcodeReader.ReadPdf(filePath, options));
                return barcodes.Select(b => b.ToString()).ToList();
            }
            catch (Exception ex)
            {
                return new List<string> { $"Error reading barcode: {ex.Message}" };
            }
        }

        // Cache reader options for performance
        private BarcodeReaderOptions GetCachedOptions(BarcodeReadingSpeed speed)
        {
            return _optionsCache.GetOrAdd(speed.ToString(), _ => new BarcodeReaderOptions
            {
                Speed = speed,
                AutoRotate = true,
                RemoveFalsePositive = true
            });
        }
    }
}
using IronBarCode;
using System.IO;
using System.Collections.Concurrent;
using System.Threading.Tasks;

namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        private static readonly ConcurrentDictionary<string, BarcodeReaderOptions> _optionsCache = new();

        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }

        // Method to read a barcode from an image file with performance optimization
        public string ReadBarcodeFromImage(string imagePath, BarcodeReadingSpeed speed = BarcodeReadingSpeed.Balanced)
        {
            try
            {
                var options = GetCachedOptions(speed);
                // Try to read the barcode from the given image path
                var barcode = BarcodeReader.Read(imagePath, options);
                return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found
            }
            catch (Exception ex)
            {
                // Return an error message if an exception occurs
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a stream (e.g., file upload or memory stream)
        public async Task<string> ReadBarcodeFromStreamAsync(Stream inputStream)
        {
            try
            {
                var options = GetCachedOptions(BarcodeReadingSpeed.Detailed);
                // Enable image correction for better accuracy
                options.ImageFilters = new[] { 
                    new SharpenFilter(), 
                    new ContrastFilter() 
                };

                // Try to read the barcode from the given stream
                var barcode = await Task.Run(() => BarcodeReader.Read(inputStream, options));
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a PDF file with batch processing support
        public async Task<List<string>> ReadBarcodesFromPdfAsync(string filePath)
        {
            try
            {
                var options = new BarcodeReaderOptions
                {
                    ExpectMultipleBarcodes = true,
                    Speed = BarcodeReadingSpeed.Detailed
                };

                // Try to read barcodes from the given PDF file path
                var barcodes = await Task.Run(() => BarcodeReader.ReadPdf(filePath, options));
                return barcodes.Select(b => b.ToString()).ToList();
            }
            catch (Exception ex)
            {
                return new List<string> { $"Error reading barcode: {ex.Message}" };
            }
        }

        // Cache reader options for performance
        private BarcodeReaderOptions GetCachedOptions(BarcodeReadingSpeed speed)
        {
            return _optionsCache.GetOrAdd(speed.ToString(), _ => new BarcodeReaderOptions
            {
                Speed = speed,
                AutoRotate = true,
                RemoveFalsePositive = true
            });
        }
    }
}
$vbLabelText   $csharpLabel

この改良されたBarcodeScannerクラスには、オプションのキャッシュ、スケーラビリティを向上させる非同期処理、精度を向上させる画像フィルターによるパフォーマンスの最適化が含まれています。 実装は SOLID 原則に従っており、本番環境で使用可能なエラー処理を提供します。 追加機能については、 System.Drawing 統合を使用するか、ストリームとしてエクスポートすることを検討してください。 カスタムバーコード スタイルQR コード スタイルを使用してバーコード イメージを作成することもできます。

さまざまなバーコードソースを読み取るにはどの方法を使用すればよいですか?

各メソッドは、特定のユースケースと処理要件に合わせて改善されています。

  • ReadBarcodeFromImage(string imagePath) :画像ファイルからバーコードを読み取ります。
  • ReadBarcodeFromStream(Stream inputStream) :入力ストリーム (ファイルのアップロードやメモリ ストリームなど) からバーコードを読み取ります。
  • ReadBarcodeFromPdf(string filePath) : PDF ファイルからバーコードを読み取ります。

大量のデータを処理するシナリオでは、バーコードの位置が予測可能な場合は、トリミング領域を使用して処理速度を最大 5 倍向上させることを検討してください。 バーコード画像を作成したり、さまざまな形式でバーコードを保存したりすることもできます。 ライブラリはSystem.Drawing オブジェクトからの読み取りをサポートし、バーコードを HTMLまたはPDF ドキュメントとしてエクスポートできます。

REST API 経由でバーコード読み取りを公開するにはどうすればよいですか?

外部アプリケーションがバーコード スキャン機能を使用できるようにするには、ASP.NET Core を使用して REST API として公開します。 実装には、適切なエラー処理、検証、および複数の入力形式のサポートが含まれます。 C# バーコード イメージ ジェネレーターを使用してバーコードを生成したり、バーコードのクイックスタート例を調べたりすることもできます。 PDF を処理するときは、ドキュメント追跡のために既存の PDF にバーコードをスタンプすることを検討してください。

using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcodeIntegration;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;
    private readonly ILogger<BarcodeController> _logger;

    public BarcodeController(ILogger<BarcodeController> logger)
    {
        _barcodeScanner = new BarcodeScanner();
        _logger = logger;
    }

    // POST endpoint to read barcode from an uploaded image
    [HttpPost("read-from-image")]
    public async Task<IActionResult> ReadFromImage(IFormFile file)
    {
        if (file == null || file.Length == 0)
            return BadRequest(new { Error = "No file uploaded" });

        // Validate file type
        var allowedTypes = new[] { "image/jpeg", "image/png", "image/gif", "image/bmp", "image/tiff" };
        if (!allowedTypes.Contains(file.ContentType.ToLower()))
            return BadRequest(new { Error = "Unsupported file type" });

        try
        {
            using var stream = file.OpenReadStream();
            var result = await _barcodeScanner.ReadBarcodeFromStreamAsync(stream);

            _logger.LogInformation($"Barcode read successfully from {file.FileName}");
            return Ok(new { Barcode = result, FileName = file.FileName });
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Error processing barcode");
            return StatusCode(500, new { Error = "Internal server error" });
        }
    }

    // POST endpoint for batch processing
    [HttpPost("read-batch")]
    public async Task<IActionResult> ReadBatch(List<IFormFile> files)
    {
        var results = new List<object>();

        foreach (var file in files)
        {
            using var stream = file.OpenReadStream();
            var result = await _barcodeScanner.ReadBarcodeFromStreamAsync(stream);
            results.Add(new { FileName = file.FileName, Barcode = result });
        }

        return Ok(new { Results = results, Count = results.Count });
    }

    // POST endpoint to generate barcode from data
    [HttpPost("generate")]
    public IActionResult GenerateBarcode([FromBody] BarcodeGenerationRequest request)
    {
        try
        {
            // Create barcode with specified data and format
            var barcode = BarcodeWriter.CreateBarcode(request.Data, request.Format ?? BarcodeWriterEncoding.Code128);

            // Apply custom styling if requested
            if (request.Width.HasValue && request.Height.HasValue)
                barcode.ResizeTo(request.Width.Value, request.Height.Value);

            if (!string.IsNullOrEmpty(request.ForegroundColor))
                barcode.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(request.ForegroundColor));

            // Return as base64 encoded image
            using var ms = barcode.ToStream();
            var bytes = ms.ToArray();
            return Ok(new { 
                Image = Convert.ToBase64String(bytes),
                Format = request.Format?.ToString() ?? "Code128",
                Data = request.Data 
            });
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Error generating barcode");
            return BadRequest(new { Error = "Failed to generate barcode" });
        }
    }
}

public class BarcodeGenerationRequest
{
    public string Data { get; set; }
    public BarcodeWriterEncoding? Format { get; set; }
    public int? Width { get; set; }
    public int? Height { get; set; }
    public string ForegroundColor { get; set; }
}
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcodeIntegration;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;
    private readonly ILogger<BarcodeController> _logger;

    public BarcodeController(ILogger<BarcodeController> logger)
    {
        _barcodeScanner = new BarcodeScanner();
        _logger = logger;
    }

    // POST endpoint to read barcode from an uploaded image
    [HttpPost("read-from-image")]
    public async Task<IActionResult> ReadFromImage(IFormFile file)
    {
        if (file == null || file.Length == 0)
            return BadRequest(new { Error = "No file uploaded" });

        // Validate file type
        var allowedTypes = new[] { "image/jpeg", "image/png", "image/gif", "image/bmp", "image/tiff" };
        if (!allowedTypes.Contains(file.ContentType.ToLower()))
            return BadRequest(new { Error = "Unsupported file type" });

        try
        {
            using var stream = file.OpenReadStream();
            var result = await _barcodeScanner.ReadBarcodeFromStreamAsync(stream);

            _logger.LogInformation($"Barcode read successfully from {file.FileName}");
            return Ok(new { Barcode = result, FileName = file.FileName });
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Error processing barcode");
            return StatusCode(500, new { Error = "Internal server error" });
        }
    }

    // POST endpoint for batch processing
    [HttpPost("read-batch")]
    public async Task<IActionResult> ReadBatch(List<IFormFile> files)
    {
        var results = new List<object>();

        foreach (var file in files)
        {
            using var stream = file.OpenReadStream();
            var result = await _barcodeScanner.ReadBarcodeFromStreamAsync(stream);
            results.Add(new { FileName = file.FileName, Barcode = result });
        }

        return Ok(new { Results = results, Count = results.Count });
    }

    // POST endpoint to generate barcode from data
    [HttpPost("generate")]
    public IActionResult GenerateBarcode([FromBody] BarcodeGenerationRequest request)
    {
        try
        {
            // Create barcode with specified data and format
            var barcode = BarcodeWriter.CreateBarcode(request.Data, request.Format ?? BarcodeWriterEncoding.Code128);

            // Apply custom styling if requested
            if (request.Width.HasValue && request.Height.HasValue)
                barcode.ResizeTo(request.Width.Value, request.Height.Value);

            if (!string.IsNullOrEmpty(request.ForegroundColor))
                barcode.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(request.ForegroundColor));

            // Return as base64 encoded image
            using var ms = barcode.ToStream();
            var bytes = ms.ToArray();
            return Ok(new { 
                Image = Convert.ToBase64String(bytes),
                Format = request.Format?.ToString() ?? "Code128",
                Data = request.Data 
            });
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Error generating barcode");
            return BadRequest(new { Error = "Failed to generate barcode" });
        }
    }
}

public class BarcodeGenerationRequest
{
    public string Data { get; set; }
    public BarcodeWriterEncoding? Format { get; set; }
    public int? Width { get; set; }
    public int? Height { get; set; }
    public string ForegroundColor { get; set; }
}
$vbLabelText   $csharpLabel

Swagger UI で API はどのように見えるでしょうか?

画像やPDFからバーコードを読み取るための2つのPOSTエンドポイントを備えたBarcoderScannerSDK APIを表示するSwagger UI。ファイルアップロードインターフェースとリクエスト構成オプションを備えています。

API 応答はどのようになりますか?

バーコード読み取りエンドポイントへのPOSTリクエストが成功し、200 OKレスポンスステータスでHello World!が返されることを示すAPIドキュメント

この API は、バーコード画像をアップロードできる POST エンドポイントを公開し、バーコード データを返します。 実装には、実稼働環境での使用に適した適切な検証、エラー処理、およびログ記録が含まれます。 モバイル アプリケーションの場合、画像サイズを小さくし、応答時間を短縮するために改善されたエンドポイントを追加することを検討してください。 データからバーコードを作成したり、 HTMLまたはPDFとしてエクスポートすることもできます。 高コントラストの要件の場合は、 1 BPP バーコード イメージを生成します。## どのような高度な機能を追加できますか?

SDK をさらに改善するには、IronBarcode の完全なAPI リファレンスを使用して、これらの本番環境対応機能を実装することを検討してください。 機能の概要を確認し、実用的な実装のデモを確認してください。

複数のバーコードタイプをサポートするにはどうすればよいですか?

IronBarcode は複数のバーコードを同時に読み取る機能をサポートしています。 特定の形式のフィルタリングを使用して、一度に複数のバーコードを受け入れるように SDK を構成できます。 このライブラリは、中国語やアラビア語の文字を含むUnicode バーコードの書き込みをサポートしています。 特殊なアプリケーションの場合は、 Code 39 の読み取りを調べて、カスタム スタイルでQR コードを作成します

public async Task<List<BarcodeResult>> ReadMultipleBarcodesAsync(string imagePath, BarcodeEncoding[] expectedTypes = null)
{
    try
    {
        var options = new BarcodeReaderOptions()
        {
            ExpectMultipleBarcodes = true,
            ExpectBarcodeTypes = expectedTypes ?? BarcodeEncoding.All,
            Speed = BarcodeReadingSpeed.Detailed,
            MaxParallelThreads = Environment.ProcessorCount,
            Multithreaded = true
        };

        // Apply confidence threshold for machine learning accuracy
        options.Confidence = Confidence.High;

        var results = await Task.Run(() => BarcodeReader.Read(imagePath, options));

        return results.Select(barcode => new BarcodeResult
        {
            Value = barcode.ToString(),
            Format = barcode.BarcodeType.ToString(),
            Confidence = barcode.Confidence,
            Position = barcode.Rect
        }).ToList();
    }
    catch (Exception ex)
    {
        _logger.LogError(ex, "Error reading multiple barcodes");
        throw;
    }
}
public async Task<List<BarcodeResult>> ReadMultipleBarcodesAsync(string imagePath, BarcodeEncoding[] expectedTypes = null)
{
    try
    {
        var options = new BarcodeReaderOptions()
        {
            ExpectMultipleBarcodes = true,
            ExpectBarcodeTypes = expectedTypes ?? BarcodeEncoding.All,
            Speed = BarcodeReadingSpeed.Detailed,
            MaxParallelThreads = Environment.ProcessorCount,
            Multithreaded = true
        };

        // Apply confidence threshold for machine learning accuracy
        options.Confidence = Confidence.High;

        var results = await Task.Run(() => BarcodeReader.Read(imagePath, options));

        return results.Select(barcode => new BarcodeResult
        {
            Value = barcode.ToString(),
            Format = barcode.BarcodeType.ToString(),
            Confidence = barcode.Confidence,
            Position = barcode.Rect
        }).ToList();
    }
    catch (Exception ex)
    {
        _logger.LogError(ex, "Error reading multiple barcodes");
        throw;
    }
}
$vbLabelText   $csharpLabel

他にどのような改善点を考慮すべきでしょうか?

*エラー処理:* MSIバーコード認識を含む完全なエラー処理を実装します バッチ処理: 1BPPバーコード画像を使った非同期バッチ処理メソッドを作成する パフォーマンス監視:読み取り速度設定のメトリックを追加 キャッシュ:頻繁にスキャンされるバーコードの結果のキャッシュを実装します 画像の前処理:方向補正コントラストフィルターを使用する フォーマット固有の最適化:** GS1-128および新しいフォーマットの設定を構成します

実稼働環境での展開では、誤検知を減らし、データの正確性を確保するために、信頼度しきい値の実装を検討してください。 機械学習ベースの検出は、特定のユースケースに合わせて微調整できます。 展開パッケージを作成するときは、 MSI インストーラー ガイドに従い、不足している DLL の問題に対処してください。 AWS デプロイメントの場合、潜在的なランタイムの問題に注意してください。 さまざまな出力データ形式バーコードを作成することを検討し、バーコード読み取りチュートリアルを調べてください。

ライセンスに関して注意すべき考慮事項は何ですか?

前述の通り、IronBarcode SDKは内部アプリケーションへの統合を目的としており、APIを介した公開には追加のライセンスが必要です。 IronBarcode をパブリック API などのサービスの一部として公開する前に、必要なライセンス(SDK、OEM、または SaaS) を取得する必要があります。 エンタープライズ展開の場合、追加のシートに利用できるライセンス拡張機能やサポートの強化を検討してください。 展開を拡張するためのアップグレード オプションを確認します。

ライセンスがこの用途をカバーしていることを確認せずに、 IronBarcode をスタンドアロン SDK として再販したり、公開 API 経由で公開したりしないでください。 Web アプリケーションの場合、適切なアクティベーションのためにweb.config でライセンス キーを構成する必要がある場合があります。 セキュリティ CVE の更新について最新情報を入手し、ランタイム コピー例外に関するベスト プラクティスに従ってください。 技術的な問題については、エンジニアリング リクエストの送信を検討してください。 Unicode バーコードの書き込みに関するリソースを確認し、バーコードの読み取りチュートリアルを確認してください。

今すぐ IronBarcode を試すべき理由とは?

IronBarcode の新しい機能を体験してください。 無料トライアルをお試しいただき、.NET アプリケーションでのスムーズなバーコード生成、読み取り、編集をご確認ください。 高度な機能、卓越したパフォーマンス、使いやすいインターフェースを備えたIronBarcodeは、すべてのバーコードニーズに対する究極の解決策です。 完全なドキュメントを参照し、コード例を確認し、ライブ デモを見て、すべての機能を理解してください。 バーコードの読み取りに関するチュートリアルを確認し、 MicroQR および rMQR のサポートを調べてください。 さまざまな展開シナリオのNuGet パッケージ オプションについて学習します。 完全なバーコード ソリューションの詳細については、 IronBarcode ドキュメントを参照してください。 今すぐ無料トライアルを始めて、プロジェクトを改善しましょう。

よくある質問

どのようにして.NETアプリケーションにバーコードリーダーを統合できますか?

IronBarcodeライブラリを使用して、.NETアプリケーションにバーコードリーダーを統合できます。まずIronBarcodeをインストールし、次にバーコードスキャン用のクラスを作成し、画像、ストリーム、PDFからバーコードを読み取るメソッドを実装します。最後に、設定をテストし最適化してください。

バーコードの読み取り機能をREST APIとして公開するにはどうすればいいですか?

バーコードの読み取り機能をREST APIとして公開するには、ASP.NET Coreを使用してウェブアプリケーションを作成します。IronBarcodeライブラリを組み込み、BarcodeScannerクラスを開発し、ReadBarcodeFromImageReadBarcodeFromStreamといったメソッドを使用してバーコードを読み取るAPIエンドポイントを定義します。

どのバーコードタイプが.NETバーコードライブラリで読み取れますか?

IronBarcodeのような.NETバーコードライブラリは、QRコード、Code 128、UPC、EANなどのさまざまなバーコードタイプを読み取ることができます。検出パラメーターを設定することで、複数のバーコードタイプを同時に検出できるようライブラリを構成できます。

良くないバーコードを.NETで読み取る際のエラー処理はどうすればいいですか?

IronBarcodeを使用したバーコードスキャンメソッドにおいて、堅牢なエラー処理を実装することで、バーコード読み取りの際のエラーを処理できます。例外をキャッチし、有意義なフィードバックを提供したり、再試行機構を組み込むことで、バーコード読み取りプロセスの信頼性を向上させます。

.NETバーコードライブラリをパブリックAPIで使用する際のライセンス要件は何ですか?

IronBarcodeをパブリックAPIで使用する際は、適切なライセンスを確保する必要があります。これは、ライブラリの機能を単独サービスやパブリックAPIとして公開する場合に追加の許可が必要となる、SDK、OEM、SaaSライセンスの取得を含みます。

複数のバーコードスキャンを.NETライブラリでバッチ処理できますか?

はい、IronBarcodeを使用して複数のバーコードスキャンをバッチ処理することが可能です。このライブラリは、一度の操作で複数のバーコードを読み取ることができ、大量の画像やドキュメントを効率的に処理するのに特に便利です。

.NETバーコードライブラリの試用版はありますか?

はい、IronBarcodeでは、バーコード生成、読み取り、編集機能を.NETアプリケーション内で探索できる無料の試用版を提供しています。この試用版は、ライブラリを購入する前に評価する手助けをします。

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