public IOcrAutoRecognizeJob Job { get; }
@property (nonatomic, strong, readonly) LTOcrAutoRecognizeJob *job;
public OcrAutoRecognizeJob getJob()
public:
property IOcrAutoRecognizeJob^ Job {
IOcrAutoRecognizeJob^ get();
}
Job # get (OcrAutoRecognizeJobOperationEventArgs)
The instance of the IOcrAutoRecognizeJob currently being run.
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.
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);
}
}
};
OcrAutoRecognizeJobOperationEventArgs Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document