←Select platform

PharmaCodeBarcodeReadOptions Constructor

Summary
Initializes a new instance of the PharmaCodeBarcodeReadOptions class with default values.
Syntax
C#
C++/CLI
Python
public: 
PharmaCodeBarcodeReadOptions(); 
__init__() # Default constructor 
Remarks

In addition to setting the base class members as specified in BarcodeReadOptions(), the following members are initialized as follows:

Member Value
SearchDirection

BarcodeSearchDirection.Horizontal

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
 
public void BarcodeReadOptions_Example() 
{ 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"); 
 
   // Create a Barcode engine 
   BarcodeEngine engine = new BarcodeEngine(); 
 
   // Get the Barcode reader instance 
   BarcodeReader reader = engine.Reader; 
 
   // Load the image 
   using (RasterCodecs codecs = new RasterCodecs()) 
   { 
      using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
      { 
         // Rotate the image by 90, so default option of reading horizontal barcodes will not work 
         Console.WriteLine("Rotating the image by 90 degrees"); 
         RotateCommand rotate = new RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColor.FromKnownColor(RasterKnownColor.White)); 
         rotate.Run(image); 
 
         // Read all the barcodes from the image using default options 
         Console.WriteLine("Reading barcodes using default options"); 
         BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, null, null); 
 
         // Show the number of barcodes found, should be 0 since default search direction is horizontal 
         Console.WriteLine("Found {0} barcodes", barcodes.Length); 
 
         // Now create options to read barcodes horizontally and vertically 
         BarcodeReadOptions[] options = GetHorizontalAndVerticalReadBarcodeOptions(reader); 
 
         // Check digit mode types 
         BarcodeReturnCheckDigit[] digits = (BarcodeReturnCheckDigit[])Enum.GetValues(typeof(BarcodeReturnCheckDigit)); 
         foreach(var digit in digits) 
         { 
            Console.WriteLine($"Check digit modes: {digit}"); 
         } 
 
         // Read again 
         Console.WriteLine("Reading barcodes using new options"); 
         barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, null, options); 
 
         // Show the number of barcodes found, should all be read now 
         Console.WriteLine("Found {0} barcodes", barcodes.Length); 
      } 
   } 
} 
 
private static BarcodeReadOptions[] GetHorizontalAndVerticalReadBarcodeOptions(BarcodeReader reader) 
{ 
   // By default, the options read horizontal barcodes only, create an array of options capable of reading vertical barcodes 
 
   // Notice, we cloned the default options in reader so we will not change the original options 
 
   OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA).Clone() as OneDBarcodeReadOptions; 
   oneDReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   FourStateBarcodeReadOptions fourStateReadOptions = reader.GetDefaultOptions(BarcodeSymbology.USPS4State).Clone() as FourStateBarcodeReadOptions; 
   fourStateReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   PostNetPlanetBarcodeReadOptions postNetPlanetReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PostNet).Clone() as PostNetPlanetBarcodeReadOptions; 
   postNetPlanetReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   GS1DatabarStackedBarcodeReadOptions gs1StackedReadOptions = reader.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked).Clone() as GS1DatabarStackedBarcodeReadOptions; 
   gs1StackedReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   PatchCodeBarcodeReadOptions patchCodeReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PatchCode).Clone() as PatchCodeBarcodeReadOptions; 
   patchCodeReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   PDF417BarcodeReadOptions pdf417ReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PDF417).Clone() as PDF417BarcodeReadOptions; 
   pdf417ReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   MicroPDF417BarcodeReadOptions microPdf417ReadOptions = reader.GetDefaultOptions(BarcodeSymbology.MicroPDF417).Clone() as MicroPDF417BarcodeReadOptions; 
   microPdf417ReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; 
 
   PharmaCodeBarcodeReadOptions pharmaCodeBarcodeReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PharmaCode).Clone()as PharmaCodeBarcodeReadOptions; 
   pharmaCodeBarcodeReadOptions.SearchDirection= BarcodeSearchDirection.HorizontalAndVertical; 
 
   // Even though this array will not contain all options, it should be enough to read all barcodes, since the version of ReadBarcodes we will use 
   // will use the default options if an override is not passed 
   BarcodeReadOptions[] readOptions = 
   { 
   oneDReadOptions, fourStateReadOptions, postNetPlanetReadOptions, gs1StackedReadOptions, patchCodeReadOptions, pdf417ReadOptions, microPdf417ReadOptions, pharmaCodeBarcodeReadOptions 
 }; 
 
   return readOptions; 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.5.9
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Barcode Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.