Callback used to retrieve the result from the AutoFormsEngine
for a LEADDocument
instance.
public delegate void AutoFormsParallelRunResultLEADDocumentCallback(
LEADDocument leadDoc,
AutoFormsRunResult result,
int itemIndex,
object userData
)
leadDoc
The document instance that was just processed.
result
The AutoFormsRunResult instance that contains the result.
itemIndex
The index of the processed item.
userData
The custom value obtained from either the on-demand getter method, or from the itemsUserData
list.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Forms.Auto;
using Leadtools.Document;
using Leadtools.Ocr;
using Leadtools.Forms.Recognition;
using Leadtools.Forms.Processing;
using Leadtools.Barcode;
using Leadtools.Forms;
public void ResultCallbackDocument(LEADDocument document, AutoFormsRunResult result, int itemIndex, object label)
{
if (result == null)
{
Console.WriteLine($"ERROR!!!: Failed to process {label}: [{itemIndex}] {document.Name}");
}
else
{
Console.WriteLine($"Successfully processed {label}: [{itemIndex}] {document.Name}");
foreach (FormPage page in result.FormFields)
{
foreach (FormField field in page)
{
Console.WriteLine($"Process for the field {field.Name} is {field.Result.Status} ");
}
}
}
}
public void ProcessFormsMultiProcessListDocuments(AutoFormsEngine autoEngine, List<string> fileNames, List<string> repositoryNames)
{
List<string> labels = fileNames.Select(fn => fn.Split('/', '\\').Last()).ToList();
List<object> labels_AsCustomDataList = labels.Select(label => label as object).ToList();
List<LEADDocument> documents = fileNames.Select(fn => DocumentFactory.LoadFromFile(fn, new LoadDocumentOptions() { })).ToList();
autoEngine.RunParallelPipesForList(
documents,
ResultCallbackDocument,
labels_AsCustomDataList,
repositoryNames,
8
);
}