←Select platform

Job Property

Summary
Gets the job associated with this operation.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public IOcrAutoRecognizeJob Job { get; } 
@property (nonatomic, strong, readonly) LTOcrAutoRecognizeJob *job; 
public OcrAutoRecognizeJob getJob() 
public: 
property IOcrAutoRecognizeJob^ Job { 
   IOcrAutoRecognizeJob^ get(); 
} 

Property Value

The instance of the IOcrAutoRecognizeJob currently being run.

Remarks

You can use this member to get information about the job, for example, the image file name and page numbers to recognize and the output document file name and format through IOcrAutoRecognizeJob.JobData. Note that OcrAutoRecognizeJobData.LastPageNumber will have the true value of the last page number in the image file if a value of -1 (for up to last page) was passed in the original object used to create IOcrAutoRecognizeJob.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Ocr; 
using Leadtools.Document.Writer; 
using Leadtools.Forms.Common; 
using Leadtools.WinForms; 
 
public void JobOperationExample() 
{ 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"); 
   string documentFileName = Path.Combine(LEAD_VARS.ImagesDir, "JobOperation.pdf"); 
 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) 
   { 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      IOcrAutoRecognizeManager autoRecognizeManager = ocrEngine.AutoRecognizeManager; 
      autoRecognizeManager.JobOperation += new EventHandler<OcrAutoRecognizeJobOperationEventArgs>(autoRecognizeManager_JobOperation); 
 
      IOcrAutoRecognizeJob job = autoRecognizeManager.CreateJob(new OcrAutoRecognizeJobData(imageFileName, DocumentFormat.Pdf, documentFileName)); 
      autoRecognizeManager.RunJob(job); 
 
      autoRecognizeManager.JobOperation -= new EventHandler<OcrAutoRecognizeJobOperationEventArgs>(autoRecognizeManager_JobOperation); 
   } 
} 
 
private static void autoRecognizeManager_JobOperation(object sender, OcrAutoRecognizeJobOperationEventArgs e) 
{ 
   // We did not pass a zone to the job, so the engine will attempt to do AutoZone unless we 
   // add any zone to the input document. 
   // We can also check for e.PostOperation equals to true and manipulate the zones 
   // found the engine at this point 
 
   // Add a graphics zone. 
   // If you comment out this code, the result PDF will contain text, but since we will be adding a zone here, 
   // the engine will not auto-zone the document for us. Also, since the zone we are adding is 
   // graphics that takes up the whole page, the result PDF will contain a raster image and no text. 
   if (!e.PostOperation && e.ImagePageNumber == 1) 
   { 
      OcrZone ocrZone = new OcrZone(); 
      ocrZone.ZoneType = OcrZoneType.Graphic; 
      ocrZone.Bounds = new LeadRect(0, 0, e.Page.Width, e.Page.Height); 
      e.Page.Zones.Add(ocrZone); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 
 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileWriter; 
import java.io.FilenameFilter; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 
import java.util.ArrayList; 
import java.util.concurrent.ExecutorService; 
import java.util.concurrent.Executors; 
import java.util.concurrent.atomic.AtomicInteger; 
 
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.document.writer.*; 
import leadtools.internal.AutoResetEvent; 
import leadtools.ocr.*; 
 
 
public void OcrAutoRecognizeManagerJobOperationExample() { 
   String LEAD_VARS_ImagesDir = "C:\\LEADTOOLS23\\Resources\\Images"; 
   String LEAD_VARS_OcrLEADRuntimeDir = "C:\\LEADTOOLS23\\Bin\\Common\\OcrLEADRuntime"; 
   String imageFileName = combine(LEAD_VARS_ImagesDir, "Ocr1.tif"); 
   String documentFileName = combine(LEAD_VARS_ImagesDir, "JobOperation.pdf"); 
 
   OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.LEAD); 
   ocrEngine.startup(null, null, null, LEAD_VARS_OcrLEADRuntimeDir); 
 
   OcrAutoRecognizeManager autoRecognizeManager = ocrEngine.getAutoRecognizeManager(); 
   autoRecognizeManager.addJobOperationListener(autoRecognizeManager_JobOperation); 
 
   OcrAutoRecognizeJob job = autoRecognizeManager 
         .createJob(new OcrAutoRecognizeJobData(imageFileName, DocumentFormat.PDF, documentFileName)); 
   autoRecognizeManager.runJob(job); 
 
   autoRecognizeManager.removeJobOperationListener(autoRecognizeManager_JobOperation); 
   ocrEngine.dispose(); 
} 
 
OcrAutoRecognizeJobOperationListener autoRecognizeManager_JobOperation=new OcrAutoRecognizeJobOperationListener(){ 
 
   @Override public void onOperation(OcrAutoRecognizeJobOperationEvent e){ 
      // We did not pass a zone to the job, so the engine will attempt to do AutoZone 
      // unless we 
      // add any zone to the input document. 
      // We can also check for e.PostOperation equals to true and manipulate the zones 
      // found the engine at this point 
 
      // Add a graphics zone. 
      // If you comment out this code, the result PDF will contain text, but since we 
      // will be adding a zone here, 
      // the engine will not auto-zone the document for us. Also, since the zone we 
      // are adding is 
      // graphics that takes up the whole page, the result PDF will contain a raster 
      // image and no text. 
      if (!e.isPostOperation()&&e.getImagePageNumber()==1) { 
         OcrZone ocrZone=new OcrZone(); 
         ocrZone.setZoneType(OcrZoneType.GRAPHIC); 
         ocrZone.setBounds(new LeadRect(0,0,e.getPage().getWidth(),e.getPage().getHeight()));e.getPage().getZones().add(ocrZone); 
      } 
   } 
 
}; 
Requirements

Target Platforms

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

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