LEADTOOLSバーコード(Leadtools.Barcodeアセンブリ)

フレームを表示

BarcodeDataクラス








メンバ 
単一のバーコードのためにデータを格納します。
オブジェクトモデル
構文
'Declaration
 
<TypeConverterAttribute()>
<DataContractAttribute()>
<SerializableAttribute()>
Public Class BarcodeData 
   Implements System.ICloneable 
'Usage
 
Dim instance As BarcodeData
public sealed class BarcodeData : System.ICloneable  
@interface LTBarcodeData : NSObject <NSCopying>
public class BarcodeData
function Leadtools.Barcode.BarcodeData()
[TypeConverterAttribute()]
[DataContractAttribute()]
[SerializableAttribute()]
public ref class BarcodeData : public System.ICloneable  
解説

BarcodeDataクラスは、単一のバーコードのためにデータを格納します。これは、バーコードとimageの間で読み書きする際にLEADTOOLSが使用します。

読み取りバーコード

BarcodeReaderクラスには、単一または複数のバーコードを1つの画像から読み取るための複数のメソッドが含まれます(「BarcodeReader.ReadBarcodeとBarcodeReader.ReadBarcodesメソッド」参照)。BarcodeReaderは、見つかったバーコードごとに、そのバーコードデータが格納されたBarcodeDataのインスタンスを返します。

BarcodeDataのメンバと、BarcodeReaderによって画像からオブジェクトが返されたときの各メンバの意味を次に示します。

メンバ 説明
シンボル

見つかったバーコードのコード体系(種類)を指定するBarcodeSymbology列挙体のメンバ。

境界

画像上でのバーコードの位置とサイズ。

RotationAngle

バーコードが回転している(または傾いている)場合の回転角度。

BarWidthReduction

読み取り1Dがバーコード化するマイクロメートルのバーコードのバー幅縮小値。

データ(GetDataを通してアクセスされる)

バーコード内で見つかった、バイト配列形式の生データ。

データの(ASCII形式での)文字列表現。返される値は、単にGetDataから返されるbyte配列のASCIIテキストです

タグ

ユーザー定義フィールド。使用されません。

DatamatrixSymbolSize

Datamatrixバーコードのシンボルサイズを指定するDatamatrixBarcodeSymbolSize列挙体メンバ。

MicroPDF417IsLinked

MicroPDF417バーコードが、その下に印刷されている1次元シンボルにリンクされていることを示します。

MicroPDF417DataCode

MicroPDF417バーコードの、CODE128エミュレーション用のファンクションコードワード。

PDF417Group

このPDF417バーコードシンボルがシンボルのグループのメンバであるならばグループ番号

QRSymbolModel

シンボルモデルとQRバーコードのバージョンを指定するQRBarcodeSymbolModel列挙体メンバ。

AztecSymbolModel

Aztecバーコードを書き込むとき、使うシンボルサイズを決定するAztecBarcodeSymbolModel列挙体メンバ。

MaxiSymbolModel

Maxi Codeバーコードを書き込むとき、使うエンコーディングモードを決定するMaxiBarcodeSymbolModel列挙体メンバ。

MicroQRSymbolModel

MicroQRバーコードを書き込むとき、使うシンボルサイズを決定するMicroQRBarcodeSymbolModel列挙体メンバ。

上記のメンバに加えて、バーコードデータに関連しないそのほかの他読み取りオプションをBarcodeReadOptionsクラスまたはその派生クラスの1つを使用して設定できます。

バーコードを読むことのチュートリアルのために、レディングバーコードチュートリアルを参照します。

バーコードの書き込み

BarcodeWriterクラスによって、単一のバーコードをimageへ書き込むことができます。BarcodeDataクラスのインスタンスを作成してそのメンバに新しいバーコードの値を設定し、作成したオブジェクトを渡してWriteBarcodeメソッドを呼び出す必要があります。

以下のテーブルは、バーコードを書き込むとき、BarcodeDataと意味のメンバをリストします:

メンバ 説明
シンボル

書き込むバーコードのシンボル(または型)を指定するBarcodeSymbology列挙体のメンバ。

境界

バーコードを書き込む画像上の位置とサイズ。

データ(SetDataを通して設定される)。

byte配列としての新しいバーコードの生データ。

