Asynchronous method which runs a list of features on a LEADDocument, returning the results of processing. This API can be run for specific pages.
public Task<List<ElementSetResult>> Run(List<IFeature> features,LEADDocument document,int from,int to,CancellationToken token)
features
List of features to run on the document.
document
The document on which the features will be run.
from
Page from which to start, 1-based.
to
Page to end at, 1-based.
token
A CancellationToken enables cooperative cancellation between threads or Task objects. You create a cancellation token by instantiating a CancellationTokenSource object, which manages cancellation tokens retrieved from its CancellationTokenSource.
Results of processing the document.
This example runs a ruleset on a document and reads the results.
using Leadtools;using Leadtools.Document.Unstructured;using Leadtools.Document.Analytics;using Leadtools.Document.Unstructured.Highlevel;using Leadtools.Ocr;using Leadtools.Document;async Task RunRuleSet(string ruleSetFileName, string documentFileName, IOcrEngine ocrEngine){var json = LoadJson(ruleSetFileName);var features = FeatureResourceBuilder.BuildFromArray(json);var doc = LoadDocument(documentFileName);doc.Text.OcrEngine = ocrEngine;doc.Text.ImagesRecognitionMode = DocumentTextImagesRecognitionMode.Auto;doc.Text.TextExtractionMode = DocumentTextExtractionMode.Auto;var results = await new FeaturesProcessingEngine().Run(features.ToList(), doc, 1, 1, CancellationToken.None);foreach (var result in results){var items = result?.Items;foreach (var item in items){var name = item?.ElementName;var val = item?.Value;}}string LoadJson(string pathName){var txt = File.ReadAllText(pathName);var obj = JObject.Parse(txt);var meta = obj["meta"];if (null == meta){throw new Exception("Couldn't find the meta info in the ruleset file, make sure this file was saved using this demo.");}return meta.ToString();}LEADDocument LoadDocument(string pathName){var options = new LoadDocumentOptions(){FirstPageNumber = 1,LastPageNumber = -1,TimeoutMilliseconds = 0,MaximumImagePixelSize = 12288};return DocumentFactory.LoadFromFile(pathName, options);}}