←Select platform

ReadBarcodes Method

Summary

Reads the barcodes found on this page.

Syntax
C#
C++/CLI
Java
Python
public:  
   array<BarcodeData^>^ ReadBarcodes( 
      LeadRectD^ bounds, 
      int maximumBarcodes, 
      array<BarcodeSymbology^>^ symbologies 
   ) 
public BarcodeData[] readBarcodes(LeadRectD bounds, int maximumBarcodes, BarcodeSymbology[] symbologies) 
def ReadBarcodes(self,bounds,maximumBarcodes,] symbologies): 

Parameters

bounds

Search area in page coordinates. If this value is Empty, then the entire page is searched for barcodes.

maximumBarcodes

Maximum number of barcodes to read. Use -1 to read all barcodes found.

symbologies

Barcode symbologies to search for. If this value is null or an empty array, then all barcode symbologies are searched for.

Return Value

Array containing the data for each barcode found. An empty array is returned if no barcodes are found on the page.

Remarks

Refer to BarcodeEngine, BarcodeReader and BarcodeReader.ReadBarcodes for more information on reading barcodes using LEADTOOLS.

This method uses the engine set in DocumentBarcodes.BarcodeEngine. If this value is null then no barcodes are read and this method returns an empty array.

This method calls GetImage and then BarcodeReader.ReadBarcodes to read the barcodes.

Since the search area and options used can differ greatly from one call to the another, the document never saves the barcodes found in the cache. Each call to ReadBarcodes re-reads all the barcodes from the page image.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
 
using Leadtools.Document; 
using Leadtools.Caching; 
using Leadtools.Annotations.Engine; 
using Leadtools.Ocr; 
using Leadtools.Barcode; 
using Leadtools.Document.Converter; 
 
public void DocumentBarcodesExample() 
{ 
   var options = new LoadDocumentOptions(); 
   // Create a document from the barcode sample image shipping with LEADTOOLS 
   using (var document = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"), options)) 
   { 
      // Setup a barcode reader object 
      var barcodeEngine = new BarcodeEngine(); 
      // Optionally, setup the reader option. Here we instruct the barcode reader to read all types of barcodes 
      barcodeEngine.Reader.ImageType = BarcodeImageType.Unknown; 
      // Set this engine to be used with the document 
      // DocumentBarcodes reference 
      document.Barcodes.BarcodeEngine = barcodeEngine; 
 
      // Read all the barcodes in the first page 
      var page = document.Pages[0]; 
      var barcodes = page.ReadBarcodes(LeadRectD.Empty, 0, null); 
      Console.WriteLine("{0} barcode(s) found.", barcodes.Length); 
      foreach (var barcode in barcodes) 
         Console.WriteLine(" type {0} data {1}", barcode.Symbology, barcode.Value); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URI; 
import java.net.URISyntaxException; 
import java.net.URL; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.List; 
import java.util.concurrent.Callable; 
import java.util.concurrent.ExecutorService; 
import java.util.concurrent.Executors; 
import java.util.concurrent.Future; 
import java.util.regex.Pattern; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.annotations.engine.*; 
import leadtools.barcode.*; 
import leadtools.caching.*; 
import leadtools.codecs.*; 
import leadtools.document.*; 
import leadtools.document.DocumentMimeTypes.UserGetDocumentStatusHandler; 
import leadtools.document.converter.*; 
import leadtools.document.writer.*; 
import leadtools.ocr.*; 
 
 
public void documentBarcodesExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   LoadDocumentOptions options = new LoadDocumentOptions(); 
   // Create a document from the barcode sample image shipping with LEADTOOLS 
   LEADDocument document = DocumentFactory.loadFromFile(combine(LEAD_VARS_IMAGES_DIR, "Barcode1.tif"), options); 
   // Setup a barcode reader object 
   BarcodeEngine barcodeEngine = new BarcodeEngine(); 
   // Optionally, setup the reader option. Here we instruct the barcode reader to 
   // read all types of barcodes 
   barcodeEngine.getReader().setImageType(BarcodeImageType.UNKNOWN); 
   // Set this engine to be used with the document 
   // DocumentBarcodes reference 
   document.getBarcodes().setBarcodeEngine(barcodeEngine); 
 
   // Read all the barcodes in the first page 
   DocumentPage page = document.getPages().get(0); 
   BarcodeData[] barcodes = page.readBarcodes(LeadRectD.getEmpty(), 0, null); 
   System.out.println(barcodes.length + " barcode(s) found."); 
   for (BarcodeData barcode : barcodes) { 
      System.out.printf(" type %s data %s%n", barcode.getSymbology(), barcode.getValue()); 
   } 
   assertTrue(barcodes.length > 0); 
} 
Requirements

Target Platforms

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

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