LEADTOOLSバーコード

フレームを表示
LEADTOOLSバーコードによるプログラミング

LEADTOOLSは、100種類を超える1D2Dバーコード体系およびサブタイプの高速かつ高精度な読み取りと書き込みをサポートします。バーコードは読まれることができて、LEADTOOLSによってサポートされる何百画像ファイル形式で任意のfrom/toを書かれることができます。全リストについては、すべての画像ファイル形式の概要を参照します。

LEADTOOLSバーコードSDK技術の概要

詳細は、以下を参照してください。

上へスタートアップ

LEADTOOLSバーコードサポートは、Leadtools.Barcode.dllアセンブリ(.NETとSilverlightバージョンはLEADTOOLSインストールに含まれます)を通してアクセスされることができます。実際のバーコード体系読取り書込みcodeは、ダイナミックにロードされて、実行時でアクセスされる個別アセンブリに含まれます。これは、特定のバーコード体系と機能がアプリケーションによって必要でないランタイムフットプリントを最小にします。これらのアセンブリはnative.NETとSilverlightバイナリで、簡単な配布のための参照として、プロジェクトに直接追加されることができます。以下のテーブルは、バーコードサポートアセンブリと機能性をリストします:

Assembly 説明
Leadtools.Barcode.OneD.dll

1Dバーコードは、サポートを読んだり書いたりします

Leadtools.Barcode.DatamatrixRead.dll

Datamatrixバーコードは、サポートを読みます

Leadtools.Barcode.DatamatrixWrite.dll

Datamatrixバーコードは、サポートを書き込みます

Leadtools.Barcode.PdfRead.dll

PDF417およびMicroPDF417バーコードの読み取りのサポート

Leadtools.Barcode.PdfWrite.dll

PDF417およびMicroPDF417バーコードの書き込みのサポート

Leadtools.Barcode.QrRead.dll

QRバーコードの読み取りのサポート

Leadtools.Barcode.QrWrite.dll

QRバーコードの書き込みのサポート

Leadtools.Barcode.Lead2DRead.dll

Aztec、MaxiとMicroQRバーコードは、サポートを読みました

Leadtools.Barcode.Lead2DWrite.dll

Aztec、MaxiとMicroQRバーコードは、サポートを書き込みます

詳細については、「アプリケーションに含まれるファイル」を参照してください。

LEADTOOLSを使用してC#または.NETのバーコードアプリケーションを作成する方法についてのステップバイステップの説明については、「読み取りバーコード」および「バーコードの書き込み」チュートリアルを参照してください。

BarcodeEngineクラスは、Leadtools.Barcodeのバーコードサポートへの基本記入です。このクラスの新しいインスタンスを作成してから、BarcodeEngine.Readerでも、バーコードオブジェクトを読むのに用いられるBarcodeReaderオブジェクトプロパティを通じて、バーコードオブジェクトの読み取りに使用されるBarcodeEngine.Writerを通してバーコードオブジェクトを書き込むのに用いられるBarcodeWriterオブジェクトプロパティを通じて、バーコードオブジェクトの書き込みに使用されるオブジェクトへの参照を取得します。

読み取りバーコード

バーコードを読むために、BarcodeEngine.Readerプロパティで保存されるBarcodeReaderオブジェクトにインスタンスを取得します、そして、画像データ、オプションの検索長方形、オプションの最大数のバーコード、オプションのバーコード体系(タイプ)とおまけオプションを格納しているRasterImageオブジェクトを渡しているBarcodeReader.ReadBarcodeまたはBarcodeReader.ReadBarcodesメソッドのどれでも呼び出します。これらのメソッドは、見つけられるバーコードデータを格納しているBarcodeDataオブジェクトの一つまたは配列を返します。ここにサンプルがある。


             // Read all barcodes in the image
             BarcodeData[] dataArray = barcodeEngineInstance.Reader.ReadBarcodes(
                theImage,               \\ The RasterImage object
                LogicalRectangle.Empty, \\ Search rectangle, Empty means all image
                0,                      \\ Maximum number of barcodes to return, 0 means all barcodes found
                null);                  \\ Array of BarcodeSymbology we are interested in, null  means all
             

バーコードが見つかるたびに(またはエラーが発生したときに)BarcodeReader.ReadSymbologyイベントが発生するので、このイベントをサブスクライブして、読み取り中のバーコードに関する情報を取得したり、エラー発生時に操作全体を中止するか続行するかを制御したりできます。

サポートされたバーコードタイプ(バーコード体系)は、BarcodeSymbology列挙体で定義されます。以下のスニペットは検索して、imageから単一のQRバーコードを読もうとします:


             BarcodeData data = barcodeEngineInstance.Reader.ReadBarcode(
                theImage,               \\ The RasterImage object
                LogicalRectangle.Empty, \\ Search rectangle, Empty means all image
                BarcodeSymbology.QR);   \\ Symbology, only QR
             

