←Select platform

Barcode1d Class

Summary

This class contains linear (1D) barcode information for reading or writing 1D barcodes.

Syntax

C#
VB
C++
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="Barcode1d")] 
public class Barcode1d 
  
<DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="Barcode1d")> 
Public Class Barcode1d  
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="Barcode1d")] 
public ref class Barcode1d  

Remarks

Linear (1D) barcodes are not supported in UNICODE text.

A barcode is composed of a start mark, data, and the end mark. Reading barcodes from left to right (setting the Direction property to BarcodeDirectionFlags.LeftToRight value) or from right to left (setting the Direction property to BarcodeDirectionFlags.RightToLeft value) will produce the same result in most cases, because the barcode reader engine recognizes the start and end marks, and handles the data accordingly. For example, if BarcodeDirectionFlags.LeftToRight is used and the user reads barcodes from left to right (i.e. the barcode is not rotated), the engine will recognize the start mark first, then the data, and finally the end mark. But if the user reads barcodes from right to left (i.e. the barcode is rotated 180 degrees), the engine will first recognize the end mark, then read the (reverse-order) data, and then recognize the start mark. In this case, the engine will flip the data to normal (start/data/end) order.

Type RSS14 is now GS1 Databar. All references to RSS14 now refer to GS1 Databar.

Linear barcodes are not supported in UNICODE text.

Example

C#
VB
using Leadtools.Services; 
using Leadtools.Services.Barcode.ServiceContracts; 
using Leadtools.Services.Barcode.ServiceImplementations; 
 
public void ReadExample() 
{ 
   BarcodeServiceClient client = new BarcodeServiceClient(); 
 
   RawBinaryData sourceBinaryData = new RawBinaryData(); 
   sourceBinaryData.Data = File.ReadAllBytes(LeadtoolsExamples.Common.ImagesPath.Path + "barcode2.tif"); 
 
   LeadRectangle searchRectangle = new LeadRectangle(); 
   searchRectangle.X = 0; 
   searchRectangle.Y = 0; 
   searchRectangle.Width = 0; 
   searchRectangle.Height = 0; 
 
   Barcode1d bar1d = new Barcode1d(); 
 
   bar1d.Direction = BarcodeDirectionFlags.LeftToRight; 
   bar1d.ErrorCheck = true; 
   bar1d.Granularity = 9; 
   bar1d.MaximumLength = 3; 
   bar1d.MinimumLength = 1; 
   bar1d.WhiteLines = 3; 
   bar1d.OutShowText = true; 
   bar1d.StandardFlags = Barcode1dStandardFlags.Barcode1dNormal; 
 
   BarcodeReadPdf barPDF = new BarcodeReadPdf(); 
   barPDF.Direction = BarcodeDirectionFlags.LeftToRight; 
 
   BarcodeColor barColor = new BarcodeColor(); 
   barColor.BarColor = "Black"; 
   barColor.SpaceColor = "White"; 
 
   ReadOptions options = new ReadOptions(); 
 
   ReadBarcode1d4State barcode1d4State = new ReadBarcode1d4State(); 
   barcode1d4State.Flags = ReadBarcode1d4StateFlags.AustralianPost; 
   options.Add(barcode1d4State); 
 
   ReadBarcode1dStandard barcode1dStandard = new ReadBarcode1dStandard(); 
   barcode1dStandard.Flags = ReadBarcodeStandardFlags.All; 
   options.Add(barcode1dStandard); 
 
   ReadBarcode2DQr barcode2DQr = new ReadBarcode2DQr(); 
   barcode2DQr.Flags = ReadBarcode2DQrFlags.QrCode; 
   options.Add(barcode2DQr); 
 
   ReadBarcode2DPdf417 barcode2DPdf417 = new ReadBarcode2DPdf417(); 
   barcode2DPdf417.Flags = ReadBarcode2DPdf417Flags.Pdf417; 
   options.Add(barcode2DPdf417); 
 
   ReadBarcode2DMicroPdf417 barcode2DMicroPdf417 = new ReadBarcode2DMicroPdf417(); 
   barcode2DMicroPdf417.Flags = ReadBarcode2DMicroPdf417Flags.MicroPdf417; 
   options.Add(barcode2DMicroPdf417); 
 
 
   ReadRequest request = new ReadRequest(); 
 
   request.Code1d = bar1d; 
   request.CodeColor = barColor; 
   request.CodePdf = barPDF; 
   request.MultipleMaxCount = 0; 
   request.Options = options; 
   request.ReadFlags = BarcodeReadFlags.BlockSearch | BarcodeReadFlags.Markers; 
   request.SearchRectangle = searchRectangle; 
   request.Source = sourceBinaryData; 
   request.TypeFlags = BarcodeMajorTypeFlags.Barcodes1d | BarcodeMajorTypeFlags.Barcodes2dRead | BarcodeMajorTypeFlags.BarcodesQrRead; 
   request.Unit = BarcodeUnit.ScanlinesPerPixels; 
 
 
   ReadResponse response = client.Read(request); 
 
   if (response.Barcodes != null) 
   { 
      string barcodeMsg = string.Format("Total Bar Code Symbols Found = {0}", response.Barcodes.Count); 
      Console.WriteLine(barcodeMsg); 
 
      int i = 0; 
      foreach (BarcodeData data in response.Barcodes) 
      { 
         i++; 
         barcodeMsg = string.Format("No. {0}\nType {1}\nUnits {2}\nPosX {3}\nPosY {4}\nWidth {5}\nHeight {6}\nGroup {7}\nDuplicate Index {8}\n", 
            i, 
            data.Type.ToString(), 
            data.Unit.ToString(), 
            data.Location.X.ToString(), 
            data.Location.Y.ToString(), 
            data.Location.Width.ToString(), 
            data.Location.Height.ToString(), 
            data.Group.ToString(), 
            data.IndexDuplicate.ToString()); 
 
         Console.WriteLine(barcodeMsg); 
      } 
   } 
 
   client.Close(); 
} 
Imports Leadtools.Services 
Imports Leadtools.Services.Barcode.ServiceContracts 
Imports Leadtools.Services.Barcode.ServiceImplementations 
 
