Callback used to retrieve the result from the AutoFormsEngine
for a file.
public delegate void AutoFormsParallelRunResultFileNameCallback(
string fileName,
AutoFormsRunResult result,
int itemIndex,
object userData
)
fileName
The file path 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 ResultCallback(string fileName, AutoFormsRunResult result, int itemIndex, object label)
{
if (result == null)
{
Console.WriteLine($"ERROR!!!: Failed to process {label}: [{itemIndex}] {fileName}");
}
else
{
Console.WriteLine($"Successfully processed {label}: [{itemIndex}] {fileName}");
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 ProcessFormsMultiProcessList(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();
autoEngine.RunParallelPipesForList(
fileNames,
ResultCallback,
labels_AsCustomDataList,
repositoryNames,
8
);
}