BarcodeReadOptionsに由来する一つ以上のオブジェクトを渡すことによって、バーコード読み取り操作を微調整します。たとえば、PDF417バーコードの検索方向を水平および垂直に変更し、バーコードリーダーによって使用されるデフォルトオプションを変更するには、以下のようにします。


             // Get the default PDF417 read options
             PDF417BarcodeReadOptions options = barcodeEngineInstance.Reader.GetDefaultOptions(BarcodeSymbology.PDF417);
             // Change the search direction
             options.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;
             // Read a PDF417 barcode from the image
             BarcodeData data = barcodeEngineInstance.Reader.ReadBarcode(theImage, LogicalRectangle.Empty,  BarcodeSymbology.PDF417);
             

または、あるいは、このオーバーロードメソッドに直接オプションを渡すことができます:


             BarcodeData data = barcodeEngineInstance.Reader.ReadBarcode(theImage, LogicalRectangle.Empty, BarcodeSymbology.PDF417, options);
             

そしてそれはこの唯一の読込み操作に、そして、任意の以降の操作にでなくこれらのオプションを適用するだけです。

これらのメソッドから返されたBarcodeDataオブジェクトは、見つかったバーコードを格納します。BarcodeData.Symbologyプロパティは、見つかったバーコードのシンボル体系(型)を格納します。BarcodeData.GetDataメソッドは、読まれる(BarcodeData.Valueがデータの文字列表現としてにある)バーコードデータの生のbyte配列を返します。BarcodeData.BoundsBarcodeData.RotationAngleには、見つかったバーコードの画像上での位置(ピクセル単位)と回転角度が格納されます。

若干のバーコードタイプを読むとき、追加情報はデータ(例えばDatamatrixバーコードのシンボルサイズまたはPDF417バーコードのグループ番号)以外のバーコードで保存されるかもしれません。これらのために、LEADTOOLSは、この追加のデータを格納するBarcodeData(記載の場合のDatamatrixBarcodeDataPDF417BarcodeData)から、派生クラスを定義します。シンボル体系の型が正しいかどうかを確認し、返されたBarcodeDataオブジェクトを派生クラス型にキャストします。

バーコードの書き込み

バーコードをimageへ書き込むために、BarcodeEngine.Writerプロパティで保存されるBarcodeWriterオブジェクトにインスタンスを取得します、そして、バーコードを書き込む画像データを格納しているRasterImageオブジェクトを渡しているBarcodeWriter.WriterBarcode、バーコードシンボルデータを格納するBarcodeDataオブジェクトと場所を呼び出します。ここにサンプルがある。


             // Create a UPC A barcode
             BarcodeData data = new BarcodeData();
             data.Symbology = BarcodeSymbology.UPCA;
             data.Value = "01234567890";
             data.Bounds = new LogicalRectangle(10, 10, 600, 200, LogicalUnit.Pixel);
             // Write it with default options
             barcodeEngineInstance.Writer.WriteBarcode(theImage, data, null);
             

書込み操作に追加の機能性を追加するために、BarcodeWriteOptions派生クラスの一つ以上を使います。たとえば以下のコードは、後続のすべての書き込み操作において、1Dバーコードの書き込み時にバーコードテキストがバーコードの下に表示されるようにします。


             OneDBarcodeWriteOptions options = barcodeEngineInstance.Writer.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeWriteOptions;
             options.TextPosition = OneDBarcodeTextPosition.Default;
             // Write it with default options
             barcodeEngineInstance.Writer.WriteBarcode(theImage, data, null);
             

または、これを用いたこれらのオプションで、このバーコードだけを書き込むことができます:


             barcodeEngineInstance.Writer.WriteBarcode(theImage, data, options);
             

バーコードを書き込むとき、書き込みを確定する前にバーコードのサイズ(ピクセル単位)を計算し、オプションを微調整することができます(たとえば、Xモジュールの幅を変更するなど)。それを達成するために、BarcodeWriter.CalculateBarcodeDataBoundsメソッドを使います。このメソッドを使用すると、指定したオプションを使用して指定したバーコードを書き込んだ場合のバーコードのサイズ(ピクセル単位)が、指定したオブジェクトのBarcodeData.Boundsプロパティに設定されます。

サポートされたバーコードタイプ(バーコード体系)

LEADTOOLSは、いくつかの主要な種類のバーコードの読み取りと文書をサポートします。これらのタイプは以下を含みます:

個々のサポートされたバーコード体系は、BarcodeSymbology列挙体によって定義されます。

主要な種類のバーコードごとに、一つ以上のサブタイプは、読み取りと文書のためにサポートされます。これらのサブタイプは以下の通りです:

1次元 (1D)バーコード:

2D

LEADTOOLSでサポートしているバーコード体系の説明と実際のサンプルについては、「バーコード体系のサポート」を参照してください。

参照

参照

LEADTOOLSのUPC/EANバーコード
LEADTOOLSの2 of 5バーコード
LEADTOOLSのGS1 Databar/RSS-14バーコード
LEADTOOLSのCODE128バーコード
LEADTOOLSのUSPSと4-状態バーコード
LEADTOOLSのMSIバーコード(パルス幅変調)
LEADTOOLSのCodabarバーコード
LEADTOOLSのその他のバーコード
LEADTOOLSのDatamatrixバーコード
LEADTOOLSのPDF417とMicroPDF417バーコード
LEADTOOLSのMicroPDF417バーコード
LEADTOOLSのQRバーコード
バーコードの書き込み―四角形とXModule