透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
バーコードスキャンは、多くのアプリケーションにとって不可欠な機能であり、在庫管理から小売り、物流に至るまで幅広く利用されています。 .NETアプリケーションにバーコード読み取りを統合することにより、データキャプチャを効率化し、ワークフローを自動化して効率を向上させることができます。
IronBarcodeは、バーコードの操作を簡単にする強力な.NETライブラリです。 このツールを使用すると、画像、ストリーム、およびPDFファイルからバーコードを読み取ることができるだけでなく、QRコードを生成することもできます。 この記事では、.NETアプリケーションにバーコードスキャンを統合する方法をご紹介し、バーコードスキャン機能を公開するAPIまたはWebアプリ統合の作成に焦点を当てます。
IronBarcode は次に最適です:
アプリケーション内でサービスとして公開できるバーコードリーダーを作成するためには、IronBarcodeをREST APIまたはWebアプリに統合します。以下は、ASP.NET Coreを使用してこれを実現する方法の例です。
再利用可能なバーコードスキャンクラスを作成します。
さまざまなソースからバーコードを読み取る方法を開発します。
バーコード画像の読み取りをアプリケーションに統合する。
まだダウンロードしていない場合は、IronBarcode をプロジェクトにダウンロードしてください。 意図した使用のために適切なライセンスキーを持っていることを確認してください。 IronBarcodeの機能を公開APIを通じて公開したり、スタンドアロンサービスとして再販したりすることは、追加のライセンス(SDK、OEM、SaaS)が必要です。 進む前に、ライセンスの考慮事項を理解していることを確認してください。
IronBarcodeをセットアップしてプロジェクトにインストールしたら、IronBarcodeの機能を統合し、APIエンドポイントとして公開する再利用可能なバーコードスキャナークラスを作成できます。
using IronBarCode;
using System.IO;
namespace BarcodeIntegration
{
public class BarcodeScanner
{
static BarcodeScanner()
{
// Set the license key
IronBarCode.License.LicenseKey = "Your-License-Key";
}
// Read a barcode from an image file
public string ReadBarcodeFromImage(string imagePath)
{
try
{
var barcode = BarcodeReader.Read(imagePath);
return barcode?.ToString() ?? "No Barcode Found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
// Read a barcode from a stream (e.g., file upload or memory stream)
public string ReadBarcodeFromStream(Stream inputStream)
{
try
{
var barcode = BarcodeReader.Read(inputStream);
return barcode?.ToString() ?? "No barcode found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
// Read a barcode from a PDF file
public string ReadBarcodeFromPdf(string filePath)
{
try
{
var barcode = BarcodeReader.ReadPdf(filePath);
return barcode?.ToString() ?? "No barcode found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
}
}
using IronBarCode;
using System.IO;
namespace BarcodeIntegration
{
public class BarcodeScanner
{
static BarcodeScanner()
{
// Set the license key
IronBarCode.License.LicenseKey = "Your-License-Key";
}
// Read a barcode from an image file
public string ReadBarcodeFromImage(string imagePath)
{
try
{
var barcode = BarcodeReader.Read(imagePath);
return barcode?.ToString() ?? "No Barcode Found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
// Read a barcode from a stream (e.g., file upload or memory stream)
public string ReadBarcodeFromStream(Stream inputStream)
{
try
{
var barcode = BarcodeReader.Read(inputStream);
return barcode?.ToString() ?? "No barcode found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
// Read a barcode from a PDF file
public string ReadBarcodeFromPdf(string filePath)
{
try
{
var barcode = BarcodeReader.ReadPdf(filePath);
return barcode?.ToString() ?? "No barcode found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
}
}
Imports IronBarCode
Imports System.IO
Namespace BarcodeIntegration
Public Class BarcodeScanner
Shared Sub New()
' Set the license key
IronBarCode.License.LicenseKey = "Your-License-Key"
End Sub
' Read a barcode from an image file
Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
Try
Dim barcode = BarcodeReader.Read(imagePath)
Return If(barcode?.ToString(), "No Barcode Found")
Catch ex As Exception
Return $"Error reading barcode: {ex.Message}"
End Try
End Function
' Read a barcode from a stream (e.g., file upload or memory stream)
Public Function ReadBarcodeFromStream(ByVal inputStream As Stream) As String
Try
Dim barcode = BarcodeReader.Read(inputStream)
Return If(barcode?.ToString(), "No barcode found")
Catch ex As Exception
Return $"Error reading barcode: {ex.Message}"
End Try
End Function
' Read a barcode from a PDF file
Public Function ReadBarcodeFromPdf(ByVal filePath As String) As String
Try
Dim barcode = BarcodeReader.ReadPdf(filePath)
Return If(barcode?.ToString(), "No barcode found")
Catch ex As Exception
Return $"Error reading barcode: {ex.Message}"
End Try
End Function
End Class
End Namespace
このBarcodeScannerクラスはIronBarcodeの機能を抽象化しており、任意の.NETアプリケーションに容易に統合できます。 ここに含まれるさまざまなメソッドの内訳を見てみましょう。
次の各メソッドは、異なる種類の入力からバーコードを読み取ろうとします。
ReadBarcodeFromPdf(string filePath): PDFファイルからバーコードを読み取ります。
各メソッドはバーコードデータの読み取りを試み、バーコード文字列を返すか、バーコードが見つからない場合や例外が発生した場合はエラーメッセージを返します。
バーコードスキャン機能を外部アプリケーションで使用できるようにするために、ASP.NET Coreを使用してREST APIとして公開できます。 以下は、その方法の例です。
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcoderReader;
[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
private readonly BarcodeScanner _barcodeScanner;
public BarcodeController()
{
_barcodeScanner = new BarcodeScanner();
}
[HttpPost("read-from-image")]
public IActionResult ReadFromImage(IFormFile file)
{
using var stream = file.OpenReadStream();
var result = _barcodeScanner.ReadBarcodeFromStream(stream);
return Ok(new { Barcode = result });
}
}
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcoderReader;
[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
private readonly BarcodeScanner _barcodeScanner;
public BarcodeController()
{
_barcodeScanner = new BarcodeScanner();
}
[HttpPost("read-from-image")]
public IActionResult ReadFromImage(IFormFile file)
{
using var stream = file.OpenReadStream();
var result = _barcodeScanner.ReadBarcodeFromStream(stream);
return Ok(new { Barcode = result });
}
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO
Imports Microsoft.AspNetCore.Http
Imports BarcoderReader
<ApiController>
<Route("api/barcode")>
Public Class BarcodeController
Inherits ControllerBase
Private ReadOnly _barcodeScanner As BarcodeScanner
Public Sub New()
_barcodeScanner = New BarcodeScanner()
End Sub
<HttpPost("read-from-image")>
Public Function ReadFromImage(ByVal file As IFormFile) As IActionResult
Dim stream = file.OpenReadStream()
Dim result = _barcodeScanner.ReadBarcodeFromStream(stream)
Return Ok(New With {Key .Barcode = result})
End Function
End Class
Pixabay から追加アップロード
またはここに画像をドラッグアンドドロップします
画像の代替テキストを追加
Pixabay から追加アップロード
またはここに画像をドラッグアンドドロップします
画像の代替テキストを追加
このAPIはPOSTエンドポイントを公開しており、ここにバーコード画像をアップロードすることで、APIがバーコードデータを返します。 これにより、他のシステムやフロントエンドアプリケーションがサービスとしてあなたのバーコードスキャナーと連携できます。
SDKをさらに強化するために、次の追加を検討してください:
public string ReadBarcodeFromImage(string imagePath)
{
try
{
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectMultipleBarcodes = true,
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
};
foreach (var barcode in BarcodeReader.Read(imagePath, options))
{
return barcode.ToString();
}
return "No barcode found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
public string ReadBarcodeFromImage(string imagePath)
{
try
{
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectMultipleBarcodes = true,
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
};
foreach (var barcode in BarcodeReader.Read(imagePath, options))
{
return barcode.ToString();
}
return "No barcode found";
}
catch (Exception ex)
{
return $"Error reading barcode: {ex.Message}";
}
}
Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
Try
Dim options As New BarcodeReaderOptions() With {
.ExpectMultipleBarcodes = True,
.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
}
For Each barcode In BarcodeReader.Read(imagePath, options)
Return barcode.ToString()
Next barcode
Return "No barcode found"
Catch ex As Exception
Return $"Error reading barcode: {ex.Message}"
End Try
End Function
エラーハンドリング: SDKユーザーにより良い診断を提供するために、エラーハンドリングとログ記録を拡張します。
バッチ処理: 画像のコレクションから複数のバーコードを処理したい場合、画像やストリームの配列を入力として受け取るメソッドを作成できます。
先に述べたように、IronBarcode SDKは内部アプリケーションへの統合を目的としており、APIを通じて公開するには追加のライセンスが必要です。 サービスの一部として、例えばパブリックAPIなどでIronBarcodeを公開する前に、必要なライセンス(SDK、OEM、またはSaaS)を確保しなければなりません。
IronBarcodeをスタンドアロンのSDKとして再販しないでください、またはパブリック向けのAPIを介して公開しないでください。この使用法をカバーするライセンスが確保されていることを確認せずに。
IronBarcodeの革新的な力を体験してください。 無料トライアルをお試しください .NETアプリケーション向けのシームレスなバーコード生成、読み取り、編集を体験してください。 高度な機能、優れたパフォーマンス、使いやすいインターフェースを備えたIronBarcodeは、あらゆるバーコードのニーズに対応する究極のソリューションです。 今日から無料トライアルを開始し、プロジェクトを向上させましょう。