# ABBYY FlexiCapture: Scripting Reference > Script types, script objects, and the scripting object model reference for FlexiCapture. > For the full ABBYY documentation index, see: https://docs.abbyy.com/llms.txt ## Scripting reference - [Using scripts in ABBYY FlexiCapture](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripts.md): Use scripts to customize processing stages and station interfaces in ABBYY FlexiCapture: supported languages, custom functions, timeouts, object model. - [Specifics of scripts written in .Net languages](https://docs.abbyy.com/flexi-capture/appendix/scripts/dot-net.md): .NET scripting specifics in ABBYY FlexiCapture: Framework versions, COM-object behavior, debugging, namespaces, and calling global module functions. - [External assemblies](https://docs.abbyy.com/flexi-capture/appendix/scripts/user-assembly.md): Use external .NET assemblies in ABBYY FlexiCapture scripts: add them in project, batch type, or Document Definition properties and debug with .pdb files. - [Object model](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripting-model.md): Object model basics for ABBYY FlexiCapture scripts: collection methods, recurring fields and table rows, and how to compose paths to document fields. ## Scripts for customizing processing stages - [Scripts for customizing processing stages](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripts-main-appendix-scripts.md): Customize ABBYY FlexiCapture processing stages with scripts: links to script types, scripting objects, and samples for rules, export, and event handlers. - [Internal names of recognition languages](https://docs.abbyy.com/flexi-capture/appendix/scripts/internal-lang.md): Reference table mapping recognition languages to the internal names used in the RecognitionLanguages property of IExportImageSavingOptions in FlexiCapture. - [Types of scripts](https://docs.abbyy.com/flexi-capture/appendix/scripts/types.md): Catalog of script types in ABBYY FlexiCapture: script rules, autocorrection, export, recognition, assembly, classification, and event handler scripts. - [Script rule](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-rules.md): Create script rules in ABBYY FlexiCapture to run custom validation and normalization algorithms, with IRuleContext access to cached data sets. - [Autocorrection script](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-conversion.md): Autocorrection scripts in ABBYY FlexiCapture convert field values and run context-independent format checks, set on the Data tab of field properties. - [Export script](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-export.md): Customize export in ABBYY FlexiCapture with an export script: Document and Processing parameters, the global export module, and external assemblies. - [User script (custom action)](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-custom.md): User scripts (custom actions) in ABBYY FlexiCapture run when an operator triggers them on a field during verification or in the document editor. - [Document assembly script](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-assembly.md): Document assembly scripts in ABBYY FlexiCapture decide whether documents can merge into one, generating assembly errors via IAssemblingErrors and IBatchItems. - [Custom recognition script](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-recognition.md): Define a custom recognition algorithm for fields with regions in ABBYY FlexiCapture, returning IValue results and marking suspicious characters. - [Stage rule](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-routing.md): Stage rules in ABBYY FlexiCapture decide whether a document can be routed to a workflow stage, returning results through the IRoutingRuleResult object. - [Processing scripts](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripts-handling.md): Document and batch processing scripts in ABBYY FlexiCapture change document or batch structure, reorder sections or documents, and log processing progress. - [Data set update script](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-update.md): Add records to a data set in ABBYY FlexiCapture with a data set update script, configured by selecting Script as the source in the data set properties. - [Data set validation scripts](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-validation.md): Data set validation scripts check every record in an ABBYY FlexiCapture data set, using IDataSetRecord and IRecordCheckResult to report check results. - [Document classification script](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-classification.md): Set up a document classification script in ABBYY FlexiCapture to combine classifiers, cascade classification, and confidence-based class assignment. - [Event handlers](https://docs.abbyy.com/flexi-capture/appendix/scripts/events.md): Event handler scripts in ABBYY FlexiCapture respond to batch, document, and field events, set up in batch type, project, or Document Definition properties. - [Batch created](https://docs.abbyy.com/flexi-capture/appendix/scripts/batch-creation.md): Batch created event handler in ABBYY FlexiCapture runs when a batch is added to a project, giving scripts read-only access to the new batch via IBatch. - [Batch deleted](https://docs.abbyy.com/flexi-capture/appendix/scripts/batch-removal.md): Handle the Batch deleted event in ABBYY FlexiCapture scripts: the handler runs before a batch is deleted so you can clear related data. - [Batch parameter change](https://docs.abbyy.com/flexi-capture/appendix/scripts/batch-modify.md): Reference for the Batch parameter change event script in ABBYY FlexiCapture, launched before a batch property such as name, type, or priority changes. - [Batch structure change (page added/page deleted/document added/document deleted)](https://docs.abbyy.com/flexi-capture/appendix/scripts/batchcontents-modify.md): React to batch structure changes in FlexiCapture scripts when pages or documents are added or deleted, for example to count incoming pages. - [Pages moved](https://docs.abbyy.com/flexi-capture/appendix/scripts/moving-pages.md): Use the Pages moved event script in ABBYY FlexiCapture to act on pages transferred between documents, such as saving merged registration parameters. - [Batch opened/closed](https://docs.abbyy.com/flexi-capture/appendix/scripts/batch-opening.md): Script reference for the Batch opened/closed event in ABBYY FlexiCapture, which runs when a batch is opened or just before it is closed. - [Batch integrity check](https://docs.abbyy.com/flexi-capture/appendix/scripts/batch-integrity.md): Verify batch structure with the FlexiCapture batch integrity check script, launched before export or by user command to flag missing documents. - [Document parameter changed](https://docs.abbyy.com/flexi-capture/appendix/scripts/documentparam-change.md): Format document properties with the Document parameter changed event, fired before a comment, registration parameter, ExternalID, or priority changes. - [Document state changed](https://docs.abbyy.com/flexi-capture/appendix/scripts/documentstate-change.md): Track changes in document state flags such as Recognized, Verified, and Exported with the Document state changed event in FlexiCapture scripts. - [Export completed](https://docs.abbyy.com/flexi-capture/appendix/scripts/script-afterexport.md): Inspect export results with the Export completed event script, which runs after each FlexiCapture export task whether the export succeeded or failed. - [Check Rules](https://docs.abbyy.com/flexi-capture/appendix/scripts/after-check-rules.md): Run custom logic after rule checks with the Check Rules event script in ABBYY FlexiCapture, which receives the checked document as a parameter. - [Before matching](https://docs.abbyy.com/flexi-capture/appendix/scripts/before-matching.md): Control which sections and Document Definitions are matched on each page with the Before matching script, speeding up matching and skipping recognition. - [Field verification request](https://docs.abbyy.com/flexi-capture/appendix/scripts/field-verification-appendix-scripts.md): Decide which fields skip context verification with the Field verification request script, run for every field before it is submitted for checking. - [Objects](https://docs.abbyy.com/flexi-capture/appendix/scripts/objects.md): Index of objects available in ABBYY FlexiCapture scripts, from IBatch and IDocument to enumerations like TStateType, with their properties and methods. - [IActionResult](https://docs.abbyy.com/flexi-capture/appendix/scripts/iactionresult.md): IActionResult reports whether export or a post-export event succeeded for a document, exposing the Applied, Succeeded, and ErrorMessage properties. - [IAssemblingError](https://docs.abbyy.com/flexi-capture/appendix/scripts/iassemblingerror.md): IAssemblingError represents a single document assembly error in FlexiCapture scripts, with Description, Position, SectionName, Type, and Weight properties. - [IAssemblingErrors](https://docs.abbyy.com/flexi-capture/appendix/scripts/iassemblingerrors.md): Add custom, redundant-page, or omitted-section errors to the IAssemblingErrors collection, modifiable only in the FlexiCapture document assembly script. - [IBatch](https://docs.abbyy.com/flexi-capture/appendix/scripts/ibatch.md): IBatch represents a batch in FlexiCapture scripts: move and delete documents and pages, create pages from images, and read batch properties and SLA data. - [IBatchCheckResults](https://docs.abbyy.com/flexi-capture/appendix/scripts/ibatchcheckresults.md): IBatchCheckResults provides the context of the batch integrity check event, letting scripts read the batch and set CheckSucceeded and ErrorMessage. - [IBatchItem](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-batch-item.md): IBatchItem wraps a batch, document, or page as a generic element in FlexiCapture scripts, with AsBatch, AsDocument, AsPage, and ChildItems accessors. - [IBatchItems](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-batch-items.md): IBatchItems is a collection of IBatchItem elements with a Move method for reordering documents and pages, including a sample set-assembly script. - [IBatchTypeClassifier](https://docs.abbyy.com/flexi-capture/appendix/scripts/ibatchtypeclassifier.md): IBatchTypeClassifier classifies a page with the classifier associated with the batch type; its ClassifyPage method returns an IBatchTypeClassifierResult. - [IBatchTypeClassifierResult](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-batch-type-classifier-result.md): IBatchTypeClassifierResult returns the outcome of batch type page classification, including the ClassName assigned to a page and class confidences. - [IBinarizationParams](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-binarization-params.md): IBinarizationParams configures image binarization in FlexiCapture scripts with the IsPdfWithText, IsPhoto, and SmoothTexture read/write properties. - [IBoxedBoolean](https://docs.abbyy.com/flexi-capture/appendix/scripts/iboxedboolean.md): IBoxedBoolean passes in-out boolean values to FlexiCapture scripts through its read/write Value property, as in the field verification request event. - [ICharacterParams](https://docs.abbyy.com/flexi-capture/appendix/scripts/icharacterparams.md): ICharacterParams stores recognized character properties such as Symbol, Confidence, IsSuspicious, and NeedVerification in FlexiCapture recognition scripts. - [ICharactersParams](https://docs.abbyy.com/flexi-capture/appendix/scripts/icharactersparams.md): ICharactersParams collection in the ABBYY FlexiCapture scripting model: Add and Delete methods insert or remove recognized characters in a field. - [ICheckmarkGroupValue](https://docs.abbyy.com/flexi-capture/appendix/scripts/icheckmarkgroupvalue.md): ICheckmarkGroupValue object in FlexiCapture scripts: a collection of ICheckmarkValue items representing the checkmarks in a checkmark group field. - [ICheckmarkValue](https://docs.abbyy.com/flexi-capture/appendix/scripts/icheckmarkvalue.md): ICheckmarkValue object in the FlexiCapture scripting model: read a checkmark's name, rectangle, boolean value, and IsSuspicious recognition flag. - [IDataSet](https://docs.abbyy.com/flexi-capture/appendix/scripts/idataset.md): IDataSet object in FlexiCapture scripts: create, query, modify, and delete data set records with methods like AddRecord, GetRecords, and ModifyRecord. - [IDataSetQuery](https://docs.abbyy.com/flexi-capture/appendix/scripts/idatasetquery.md): IDataSetQuery object in the FlexiCapture scripting model: build data set queries by adding column-and-value conditions with the AddValue method. - [IDataSetRecord](https://docs.abbyy.com/flexi-capture/appendix/scripts/idatasetrecord.md): IDataSetRecord object in FlexiCapture scripts: read and populate data set record columns with AddValue, GetColumnName, GetValue, and ColumnCount. - [IDocument](https://docs.abbyy.com/flexi-capture/appendix/scripts/idocument.md): IDocument object reference for ABBYY FlexiCapture scripts: access document fields, pages, rules, export results, properties, and processing state. - [IDocuments](https://docs.abbyy.com/flexi-capture/appendix/scripts/idocuments.md): IDocuments collection in the FlexiCapture scripting object model: a set of IDocument objects that scripts can iterate to process each document in turn. - [IDocumentExportResults](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-document-export-results.md): IDocumentExportResults object in FlexiCapture scripts: a collection of IActionResult items reporting whether a document's export to each target succeeded. - [IDocumentsExportResults](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-documents-export-results.md): IDocumentsExportResults collection in FlexiCapture scripts: gathers IDocumentExportResults objects describing export outcomes for a set of documents. - [IDocumentDefinitionInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/idocinfo.md): IDocumentDefinitionInfo object in FlexiCapture scripts: exposes the name, version, and section array of the Document Definition matched to a document. - [IDocumentDefinitionInfoArray](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-doc-info-array.md): IDocumentDefinitionInfoArray in the FlexiCapture scripting model: a collection of IDocumentDefinitionInfo objects with Document Definition details. - [IEditablePictureObject](https://docs.abbyy.com/flexi-capture/appendix/scripts/ieditablepictureobject.md): IEditablePictureObject in ABBYY FlexiCapture scripts: edit page images with crop, deskew, despeckle, binarize, contrast filter, and stamp removal methods. - [IExportFieldsToRedact](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-export-fields-to-redact.md): IExportFieldsToRedact object in FlexiCapture export scripts: builds the list of document fields to redact in exported images via Add, Clean, and PlainList. - [IExportImageSavingOptions](https://docs.abbyy.com/flexi-capture/appendix/scripts/iexportimagesavingoptions.md): IExportImageSavingOptions object in FlexiCapture scripts: set image export format, color scheme, compression, resolution, redaction, and PDF/A options. - [IExportImageSavingOptionsEx](https://docs.abbyy.com/flexi-capture/appendix/scripts/iexportimagesavingoptionsex.md): IExportImageSavingOptionsEx object in FlexiCapture scripts: the ShouldUseOriginalPdf flag keeps original PDF pages unchanged during image export. - [IField](https://docs.abbyy.com/flexi-capture/appendix/scripts/ifield.md): IField object reference for ABBYY FlexiCapture scripts: read and write field values, regions, symbols, verification flags, and table rows and cells. - [IFieldRegion](https://docs.abbyy.com/flexi-capture/appendix/scripts/ifieldregion.md): IFieldRegion object in FlexiCapture scripts: a single region of a document field with its page, rectangles, surrounding rect, and a Delete method. - [IFieldRegions](https://docs.abbyy.com/flexi-capture/appendix/scripts/ifieldregions.md): IFieldRegions collection in the FlexiCapture scripting model: holds the IFieldRegion objects of a field, one per region an overflowing field spans. - [IFields](https://docs.abbyy.com/flexi-capture/appendix/scripts/ifields.md): IFields collection in FlexiCapture scripts: manages IField objects and adds or deletes instances of recurring fields and table rows with AddNew and Delete. - [IFlexiCaptureTools](https://docs.abbyy.com/flexi-capture/appendix/scripts/iexportimagetools.md): IFlexiCaptureTools (FCTools) global object in FlexiCapture scripts: classify pages, load images, show messages, and create image saving options. - [ILocalContrastParams](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-local-contrast-params.md): ILocalContrastParams object in FlexiCapture scripts: tune brightness, contrast, noise level, and radius for the local contrast filter on page images. - [IMatchedSectionInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/isectioninfo.md): IMatchedSectionInfo object in FlexiCapture scripts: details of the Document Definition section matched on a page, including flexible section data. - [IMatchingInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/imatchinginfo.md): IMatchingInfo object in FlexiCapture scripts: control Document Definition matching on a page with DefinitionsList, ForceMatch, and NeedRecognition. - [IPage](https://docs.abbyy.com/flexi-capture/appendix/scripts/ipage.md): IPage object reference for ABBYY FlexiCapture scripts: work with page images, classification results, recognized text, and image enhancement profiles. - [IClassConfidence](https://docs.abbyy.com/flexi-capture/appendix/scripts/iclassconfidence.md): Reference for the IClassConfidence object in the ABBYY FlexiCapture script object model, exposing the class Name and Confidence for a classification variant. - [IClassConfidences](https://docs.abbyy.com/flexi-capture/appendix/scripts/iclassconfidences.md): Reference for the IClassConfidences collection in the ABBYY FlexiCapture script object model, which holds the set of IClassConfidence variant objects. - [IClassificationResult](https://docs.abbyy.com/flexi-capture/appendix/scripts/iclassificationresult.md): Reference for the IClassificationResult object in the ABBYY FlexiCapture script object model, holding the assigned ClassName, confidence flag, and candidates. - [IClassifier](https://docs.abbyy.com/flexi-capture/appendix/scripts/iclassifier.md): Reference for the IClassifier object in the ABBYY FlexiCapture script object model, whose ClassifyPage method classifies a page into an IClassificationResult. - [IClassifiers](https://docs.abbyy.com/flexi-capture/appendix/scripts/iclassifiers.md): Reference for the IClassifiers collection in the ABBYY FlexiCapture script object model, with methods to check for and retrieve an IClassifier by alias name. - [IPageClassificationResult](https://docs.abbyy.com/flexi-capture/appendix/scripts/iclassresult.md): IPageClassificationResult stores page classification results in FlexiCapture scripts, exposing matched sections and page type for use in matching scripts. - [IPages](https://docs.abbyy.com/flexi-capture/appendix/scripts/ipages.md): IPages is a collection of IPage objects in the ABBYY FlexiCapture script object model, letting scripts iterate over the pages of a document or batch. - [IPictureObject](https://docs.abbyy.com/flexi-capture/appendix/scripts/ipictureobject.md): IPictureObject represents a page or region image in FlexiCapture scripts, with methods to analyze objects, check OCR suitability, and detect orientation. - [IPictureObjectsInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-picture-objects-info.md): IPictureObjectsInfo holds page object detection results in FlexiCapture scripts: barcode count, blackness percentage, black squares, and text object count. - [IPrincipal](https://docs.abbyy.com/flexi-capture/appendix/scripts/iprincipal.md): IPrincipal represents a user or user group in ABBYY FlexiCapture scripts, exposing the unique identifier, name, and principal type used in routing. - [IPrincipals](https://docs.abbyy.com/flexi-capture/appendix/scripts/iprincipals.md): IPrincipals is a collection of IPrincipal objects that gives FlexiCapture scripts access to the users and user groups defined in a project. - [IProcessingCallback](https://docs.abbyy.com/flexi-capture/appendix/scripts/iprocessingcallback.md): IProcessingCallback reports processing progress from FlexiCapture scripts, logging error, warning, and information messages and flagging task cancellation. - [IProject](https://docs.abbyy.com/flexi-capture/appendix/scripts/iproject.md): IProject represents the current project in FlexiCapture scripts, exposing Document Definitions, environment variables, export paths, users, and groups. - [IProperties](https://docs.abbyy.com/flexi-capture/appendix/scripts/iproperties.md): IProperties manages named properties of documents and batches in FlexiCapture scripts, with methods to get, set, check, and delete property values by name. - [IProperty](https://docs.abbyy.com/flexi-capture/appendix/scripts/iproperty.md): IProperty represents a named property of a document or batch in ABBYY FlexiCapture scripts, providing read-only access to the property name and value. - [IPropertyModificationInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/ipropertymodificationinfo.md): IPropertyModificationInfo tracks changes to document and batch properties in FlexiCapture scripts, exposing the property type and a correctable new value. - [IRecordCheckResult](https://docs.abbyy.com/flexi-capture/appendix/scripts/irecordcheckresult.md): IRecordCheckResult returns the outcome of a data set record check in FlexiCapture scripts, with CheckSucceeded and ErrorMessage to flag invalid records. - [IRecordset](https://docs.abbyy.com/flexi-capture/appendix/scripts/irecordset.md): IRecordset holds the records found by a data set search in FlexiCapture scripts, returning each IDataSetRecord by index and reporting the record count. - [IRect](https://docs.abbyy.com/flexi-capture/appendix/scripts/irect.md): IRect represents a rectangle in ABBYY FlexiCapture scripts, exposing left, top, right, and bottom pixel coordinates plus a ToString method. - [IRects](https://docs.abbyy.com/flexi-capture/appendix/scripts/irects.md): IRects is a collection of IRect rectangles in FlexiCapture scripts, with an AddRect method for appending rectangles by pixel coordinates. - [IRoutingRuleResult](https://docs.abbyy.com/flexi-capture/appendix/scripts/iroutingruleresult.md): IRoutingRuleResult carries the outcome of a FlexiCapture routing script, setting the assigned principal, priority, document comment, and prohibited user. - [IRuleContext](https://docs.abbyy.com/flexi-capture/appendix/scripts/irulecontext.md): IRuleContext is the context object for FlexiCapture rule scripts, giving access to the document, rule fields, cached data sets, and check results. - [IRuleError](https://docs.abbyy.com/flexi-capture/appendix/scripts/iruleerror.md): IRuleError describes a rule, format, or merging error in a FlexiCapture document, exposing the message text, rule name, error type, and associated fields. - [IRuleErrors](https://docs.abbyy.com/flexi-capture/appendix/scripts/iruleerrors.md): IRuleErrors is a collection of IRuleError objects that lets ABBYY FlexiCapture scripts enumerate the rule, format, and merging errors found in a document. - [IRuleTag](https://docs.abbyy.com/flexi-capture/appendix/scripts/iruletag.md): IRuleTag represents a single tag attached to a rule in ABBYY FlexiCapture scripts, with a read-only Value property that returns the tag's text value. - [IRuleTags](https://docs.abbyy.com/flexi-capture/appendix/scripts/iruletags.md): IRuleTags is a collection of IRuleTag objects in FlexiCapture scripts, with a HasTagWithValue method to test whether a rule has a tag with a given value. - [IScriptBinaryAttributes](https://docs.abbyy.com/flexi-capture/appendix/scripts/iscriptbinaryattributes.md): IScriptBinaryAttributes represents a set of boolean flags in FlexiCapture scripts, with a Has method that checks whether a given TStateType flag is set. - [IScriptDefinitionContext](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-script-definition-context.md): IScriptDefinitionContext gives FlexiCapture scripts access to the current project and a LoadFile method for loading files attached to the scripted object. - [ISectionDefinitionInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-sec-def-info.md): ISectionDefinitionInfo describes a section of a Document Definition in FlexiCapture scripts, reporting the section name and whether it is flexible. - [ISectionDefinitionInfoArray](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-sec-def-info-array.md): ISectionDefinitionInfoArray is a collection of ISectionDefinitionInfo objects describing the sections of a Document Definition in FlexiCapture scripts. - [IShadowsHighlightsParams](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-shadows-highlights-params.md): Adjust shadow and highlight correction in FlexiCapture image scripts with IShadowsHighlightsParams: radius, strength, and tonal width properties. - [IStageInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/istageinfo.md): IStageInfo gives FlexiCapture scripts read-only details about a document's processing stage: stage ID and name, task ID, and the assigned principal. - [IUserAttachment](https://docs.abbyy.com/flexi-capture/appendix/scripts/iattachment.md): Work with user attachment contents in ABBYY FlexiCapture scripts via IUserAttachment: load from file, resize, edit bytes, and save changes back. - [IUserAttachments](https://docs.abbyy.com/flexi-capture/appendix/scripts/iattachments.md): Manage document attachment files in FlexiCapture scripts with the IUserAttachments collection: add, get, delete, and check attachments by name. - [IUserSessionInfo](https://docs.abbyy.com/flexi-capture/appendix/scripts/i-user-session-info.md): IUserSessionInfo returns session details for the current Processing Station user in FlexiCapture scripts: principal ID, role ID, session ID, and user name. - [IValue](https://docs.abbyy.com/flexi-capture/appendix/scripts/ivalue.md): Access a field value in ABBYY FlexiCapture scripts through IValue: its text representation, formatting error message, and per-symbol details. - [IVARIANTArray](https://docs.abbyy.com/flexi-capture/appendix/scripts/ivariant.md): IVARIANTArray represents a collection of Variant-type items in the ABBYY FlexiCapture scripting object model, returned by various object properties. - [TAssemlingErrorType](https://docs.abbyy.com/flexi-capture/appendix/scripts/tassemlingerrortype.md): TAssemlingErrorType values describe assembly errors in FlexiCapture scripts: missing sections, extra pages, key field mismatches, and custom rule errors. - [TBatchItemType](https://docs.abbyy.com/flexi-capture/appendix/scripts/tbatchitemtype.md): Identify a FlexiCapture batch item as a page, document, or batch with the TBatchItemType enumeration, an int type describing IBatchItem elements. - [TColorToFilter](https://docs.abbyy.com/flexi-capture/t-color-to-filter.md): Choose which stamp color to remove – red, green, blue, or yellow – with TColorToFilter, used by the RemoveStamps method of IEditablePictureObject. - [TExportFieldType](https://docs.abbyy.com/flexi-capture/appendix/scripts/texportfieldtype.md): TExportFieldType lists the document field types in FlexiCapture export scripts, from text, date, and number fields to tables, sections, and link fields. - [TExportType](https://docs.abbyy.com/flexi-capture/appendix/scripts/texporttype.md): Determine the export target type in ABBYY FlexiCapture scripts with TExportType: file, database, script, SharePoint, or an unknown exporter. - [TImageCompressionType](https://docs.abbyy.com/flexi-capture/t-image-compression-type.md): Set the compression method for images exported from ABBYY FlexiCapture with TImageCompressionType: JPEG, LZW, PNG, ZIP, PackBits, or CCITT Group 4. - [TPageClassificationType](https://docs.abbyy.com/flexi-capture/appendix/scripts/tpageclassification.md): TPageClassificationType reports the page type detected by the FlexiCapture Classifier, from fixed forms to flexible multipage section headers. - [TPdfAVersion](https://docs.abbyy.com/flexi-capture/t-pdf-a-version.md): Select the PDF/A version for image export in ABBYY FlexiCapture with the TPdfAVersion enumeration, covering PDF/A-1a through PDF/A-3u variants. - [TPdfDocumentInfoType](https://docs.abbyy.com/flexi-capture/t-pdf-document-info-type.md): TPdfDocumentInfoType defines the PDF metadata fields – author, title, subject, and keywords – available in FlexiCapture image export options. - [TPdfTextSearchAreaType](https://docs.abbyy.com/flexi-capture/t-pdf-text-search-area-type.md): Control where searchable PDF text layers are created during FlexiCapture export with TPdfTextSearchAreaType: annexes only, form pages only, or all pages. - [TPrincipalType](https://docs.abbyy.com/flexi-capture/appendix/scripts/tprincipaltype.md): TPrincipalType tells ABBYY FlexiCapture scripts whether a principal account in the current environment is a regular user or a user group. - [TProcessingPriority](https://docs.abbyy.com/flexi-capture/appendix/scripts/tprocessingpriority-appendix-scripts.md): Manage document and batch processing priority in FlexiCapture scripts with TProcessingPriority, six levels from lowest to extra-high passed as strings. - [TPropertyType](https://docs.abbyy.com/flexi-capture/appendix/scripts/tpropertytype.md): TPropertyType identifies the changed document or batch property in FlexiCapture scripts: name, comment, batch type, named properties, ID, or SLA deadline. - [TRuleErrorType](https://docs.abbyy.com/flexi-capture/appendix/scripts/truleerrortype.md): TRuleErrorType classifies errors in the FlexiCapture IRuleError interface as rule errors, format errors, or document version merge errors. - [TStateType](https://docs.abbyy.com/flexi-capture/appendix/scripts/tstatetype.md): Track FlexiCapture document states with TStateType: preprocessed, recognized, assembled, verified, exported, and layout flags in state change events. - [Sample scripts](https://docs.abbyy.com/flexi-capture/appendix/scripts/samples-appendix-scripts.md): Browse sample JScript and VBScript code for ABBYY FlexiCapture: links to script examples for custom rules, export, document assembly, and other tasks. - [Sample scripts for creating custom rules](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripting-rules-ex.md): Sample VBScript, JScript, and C# code for custom FlexiCapture rules: table data checks, value list searches, checkmark groups, and address parsing. - [Sample scripts describing export](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripting-export-ex.md): Example export scripts for ABBYY FlexiCapture: read field values during export, save page images, export tables, and write export result handlers. - [Sample assembly scripts](https://docs.abbyy.com/flexi-capture/assembling-scripts.md): Sample assembly scripts for ABBYY FlexiCapture document sets: one adds required documents based on a loan sum, another checks for missing documents. - [Other sample scripts](https://docs.abbyy.com/flexi-capture/appendix/scripts/scripting-other-ex.md): VBScript and JScript samples that turn the Pages moved event into a Document merge event and merge document registration parameters when documents merge. ## Scripts for processing interface events - [Scripts for processing interface events](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/scripts-main.md): Use scripts to handle interface events in ABBYY FlexiCapture stations: customize the UI, change station behavior, and implement custom user commands. - [Event handlers](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/events-appendix-scripts-shell.md): Index of program shell events that FlexiCapture scripts can handle, from On Activate Document and On Task Close to On User Command and region events. - [On Document Closed](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/after-confirmation.md): Handle the On Document Closed event in FlexiCapture interface scripts: it runs after changes are confirmed when a document closes in the document editor. - [On Project Closed](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/after-inquiry.md): On Project Closed event reference for FlexiCapture shell scripts: fires after the user confirms the inquiry dialog and project closing finishes. - [On Activate Document](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/document-activate.md): On Activate Document runs before a document opens in the FlexiCapture editor; set the CanOpen parameter to false in your script to block opening. - [On Field Control Activate](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/field-activation.md): Respond to field activation with the On Field Control Activate event, which passes the newly active field to FlexiCapture scripts as IFieldControl. - [On Return From Task](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/task-return.md): On Return From Task fires when processing of the current FlexiCapture task finishes after confirmation of changes, with the task window as context. - [On User Command](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/user-command.md): Add custom menu items and toolbar buttons with the On User Command event in FlexiCapture, using CI_UserCommand identifiers and sample handler code. - [On Field Control Deactivate](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/field-deactivation.md): On Field Control Deactivate runs before a FlexiCapture field loses focus and lets your script change which field becomes active next via NewActiveControl. - [On Closing Document](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/document-close.md): Cancel or allow document closing with the On Closing Document event, which runs in the FlexiCapture document editor before changes are confirmed. - [On Task Close](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/task-close.md): On Task Close runs before the current FlexiCapture task closes; scripts can keep the task open by setting the CanClose parameter to false. - [On Closing Project](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/project-close.md): Intercept project closing with the On Closing Project event, which runs before the FlexiCapture confirmation dialog and can keep the main window open. - [On Region Change](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/region-modify.md): On Region Change runs before a field region is modified in the FlexiCapture image window; the AllowChangeRegion parameter can block the change. - [On Task Window Mode Changed](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/taskwindow-change.md): On Task Window Mode Changed fires when a user switches the FlexiCapture task window to a different view mode, passing the window as ITaskWindow. - [On Open Document](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/document-open.md): On Open Document runs when a document opens in the FlexiCapture document editor, after all editor windows are created; closing it from the script fails. - [On Open Project](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/project-open.md): On Open Project runs when a project is opened in FlexiCapture, passing the main window (IMainWindow) to the script as the Context parameter. - [On Task Window Create](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/taskwindow-create.md): Run a script when a FlexiCapture task window is created using the On Task Window Create event, which passes the new window as an ITaskWindow object. - [On Task Reject](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/task-reject.md): On Task Reject runs before a FlexiCapture task is rejected via the Reject Task command; set CanReject to false in the script to cancel rejection. - [On Region Control Draw](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/region-draw.md): Customize region drawing with the On Region Control Draw event, which runs before FlexiCapture redraws a field region and exposes a drawing context. - [On Task Send To Stage](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/task-send.md): On Task Send To Stage runs before a FlexiCapture task moves to another workflow stage; the CanSend parameter lets your script cancel the move. - [On Text Field Validating](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/save-value.md): Validate text field edits with the On Text Field Validating event in FlexiCapture; set CanApply to false to undo or accept the user's input. - [Objects](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/objects-appendix-scripts-shell.md): Object reference for FlexiCapture interface event scripts, covering interfaces from IBoolean and IDocumentEditor to ITaskWindow and TCommandID enums. - [IBoolean](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/iboolean.md): IBoolean passes in-out boolean values to FlexiCapture interface scripts; assign through the Value property, for example A.Value = true, not directly. - [IBoxedFieldControl](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/iboxedfieldcontrol.md): IBoxedFieldControl object in FlexiCapture interface event scripts: stores a document field control exposed through its read/write Value property. - [IDocumentEditor](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/idocumenteditor.md): Drive the FlexiCapture document editor from scripts with IDocumentEditor: save documents, toggle form mode, and reach the image, form, and errors windows. - [IDocumentItem](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/idocumentitem.md): IDocumentItem represents a document shown in the FlexiCapture documents window: select or expand it and read its pages, rectangle, and next workflow stage. - [IDocumentItems](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/idocumentitems.md): IDocumentItems collection in FlexiCapture interface event scripts: holds the IDocumentItem objects that represent documents listed in the documents window. - [IDocumentsCollection](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/idoccollection.md): IDocumentsCollection in FlexiCapture interface event scripts: a collection of IDocument objects, returned for example by the ISelection Documents property. - [IDocumentsWindow](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/idocumentswindow.md): Script the FlexiCapture documents window through IDocumentsWindow: find document and page items, scroll to a rectangle, and read selected or focused items. - [IDrawContext](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/idrawcontext.md): Draw on station windows with the IDrawContext scripting object in ABBYY FlexiCapture: paint lines, rectangles, and pixels with RGB colors and transparency. - [IErrorControl](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ierrorcontrol.md): IErrorControl represents one entry in the FlexiCapture errors window list: read the error text, type, warning flag, and the fields the error relates to. - [IErrorControls](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ierrorcontrols.md): IErrorControls in FlexiCapture interface event scripts: the collection of IErrorControl objects that make up the error list in the errors window. - [IErrorsWindow](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ierrorswindow.md): Manage the FlexiCapture errors window via IErrorsWindow: filter assembly, format, and rule errors, set docking and size ratio, and focus a specific error. - [IFieldControl](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ifieldcontrol.md): IFieldControl gives scripts access to a document field control on a FlexiCapture form: expand or collapse fields, lock editing, and walk the control tree. - [IFieldRegionControl](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/i-field-region-control.md): IFieldRegionControl represents a document field region in the FlexiCapture image window: toggle visibility and navigate parent, child, and sibling regions. - [IFieldRegionControls](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/i-field-region-controls.md): IFieldRegionControls in FlexiCapture interface event scripts: the collection of IFieldRegionControl objects holding a document field's regions. - [IFormWindow](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/iformwindow.md): Script the FlexiCapture form window with IFormWindow: find field controls, set the active control, and adjust docking, text size, and scroll position. - [IImageWindow](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/iimagewindow.md): Control the FlexiCapture image window from scripts with IImageWindow: set image scale, docking, and toolbar visibility, and step through page controls. - [IMainMenu](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/imainmenu.md): IMainMenu represents the main window menu of a FlexiCapture station as a collection of IMenuItem objects, with a Reset method to restore the default menu. - [IMainWindow](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/imainwindow.md): IMainWindow exposes a FlexiCapture station's main window to scripts: enable or disable commands and get the main menu, toolbars, selection, and user role. - [IMenu](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/imenu.md): Customize FlexiCapture station menus with the IMenu collection: append, insert, find, and delete menu items identified by TCommandID command identifiers. - [IMenuItem](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/imenuitem.md): IMenuItem represents a single menu item in FlexiCapture station scripts: read its command ID, change its text, enable or disable it, and open its submenu. - [IPageControl](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ipagecontrol.md): IPageControl represents a page displayed in the FlexiCapture image window: convert image coordinates to window coordinates and navigate regions and pages. - [IPageItem](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ipageitem.md): IPageItem represents a page shown in the FlexiCapture documents window: select the page, read its rectangle, and reach its document and task window. - [IPageItems](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ipageitems.md): IPageItems in the FlexiCapture interface scripting model: a collection of IPageItem objects, such as a document's pages or the currently selected pages. - [IPagesCollection](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ipagecollection.md): IPagesCollection in FlexiCapture interface event scripts: a collection of IPage objects, returned by the ISelection Pages property for selected pages. - [IPoint](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ipoint.md): IPoint defines a point with read/write X and Y integer coordinates, used across FlexiCapture interface scripting for scroll positions and drawing. - [ISelection](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/iselection.md): ISelection reflects the selection in a FlexiCapture station window: read selected documents and pages as item collections or IDocument and IPage objects. - [IShellRational](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/irational.md): IShellRational object in the ABBYY FlexiCapture shell scripting model: represents a fraction with read/write Numerator and Denominator integer properties. - [IShellRect](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/i-shell-rect.md): IShellRect object in FlexiCapture shell scripts: represents a rectangle with Left, Top, Right, and Bottom coordinates plus a ToString() method. - [IShellRects](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/i-shell-rects.md): IShellRects collection in the FlexiCapture shell scripting model: holds IShellRect rectangle objects used when working with regions in station scripts. - [ITaskWindow](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/itaskwindow.md): ITaskWindow object reference for FlexiCapture station scripts: open, edit, and close documents, query document state, and close or reject tasks. - [ITextEditor](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/itexteditor.md): ITextEditor reference for FlexiCapture station scripting: control the field editor to apply or reset changes, manage selections, and show suggestions. - [IToolbar](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/itoolbar.md): IToolbar object for FlexiCapture station scripting: a collection of IToolbarButton items with methods to append, insert, find, delete, and reset buttons. - [IToolbarButton](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/itoolbarbutton.md): IToolbarButton in the FlexiCapture shell scripting model: read or set a toolbar button's command identifier, text, visibility, and enabled state. - [IToolbars](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/itoolbars.md): IToolbars in the FlexiCapture shell scripting model: the collection of IToolbar objects used to customize station toolbars from user scripts. - [TCommandBarType](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tcommandbartype.md): TCommandBarType enumeration for the IToolbar interface: identifies FlexiCapture toolbar types such as standard, navigation, verification, and tasks. - [TCommandID](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tcommandid.md): TCommandID enumeration reference: command identifiers for FlexiCapture menu and toolbar actions, from file and edit commands to verification and tasks. - [TDockingType](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tdockingtype.md): TDockingType enumeration in the FlexiCapture shell scripting model: specifies which side of the principal window an adjacent window is docked to. - [TDocumentState](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tdocumentstate.md): TDocumentState enumeration for the ITaskWindow interface: document states in the FlexiCapture task window, from locked and closed to edited and opened. - [TErrorType](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/terrortype.md): TErrorType enumeration for the IErrorControl interface: distinguishes assembly, rule, and format errors in FlexiCapture document verification scripts. - [TSelectionType](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tselectiontype.md): TSelectionType enumeration for the ISelection interface: indicates whether a FlexiCapture selection contains documents, pages, or both at once. - [TTaskWindowMode](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ttaskwindowmode.md): TTaskWindowMode enumeration for the ITaskWindow interface: switches the FlexiCapture task window between the details view and the thumbnails view. - [TTextSize](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/ttextsize.md): TTextSize enumeration for the IFormWindow interface: sets the data text size shown in the FlexiCapture form window, from smallest to largest. - [TUserRole](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tuserrole.md): TUserRole enumeration for the IMainWindow interface: identifies the FlexiCapture operator role (Verification Operator or Senior Verification Operator). - [TWorkWindowType](https://docs.abbyy.com/flexi-capture/appendix/scripts-shell/tworkwindowtype.md): TWorkWindowType enumeration in FlexiCapture station scripts: identifies the type of working window, currently undefined or the task window. ## User scripts for the Web Verification Station - [User scripts for the Web Verification Station](https://docs.abbyy.com/flexi-capture/appendix/scripts/web-custom-action-script.md): Enable and write JavaScript web custom actions for the ABBYY FlexiCapture Web Verification Station, run in an iframe on the data form via JSON-RPC. - [Objects](https://docs.abbyy.com/flexi-capture/appendix/scripts/web-custom-action-functions.md): Object model for Web Verification Station custom scripts: functions for fields, data sets, and the document form, plus commandArgs and field properties. - [Sample database search script](https://docs.abbyy.com/flexi-capture/appendix/scripts/web-custom-action-db-lookup.md): Sample web custom action script that searches a data set from the FlexiCapture Web Verification Station and copies the found value into the current field.