public bool EnableErrorCheck { get; set; }
true to indicate that the optional check word is used for validity check when reading a barcode. Otherwise, false. The default value is false.
If you set the value of EnableErrorCheck to true, then the engine will perform error checking (CRC) using the optional check word and the barcode data before returning the barcode found. If the check failed, no barcode is returned.
The EnableErrorCheck property setting will only have effect when reading barcode symbologies that support an optional check word. These barcode symbologies are listed below:
Code 3 of 9 (Code 39) (BarcodeSymbology.Code3Of9)
Standard 2 of 5 (Industrial 2 of 5) (BarcodeSymbology.CodeStandard2Of5)
Interleaved 2 of 5 (BarcodeSymbology.CodeInterleaved2Of5)
Code 11 (USD-8) (BarcodeSymbology.Code11)
CODABAR (Ames Code/USD-4/NW-7/2 of 7) (BarcodeSymbology.Codabar)
The rest of the symbologies supported by this options class requires the check word to be valid and checking is not optional. The engine will always check the check word against the data regardless of the value of EnableErrorCheck.
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void OneDBarcode_Example(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyOneDBarcodes.tif");BarcodeEngine engine = new BarcodeEngine();// Create the image to write the barcodes toint resolution = 300;using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))){// Write a POSTNET and a PLANET barcodesWriteBarcode(engine.Writer, image, BarcodeSymbology.UPCA, "01234567890", new LeadRect(10, 100, 400, 200));WriteBarcode(engine.Writer, image, BarcodeSymbology.Code128, "Code 128", new LeadRect(10, 400, 400, 200));WriteBarcode(engine.Writer, image, BarcodeSymbology.Code11, "124578", new LeadRect(10, 700, 400, 200));// Save the imageusing (RasterCodecs codecs = new RasterCodecs()){codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1);}}// Now read the barcodes againusing (RasterCodecs codecs = new RasterCodecs()){using (RasterImage image = codecs.Load(imageFileName)){// Read the UPC-A barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.UPCA);// Read the Code 128 barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.Code128);// Read the Code 11 barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.Code11);}}}private void WriteBarcode(BarcodeWriter writer, RasterImage image, BarcodeSymbology symbology, string value, LeadRect bounds){// Create the barcode dataBarcodeData barcode = new BarcodeData(symbology, value);barcode.Bounds = bounds;// Set the write optionsOneDBarcodeWriteOptions options = new OneDBarcodeWriteOptions();options.TextPosition = BarcodeOutputTextPosition.Default;options.UseXModule = false;options.XModule = 30;options.EnableErrorCheck = false;options.SetGS1DatabarLinkageBit = false;options.WriteTruncatedGS1Databar = false;options.Code128TableEncoding = Code128BarcodeTableEncoding.Auto;options.Code11CheckDigitType = Code11BarcodeCheckDigitType.CDigit;options.MSIModuloType = MSIBarcodeModuloType.Modulo10;// Write itConsole.WriteLine("Writing {0} barcode with data: {1}", symbology, value);writer.WriteBarcode(image, barcode, options);}private void ReadBarcodes(BarcodeReader reader, RasterImage image, BarcodeSymbology symbology){// Setup read optionsOneDBarcodeReadOptions options = new OneDBarcodeReadOptions();options.SearchDirection = BarcodeSearchDirection.Horizontal;options.EnableFastMode = true;options.Granularity = 9;options.MinimumStringLength = 3;options.MaximumStringLength = 0;options.WhiteLinesNumber = 3;options.ReturnCheckDigit = BarcodeReturnCheckDigit.Default;options.EnableErrorCheck = false;options.AvoidCorruptedBlocks = false;options.AllowPartialRead = false;options.Code11CheckDigitType = Code11BarcodeCheckDigitType.CDigit;options.MSIModuloType = MSIBarcodeModuloType.Modulo10;options.CalculateBarWidthReduction = true;options.Code39Extended = false;options.EnableDoublePass = false;options.EnablePreprocessing = false;options.ResizeSmall1D = false;Console.WriteLine("Reading {0} barcodes", symbology);BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, symbology, options);if (barcode != null){Console.WriteLine(" At {0}, data: {1}", barcode.Bounds, barcode.Value);}else{Console.WriteLine(" Not found");}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}