Sets the engine instance to use when converting documents using OCR.
public void SetOcrEngineInstance(
IOcrEngine instance,
bool autoDispose
)
instance
The OCR engine instance to use when converting documents. If this is not null, then the engine must be initialized and started.
autoDispose
true to transfer ownership of instance to this document converter and automatically dispose it when the DocumentConverter is disposed; otherwise, false to not transfer ownership and not dispose instance when this DocumentConverter is disposed.
The IOcrEngine instance passed to this method will be used when the DocumentConverter uses OCR for the conversion. This DocumentConverter does not create its own IOcrEngine and will throw an error if the user instruct it to use OCR without a previously set instance.
OcrEngineInstance will return the same value passed for instance.
The previously set IOcrEngine is removed and optionally disposed if it was set with autoDispose value of true. If instance is null, the previously set instance is removed and this DocumentConverter will not have an IOcrEngine instance.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Document.Writer;
using Leadtools.Svg;
using LeadtoolsExamples.Common;
using Leadtools.Document;
using Leadtools.Caching;
using Leadtools.Annotations.Engine;
using Leadtools.Ocr;
using Leadtools.Document.Converter;
using Leadtools.Annotations.Rendering;
public void DocumentConverterOptionsExample()
{
using (DocumentConverter documentConverter = new DocumentConverter())
{
//use options to force ocr conversion (disable SVG)
documentConverter.Options.EnableSvgConversion = false;
//abort job at first error (in any page)
documentConverter.Options.JobErrorMode = DocumentConverterJobErrorMode.Abort;
var ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD);
var rasterCodecs = new RasterCodecs();
var documentWriter = new DocumentWriter();
ocrEngine.Startup(rasterCodecs, documentWriter, null, LEAD_VARS.OcrLEADRuntimeDir);
documentConverter.SetOcrEngineInstance(ocrEngine, true);
documentConverter.Diagnostics.EnableTrace = true;
var inFile = Path.Combine(ImagesPath.Path, @"Leadtools.docx");
var outFile = Path.Combine(ImagesPath.Path, @"output.pdf");
var format = DocumentFormat.Pdf;
var jobData = DocumentConverterJobs.CreateJobData(inFile, outFile, format);
jobData.JobName = "conversion job";
var job = documentConverter.Jobs.CreateJob(jobData);
documentConverter.Jobs.RunJob(job);
if (job.Status == DocumentConverterJobStatus.Success)
{
Console.WriteLine("Success");
}
else
{
Console.WriteLine("{0} Errors", job.Status);
foreach (var error in job.Errors)
{
Console.WriteLine(" {0} at {1}: {2}", error.Operation, error.InputDocumentPageNumber, error.Error.Message);
}
}
}
}
static class LEAD_VARS
{
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}