データの(ASCII形式での)文字列表現。で設定される値は、単にASCIIテキストとして解析されて、SetDataを通してそれを生データに入れます

RotationAngle

書き込み時は使用されません

BarWidthReduction

書き込み時は使用されません

タグ

ユーザー定義フィールド。使用されません。

DatamatrixSymbolSize

書き込むバーコードのシンボルサイズを指定するDatamatrixBarcodeSymbolSize列挙体のメンバ

MicroPDF417IsLinked

MicroPDF417バーコードが、その下に印刷されている1次元シンボルにリンクされていることを示します。書き込み時にMicroPDF417のリンクを設定するには、MicroPDF417BarcodeWriteOptions.IsLinkedプロパティを使用します。

MicroPDF417DataCode

MicroPDF417バーコードの、Code 128エミュレーション用のファンクションコードワードを示します。MicroPDF417シンボルの書き込み時にこの値を使用するには、MicroPDF417BarcodeWriteOptions.EnableGroupModeの値をtrueに設定します。

PDF417Group

このPDF417バーコードシンボルがシンボルグループのメンバーであるかどうかを指定します。PDF417シンボルの書き込み時にこの値を使用するには、PDF417BarcodeWriteOptions.EnableGroupModeの値をtrueに設定する必要があります。

QRSymbolModel

QRバーコードシンボルモデルとバージョンを指定するQRBarcodeSymbolModel列挙体メンバ。

AztecSymbolModel

Aztecバーコードシンボルサイズを指定するAztecBarcodeSymbolModel列挙体メンバ。

MaxiSymbolModel

Maxiバーコードシンボルモードを指定するMaxiBarcodeSymbolModel列挙体メンバ。

MicroQRSymbolModel

MicroQRバーコードシンボルサイズを指定するMicroQRBarcodeSymbolModel列挙体メンバ。

上記のメンバに加えて、バーコードデータに関係しないそのほかの書き込みオプションはBarcodeWriteOptionsクラスまたはその派生クラスの1つを使用して設定できます。

また、BarcodeWriter.CalculateBarcodeDataBoundsメソッドを使用して、バーコードデータ、そのXモジュール、およびその他の各種プロパティに基づくバーコードの位置とサイズを事前に計算できます。

バーコードを書き込むことのチュートリアルのために、バーコードの書き込みチュートリアルを参照します。

一般

注意:このセクションは、LEADTOOLS for Windows Runtimeでサポートされません。

BarcodeDataクラスは、以下のサポートを格納します:

注意:上記のリストの機能性は、LEADTOOLS for Windows Runtimeでサポートされません。

派生型

注意:このセクションは、LEADTOOLS for Windows Runtimeでサポートされません。

このセクションは、以下のバーコード体系で現時点では利用できるだけの派生バーコードデータ型を扱います:BarcodeSymbology.DatamatrixBarcodeSymbology.MicroPDF417BarcodeSymbology.PDF417BarcodeSymbology.QR.そのほかすべてのバーコード体系には特別なデータ型は含まれておらず、バーコードの読み取り/書き込み時には常に基本BarcodeDataを使用する必要があります。

一部のバーコード体系には、BarcodeDataにない付加情報が含まれています。このようなバーコード体系に対応するため、LEADTOOLSには付加情報を含む派生クラスが追加されています。

BarcodeReaderクラスはこのようなコード体系のバーコードを検出すると、BarcodeDataの派生クラスである以下のいずれかの型を返します。必要であれば、返されたオブジェクトを派生型にキャストできます。サンプルコードについては、下記の表に示すいずれかのクラスを参照してください。

以下のテーブルは、派生型をリストします:

説明
DatamatrixBarcodeData

BarcodeSymbology.Datamatrix.で使われます読み書き時に使用するDatamatrixバーコードシンボルサイズを追加します。

MicroPDF417BarcodeData

BarcodeSymbology.MicroPDF417で使われます。読み書き時に使用するMicroPDF417データコードを追加します。また、読み取られたMicroPDF417バーコードが、その下にある1次元バーコードにリンクされているかどうかを示す情報も含まれます。

PDF417BarcodeData

BarcodeSymbology.PDF417で使われます。imageで見つかったPDF417バーコードのグループ番号に関する情報を格納します。

QRBarcodeData

