In ABBYY FineReader Server 14, you can use scripts to control the processing of your documents at various processing stages. Scripts are triggered by certain events that occur during document processing. You can use scripts to customize document separation, automate document identification and indexing, and control the handling of exported documents and failed jobs.

The following scripting languages are supported:

  • JScript®
  • VBScript
  • C# .Net
  • Visual Basic .Net
  • JScript .Net

Note. To be able to use .NET scripts, you need ABBYY FineReader Server 14 Update 7 or later.


Each script receives a certain object as input. This object is termed the context object and its interface depends on the type of the script.

Script Type Interface Where Executed
Input IInputDocument Processing Station
Separation IRecognizedPage Processing Station
Automatic Indexing IDocumentToIndex Processing Station
Initialize Index Fields IDocumentAttributes Processing Station or Indexing Station
Index Field Changed IDocumentAttributesChanged Indexing Station
Indexing Finished IDocumentAttributesIndexingFinished Indexing Station
Document Published IPublishedDocument Server Manager
Failed Job Published IFailedJob Server Manager

For example, the context object of a Separation script has an IRecognizedPage interface, which provides access to the properties of a recognized page (e.g. Width, Height, Resolution, Text,etc.) and methods for interacting with a recognized page (e.g. RemoveAllBlocks).

See also: Complete list of available interfaces and descriptions of their methods and properties.


Each context object offers the following two logging methods:

  • AddMessage(string) – This method adds an information message to the context object. Depending on the type of the script, the context object will be a job, a page or a document. The information message will be displayed in the job log and will also be added into the XML result.
  • LogMessage(string) – This method records a message in the event log.


// Automatic Indexing script (C#)
doc.AddMessage("This message will be added to current document in the job.");
doc.LogMessage("This message will be recorded in the event log.");

This section describes how to:

29.08.2023 11:55:30

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.