Public Sub ReadExample() 
   Dim client As BarcodeServiceClient = New BarcodeServiceClient() 
 
   Dim sourceBinaryData As RawBinaryData = New RawBinaryData() 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "barcode2.tif")) 
 
   Dim searchRectangle As LeadRectangle = New LeadRectangle() 
   searchRectangle.X = 0 
   searchRectangle.Y = 0 
   searchRectangle.Width = 0 
   searchRectangle.Height = 0 
 
   Dim bar1d As Barcode1d = New Barcode1d() 
 
   bar1d.Direction = BarcodeDirectionFlags.LeftToRight 
   bar1d.ErrorCheck = True 
   bar1d.Granularity = 9 
   bar1d.MaximumLength = 3 
   bar1d.MinimumLength = 1 
   bar1d.WhiteLines = 3 
   bar1d.OutShowText = True 
   bar1d.StandardFlags = Barcode1dStandardFlags.Barcode1dNormal 
 
   Dim barPDF As BarcodeReadPdf = New BarcodeReadPdf() 
   barPDF.Direction = BarcodeDirectionFlags.LeftToRight 
 
   Dim barColor As BarcodeColor = New BarcodeColor() 
   barColor.BarColor = "Black" 
   barColor.SpaceColor = "White" 
 
   Dim options As ReadOptions = New ReadOptions() 
 
   Dim barcode1d4State As ReadBarcode1d4State = New ReadBarcode1d4State() 
   barcode1d4State.Flags = ReadBarcode1d4StateFlags.AustralianPost 
   options.Add(barcode1d4State) 
 
   Dim barcode1dStandard As ReadBarcode1dStandard = New ReadBarcode1dStandard() 
   barcode1dStandard.Flags = ReadBarcodeStandardFlags.All 
   options.Add(barcode1dStandard) 
 
   Dim barcode2DQr As ReadBarcode2DQr = New ReadBarcode2DQr() 
   barcode2DQr.Flags = ReadBarcode2DQrFlags.QrCode 
   options.Add(barcode2DQr) 
 
   Dim barcode2DPdf417 As ReadBarcode2DPdf417 = New ReadBarcode2DPdf417() 
   barcode2DPdf417.Flags = ReadBarcode2DPdf417Flags.Pdf417 
   options.Add(barcode2DPdf417) 
 
   Dim barcode2DMicroPdf417 As ReadBarcode2DMicroPdf417 = New ReadBarcode2DMicroPdf417() 
   barcode2DMicroPdf417.Flags = ReadBarcode2DMicroPdf417Flags.MicroPdf417 
   options.Add(barcode2DMicroPdf417) 
 
 
   Dim request As ReadRequest = New ReadRequest() 
 
   request.Code1d = bar1d 
   request.CodeColor = barColor 
   request.CodePdf = barPDF 
   request.MultipleMaxCount = 0 
   request.Options = options 
   request.ReadFlags = BarcodeReadFlags.BlockSearch Or BarcodeReadFlags.Markers 
   request.SearchRectangle = searchRectangle 
   request.Source = sourceBinaryData 
   request.TypeFlags = BarcodeMajorTypeFlags.Barcodes1d Or BarcodeMajorTypeFlags.Barcodes2dRead Or BarcodeMajorTypeFlags.BarcodesQrRead 
   request.Unit = BarcodeUnit.ScanlinesPerPixels 
 
 
   Dim response As ReadResponse = client.Read(request) 
 
   If Not response.Barcodes Is Nothing Then 
      Dim barcodeMsg As String = String.Format("Total Bar Code Symbols Found = {0}", response.Barcodes.Count) 
      Console.WriteLine(barcodeMsg) 
 
      Dim i As Integer = 0 
      For Each data As BarcodeData In response.Barcodes 
         i += 1 
         barcodeMsg = String.Format("No. {0}" & Constants.vbLf & "Type {1}" & Constants.vbLf & "Units {2}" & Constants.vbLf & "PosX {3}" & 
                                    Constants.vbLf & "PosY {4}" & Constants.vbLf & "Width {5}" & Constants.vbLf & "Height {6}" & 
                                    Constants.vbLf & "Group {7}" & Constants.vbLf & "Duplicate Index {8}" & Constants.vbLf, i, data.Type.ToString(), 
                                    data.Unit.ToString(), data.Location.X.ToString(), data.Location.Y.ToString(), data.Location.Width.ToString(), 
                                    data.Location.Height.ToString(), data.Group.ToString(), data.IndexDuplicate.ToString()) 
 
         Console.WriteLine(barcodeMsg) 
      Next data 
   End If 
 
   client.Close() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Services.Barcode.DataContracts Assembly