BarcodeSymbology.QR.で使われます読み書き時に使用するQRバーコードシンボルサイズを追加します。

バーコードの読み取り時は、追加オプションが必要な場合でも、常に基本BarcodeDataクラスを使用できます。通常、読まれるバーコードのすべての関連したデータは、BarcodeData.GetDataまたはBarcodeData.Valueで得られることができます。これらの付加的な値が必要な場合は、単にオブジェクトを適切な派生クラスにキャストして付加プロパティを読み取ります。

バーコード書き込み時にはあらゆる情報が必要であるため、バーコード書き込み時には一般に常に派生クラスを渡します。正しい派生クラスのインスタンスを作成して、BarcodeWriter.WriteBarcodeにそれを渡します。このメソッドはデータを基本BarcodeDataインスタンスとして受け取ります。より具体的な種類のバーコード(QRなど)を書き込むときにジェネリックなBarcodeDataオブジェクトを渡すことも可能ですが、これは一般に推奨されません。

GetBarcodeDataTypeは、特定のBarcodeSymbologyに関連づけられた派生BarcodeDataクラスの型を返します。そのバーコード体系が特別なデータクラスを持たない場合はBarcodeData型を返します。

メモ

バーコードの色はそのデータの一部とはみなされません。読み取るバーコードの色を指定するには、BarcodeReadOptions.ForeColorとBarcodeReadOptions.BackColorプロパティを使用します。書き込むバーコードの色を指定するには、BarcodeWriteOptions.ForeColorとBarcodeWriteOptions.BackColor。を使用します。

QRとPDF417などの一部のバーコードでは、必ずしもASCIIテキストではないデータもサポートされています。たとえば、画像、URL、生のバイトストリームなどです。これらのバーコードを読むとき、プロパティはデータの正確な表現を返さないかもしれません。この場合は、代わりにBarcodeData.GetDataメソッドを使用し、取得したデータを解析します。また、バーコードを書き込むとき、SetDataメソッドを用いて生データを設定しなければなりません

オーストラリアのポストバーコード(BarcodeSymbology.AustralianPost4State)stringは、様々なフィールド(すなわちFCC、DPIDとCIF)を識別するために、特別な形式を持っています。この文字列形式では、以下のようにフィールドの間にダッシュが入ります。FCCは2桁のフィールド(有効な値は11、87、45、92、59、62、44)、DPIDは住所を表す8桁のフィールドで、CIF(オプション)は顧客情報フィールドを表します。詳細は、「標準」を参照してください。この文字列形式は、両方の読み書きのために適用します。

GS1 Databar Expanded(BarcodeSymbology.GS1DatabarExpanded)とGS1 Databar Expanded Stacked(BarcodeSymbology.GS1DatabarExpandedStaceked)バーコード文字列は、特定のエンコーディングメソッド(例えばメソッド「1」、メソッド「0100」、メソッド「0101」)を示す文字列形式に従って書き込まれる必要があります … 例えば、その他string(01)00012345678905(10)ABC123」は、メソッド「1」(すなわち一般識別データ)を用いてエンコードされます。品目識別番号の14桁目(前の例では"5")が存在する場合、その桁はチェックデジットとみなされ、無視されます。これらの特殊なエンコード形式のいずれにも従わずに文字列を書き込んだ場合は、方法「00」(多目的データ)でエンコードされます。

読み取り操作によってBarcodeDataが返されるとき、リンケージビットを示すために、文字列の先頭に波カッコ("{"と"}")で囲まれた桁が付加されます。中括弧はエンコードされたバーコードデータの一部でなくて、標準で定義でありません。むしろ、つながり数字を他のデータと区別します。たとえば、リンケージビットを0に設定して「(01)00012345678905(10)ABC123」というバーコード文字列を書き込んだ場合、読み取り関数でこのバーコード文字列を読み取ると、結果は「{0}(01)00012345678905(10)ABC123」になります。この場合、{0}はリンケージデジットで、残りのキャラクターがバーコードデータを表します。

BarcodeSymbology.UCCEAN128は、UCCEAN 128バーコードの読み取り用としてのみ設計されており、このバーコード型の書き込み用には設計されていません。

Code Interleaved 2 of 5:I= デジット数。偶数でなければなりません。

