Run Method
Summary
Applies the action logic to the document, given the results of the document analysis.
Syntax
Parameters
document
Document to be edited.
results
Results of the document analysis.
Example
This example shows how to define and run a custom action.
using Leadtools;
using Leadtools.Document.Analytics;
using Leadtools.Document;
using Leadtools.Document.Unstructured;
public class RedactAction : ActionElement
{
public RedactAction()
{
Id = "REDACT_DOCUMENT";
}
public override void Run(LEADDocument document, IList<ElementSetResult> results)
{
//process(document, results.Items);
//save(document);
}
}
public void Sample()
{
var leadDoc = DocumentFactory.LoadFromFile(@"c:\test.docx", new LoadDocumentOptions());
var analyzer = new DocumentAnalyzer();
var elem = new UnstructuredElementSet() { Name = "Test", Element = CreateElement() };
var actions = new ActionElementSet();
actions.ActionElements.Add(new RedactAction());
var runOptions = new DocumentAnalyzerRunOptions()
{
Actions = actions,
};
runOptions.Elements.Add(elem);
analyzer.Run(leadDoc, runOptions);
}
private static GroupElement CreateElement()
{
GroupElement mainGroup = new GroupElement();
mainGroup.Id = "ALL";
mainGroup.Settings.SetValue(SettingsManager.Name, "all");
mainGroup.Settings.SetValue(SettingsManager.ReportInElementResult, "true");
mainGroup.Settings.SetValue(SettingsManager.Description, "Rules");
mainGroup.Settings.SetValue(SettingsManager.Language, "en");
return mainGroup;
}
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import leadtools.document.*;
import leadtools.document.analytics.*;
import leadtools.document.unstructured.*;
public class RedactAction extends ActionElement {
private String Id;
public RedactAction() {
Id = "REDACT_DOCUMENT";
}
@Override
public void run(LEADDocument document, List<ElementSetResult> results) {
System.out.println("Process hit");
assertTrue(document != null);
// process(document, results.Items);
// save(document);
}
}
public void sample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
LEADDocument leadDoc = DocumentFactory.loadFromFile(combine(LEAD_VARS_IMAGES_DIR, "LEADTOOLSEditor.docx"),
new LoadDocumentOptions());
DocumentAnalyzer analyzer = new DocumentAnalyzer();
UnstructuredElementSet elem = new UnstructuredElementSet();
elem.setName("Test");
elem.setElement(createElement());
ActionElementSet actions = new ActionElementSet();
actions.getActionElements().add(new RedactAction());
DocumentAnalyzerRunOptions runOptions = new DocumentAnalyzerRunOptions();
runOptions.setActions(actions);
runOptions.getElements().add(elem);
analyzer.run(leadDoc, runOptions);
}
private static GroupElement createElement() {
GroupElement mainGroup = new GroupElement();
mainGroup.setId("ALL");
mainGroup.getSettings().setValue(SettingsManager.NAME, "all");
mainGroup.getSettings().setValue(SettingsManager.REPORT_IN_ELEMENT_RESULT, "true");
mainGroup.getSettings().setValue(SettingsManager.DESCRIPTION, "Rules");
mainGroup.getSettings().setValue(SettingsManager.LANGUAGE, "en");
return mainGroup;
}