←Select platform

MicroPDF417BarcodeReadOptions Class


Contains extra options to use when reading MicroPDF417 barcodes.

public class MicroPDF417BarcodeReadOptions : BarcodeReadOptions 
@interface LTMicroPDF417BarcodeReadOptions : LTBarcodeReadOptions 
public class MicroPDF417BarcodeReadOptions extends BarcodeReadOptions 
public ref class MicroPDF417BarcodeReadOptions : public BarcodeReadOptions, System.ICloneable   
class MicroPDF417BarcodeReadOptions(BarcodeReadOptions): 

The MicroPDF417BarcodeReadOptions class is used to control the options when reading MicroPDF417 barcodes using LEADTOOLS. Set the options in two ways:

The BarcodeReader class contains default options for each barcode symbology (or group of common symbologies). These options can be retrieved using the BarcodeReader.GetDefaultOptions method passing BarcodeSymbology.MicroPDF417. Then, change the members of the returned MicroPDF417BarcodeReadOptions by casting it from BarcodeReadOptions to MicroPDF417BarcodeReadOptions.

You can also create an instance of the MicroPDF417BarcodeReadOptions class and use it directly in the BarcodeReader.ReadBarcode and BarcodeReader.ReadBarcodes methods that accept a single or array of options as an input parameter.

The base BarcodeReadOptions contains the following members and features:

Member Description

Controls the barcode foreground color (color of the bars or symbols) to use when reading a barcode from a colored image.


Controls the barcode background color (color of the spaces) to use when reading a barcode from a colored image.

BarcodeReadOptions.Load and BarcodeReadOptions.Save

Can be used to save or load the options to/from an XML file or stream.


This class overrides the base class method to return an array containing the following symbologies: BarcodeSymbology.MicroPDF417

In addition to the features and members, the MicroPDF417BarcodeReadOptions contains these MicroPDF417 barcode specific features:

Member Description
SearchDirection The direction to use when searching for barcodes (horizontal, vertical or both).
EnableDoublePass Enable internal auto preprocessing of the image data if no MicroPDF417 barcode was found.
EnableDoublePassIfSuccess Enable internal auto preprocessing of the image data even if some MicroPDF417 barcodes were found.

Enable applying auto segmentation and deep auto pre-processing to the image then re-scanning if no barcodes of this symbology are found.

EnableReadingCCA3Columns Enable reading CC type A with 3 columns.
ReadMode The channel mode to use when reading MicroPDF417 barcodes.
ReadOptionalMacroFileNameField, ReadOptionalMacroSegmentCountField, ReadOptionalMacroTimestampField, ReadOptionalMacroSenderField, ReadOptionalMacroAddresseeField, ReadOptionalMacroFileSizeField, ReadOptionalMacroChecksumField and ReadOptionalMacro79AndAZField Retrieve an optional macro field when reading MicroPDF417 barcodes.
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
public void MicroPDF417Barcode_Example() 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyMicroPDF417Barcodes.tif"); 
   BarcodeEngine engine = new BarcodeEngine(); 
   // Create the image to write the barcodes to 
   int resolution = 300; 
   using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))) 
      // Write two MicroPDF417 barcodes 
      WriteBarcode(engine.Writer, image, "DATA1", MicroPDF417BarcodeSymbolSize.Smallest, true); 
      WriteBarcode(engine.Writer, image, "DATA2", MicroPDF417BarcodeSymbolSize.Size44X4, false); 
      // Save the image 
      using (RasterCodecs codecs = new RasterCodecs()) 
         codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1); 
   // Now read the barcodes again 
   using (RasterCodecs codecs = new RasterCodecs()) 
      using (RasterImage image = codecs.Load(imageFileName)) 
         ReadBarcodes(engine.Reader, image); 
private void WriteBarcode(BarcodeWriter writer, RasterImage image, string value, MicroPDF417BarcodeSymbolSize symbolSize, bool topLeft) 
   // Create the barcode data 
   MicroPDF417BarcodeData barcode = new MicroPDF417BarcodeData(); 
   barcode.Value = value; 
   barcode.DataCode = 0; 
   barcode.Symbology = BarcodeSymbology.MicroPDF417; 
   // We will use the alignment to position the barcodes, so use all of the image 
   barcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight); 
   // Set the write options 
   MicroPDF417BarcodeWriteOptions options = new MicroPDF417BarcodeWriteOptions(); 
   if (topLeft) 
      options.HorizontalAlignment = BarcodeAlignment.Near; 
      options.VerticalAlignment = BarcodeAlignment.Near; 
      options.HorizontalAlignment = BarcodeAlignment.Far; 
      options.VerticalAlignment = BarcodeAlignment.Far; 
   options.UseMode128Emulation = false; 
   options.IsLinked = false; 
   options.EnableGroupMode = false; 
   options.XModule = 30; 
   options.XModuleAspectRatio = 3; 
   options.LimitByRowsAndColumns = true; 
   options.SymbolSize = symbolSize; 
   // Write it 
   Console.WriteLine("Writing barcode with symbol size: {0} and Data: {1}", symbolSize, value); 
   writer.WriteBarcode(image, barcode, options); 
private void ReadBarcodes(BarcodeReader reader, RasterImage image) 
   // Setup read options 
   MicroPDF417BarcodeReadOptions options = new MicroPDF417BarcodeReadOptions(); 
   options.SearchDirection = BarcodeSearchDirection.Horizontal; 
   options.EnableDoublePass = false; 
   options.ReadMode = MicroPDF417BarcodeReadMode.Mode0; 
   options.ReadOptionalMacroFileNameField = false; 
   options.ReadOptionalMacroSegmentCountField = false; 
   options.ReadOptionalMacroTimestampField = false; 
   options.ReadOptionalMacroSenderField = false; 
   options.ReadOptionalMacroAddresseeField = false; 
   options.ReadOptionalMacroFileSizeField = false; 
   options.ReadOptionalMacroChecksumField = false; 
   options.ReadOptionalMacro79AndAZField = false; 
   options.EnableDoublePassIfSuccess = true; 
   options.EnablePreprocessing = true; 
   Console.WriteLine("Reading Barcodes"); 
   BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.MicroPDF417 }, new BarcodeReadOptions[] { options }); 
   Console.WriteLine("{0} barcodes found:", barcodes.Length); 
   foreach (MicroPDF417BarcodeData barcode in barcodes) 
      Console.WriteLine(" At {0} data: {1} and symbology: {2}", barcode.Bounds, barcode.Value, barcode.Symbology); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 

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.