1次元 (1D)バーコードは、UNICODEでサポートされません。

1Dバーコードデータを書き込むとき、役に立つ情報を格納しているテーブルのために、https://www.leadtools.com/sdk/barcode/1d-chart.htm.を参照します。

サンプル

このサンプルはimageで見つけられる最初のバーコードを読んで、いろいろなデータ値を示します。バーコードの書き込みに関するサンプルについては、「BarcodeWriter」を参照してください。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Barcode
Imports Leadtools.ImageProcessing

      
Public Sub BarcodeData_Example()
   Dim imageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif")
   ' Create a Barcode engine
   Dim engine As New BarcodeEngine()

   ' Load the image
   Using codecs As New RasterCodecs()
      Using image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
         ' Read the first barcode
         Dim data As BarcodeData = engine.Reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.Unknown)

         ' Show the barcode data found (if any)
         If Not IsNothing(data) Then
            Console.WriteLine("Found barcode at {0}", data.Bounds)
            Console.WriteLine("Symbology: {0}", data.Symbology)
            Console.WriteLine("Data: {0}", data.Value)
         End If
      End Using
   End Using
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;

      
public void BarcodeData_Example()
{
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif");
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();

   // Load the image
   using(RasterCodecs codecs = new RasterCodecs())
   {
      using(RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
      {
         // Read the first barcode
         BarcodeData data = engine.Reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.Unknown);

         // Show the barcode data found (if any)
         if(data != null)
         {
            Console.WriteLine("Found barcode at {0}", data.Bounds);
            Console.WriteLine("Symbology: {0}", data.Symbology);
            Console.WriteLine("Data: {0}", data.Value);
         }
      }
   }
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;

      
public async Task BarcodeData_Example()
{
   string imageFileName = @"Assets\Barcode1.tif";
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();

   // Load the image
   using(RasterCodecs codecs = new RasterCodecs())
   {
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(imageFileName);
      using(RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)))
      {
         // Read the first barcode
         BarcodeData data = engine.Reader.ReadBarcode(image, LeadRectHelper.Empty, BarcodeSymbology.Unknown);

         // Show the barcode data found (if any)
         if(data != null)
         {
            Debug.WriteLine("Found barcode at {0}", data.Bounds);
            Debug.WriteLine("Symbology: {0}", data.Symbology);
            Debug.WriteLine("Data: {0}", data.Value);
         }
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
using Leadtools.Examples;

public void BarcodeData_Example(RasterImage image)
{
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();
   // Load the image
   RasterCodecs codecs = new RasterCodecs();

   // Read the first barcode
   BarcodeData data = engine.Reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.Unknown);

   // Show the barcode data found (if any)
   if(data != null)
   {
      Console.WriteLine("Found barcode at {0}", data.Bounds);
      Console.WriteLine("Symbology: {0}", data.Symbology);
      Console.WriteLine("Data: {0}", data.Value);
   }
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Barcode
Imports Leadtools.ImageProcessing

Public Sub BarcodeData_Example(ByVal image As RasterImage)
  ' Create a Barcode engine
  Dim engine As BarcodeEngine = New BarcodeEngine()
  ' Load the image
  Dim codecs As RasterCodecs = New RasterCodecs()

  ' Read the first barcode
  Dim data As BarcodeData = engine.Reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.Unknown)

  ' Show the barcode data found (if any)
  If Not data Is Nothing Then
    Console.WriteLine("Found barcode at {0}", data.Bounds)
    Console.WriteLine("Symbology: {0}", data.Symbology)
    Console.WriteLine("Data: {0}", data.Value)
  End If
End Sub
必要条件

ターゲットプラットホーム

参照

参照

BarcodeDataメンバ
Leadtools.Barcode名前空間
BarcodeReaderクラス
BarcodeWriterクラス
BarcodeSymbology列挙体
BarcodeEngineクラス
DatamatrixBarcodeDataクラス
MicroPDF417BarcodeDataクラス
PDF417BarcodeDataクラス
QRBarcodeDataクラス
BarcodeReader.ReadBarcode
BarcodeReader.ReadBarcodes
BarcodeWriter.WriteBarcode
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

Leadtools.Barcodeは、バーコードモジュールのライセンスと、解除キーが必要です。詳細は、以下を参照してください。LEADTOOLSツールキット機能