- О программе ABBYY FlexiCapture
- Архитектура комплекса ABBYY FlexiCapture
-
Использование скриптов в ABBYY FlexiCapture
- Особенности .Net скриптов
- Подключение внешней сборки
- Редактор кода скрипта
- Объектная модель
-
Использование скриптов для настройки этапов обработки
-
Типы скриптов
- Скрипт правила
- Скрипт автозамены
- Скрипт экспорта
- Пользовательский скрипт
- Скрипт сборки документа
- Скрипт пользовательского распознавания
- Скрипт маршрутизации
- Скрипты обработки
- Скрипт обновления набора данных
- Скрипт валидации набора данных
- Скрипт классификации документа
-
Обработчики событий
- Создание пакета
- Удаление пакета
- Изменение свойств пакета
- Изменение состава пакета
- Перемещение страниц
- Открытие/закрытие пакета
- Проверка целостности пакета
- Изменение свойства документа
- Изменение состояния документа
- Скрипт после экспорта
- Скрипт после проверки правил
- Перед наложением определений документов
- Запрос на верификацию поля
-
Объекты
- IActionResult
- IAssemblingError
- IAssemblingErrors
- IBatch
- IBatchCheckResults
- IBatchItem
- IBatchItems
- IBatchTypeClassifier
- IBatchTypeClassifierResult
- IBinarizationParams
- IBoxedBoolean
- ICharacterParams
- ICharactersParams
- ICheckmarkGroupValue
- ICheckmarkValue
- IDataSet
- IDataSetQuery
- IDataSetRecord
- IDocument
- IDocuments
- IDocumentExportResults
- IDocumentsExportResults
- IDocumentDefinitionInfo
- IDocumentDefinitionInfoArray
- IEditablePictureObject
- IExportFieldsToRedact
- IExportImageSavingOptions
- IField
- IFieldRegion
- IFieldRegions
- IFields
- IFlexiCaptureTools
- ILocalContrastParams
- IMatchedSectionInfo
- IMatchingInfo
- IPage
- IPageClassificationResult
- IPages
- IPictureObject
- IPictureObjectsInfo
- IPrincipal
- IPrincipals
- IProcessingCallback
- IProject
- IProperties
- IProperty
- IPropertyModificationInfo
- IRecordCheckResult
- IRecordset
- IRect
- IRects
- IRoutingRuleResult
- IRuleContext
- IRuleError
- IRuleErrors
- IRuleTag
- IRuleTags
- IScriptBinaryAttributes
- IScriptDefinitionContext
- ISectionDefinitionInfo
- ISectionDefinitionInfoArray
- IShadowsHighlightsParams
- IStageInfo
- IUserAttachment
- IUserAttachments
- IUserSessionInfo
- IValue
- IVARIANTArray
- TAssemlingErrorType
- TBatchItemType
- TColorToFilter
- TExportFieldType
- TExportType
- TImageCompressionType
- TPageClassificationType
- TPdfAVersion
- TPdfDocumentInfoType
- TPdfTextSearchAreaType
- TPrincipalType
- TProcessingPriority
- TPropertyType
- TRuleErrorType
- TStateType
- Примеры скриптов
- Внутренние имена языков распознавания
-
Типы скриптов
-
Использование скриптов для обработки событий интерфейса
-
События
- После закрытия документа
- После закрытия проекта
- При активации документа в окне задания
- При активации поля
- При возврате из задания
- При вызове пользовательской команды
- При деактивации поля
- При закрытии документа
- При закрытии задания
- При закрытии проекта
- При изменении региона
- При изменении режима окна задания
- При открытии документа
- При открытии окна задания
- При отмене задания
- При отображении региона
- При отправке задания на этап
- При подтверждении текстового поля
-
Объекты
- IBoolean
- IBoxedFieldControl
- IDocumentEditor
- IDocumentItem
- IDocumentItems
- IDocumentsCollection
- IDocumentsWindow
- IDrawContext
- IErrorControl
- IErrorControls
- IErrorsWindow
- IFieldControl
- IFieldRegionControl
- IFieldRegionControls
- IFormWindow
- IImageWindow
- IMainMenu
- IMainWindow
- IMenu
- IMenuItem
- IPageControl
- IPageItem
- IPageItems
- IPagesCollection
- IPoint
- ISelection
- IShellRational
- IShellRect
- IShellRects
- ITaskWindow
- ITextEditor
- IToolbar
- IToolbarButton
- IToolbars
- TCommandBarType
- TCommandID
- TDockingType
- TDocumentState
- TErrorType
- TSelectionType
- TTaskWindowMode
- TTextSize
- TUserRole
- TWorkWindowType
-
События
- Пользовательский скрипт для веб-станции верификации
-
Интерфейс программирования приложения (API)
- О Web Services API Сервера Приложений ABBYY FlexiCapture
- Использование Web Services API Сервера Приложений ABBYY FlexiCapture
-
Справочная информация о Web Services API Сервера Приложений ABBYY FlexiCapture
- Методы программного интерфейса
- Типы данных программного интерфейса
- Работа с файлами с помощью POST-запросов
- Web Services MobileAPI для мобильных клиентов
- Web Services для управления учетными записями пользователей
- Примеры использования программного интерфейса Сервера Приложений
- Встраивание ABBYY FlexiCapture в сторонние системы
- Дополнительная настройка и кастомизация веб-станций
- Пользовательские отчеты
-
Приложения
- Поддерживаемые языки распознавания
- Шрифты для корректного отображения символов
- Поддерживаемые типы текста
- Поддерживаемые типы штрих-кодов
- Поддерживаемые входные форматы
- Форматы файлов экспорта
- Формат отображения даты
- Алфавит, используемый в регулярных выражениях
- Защита определений документов и дополнительных модулей
- Глоссарий
- Патенты
- Технологии других компаний
- Техническая поддержка
- Лицензионный договор с конечным пользователем
Использование скриптов в ABBYY FlexiCapture
В данном разделе описано использование скриптов для настройки этапа обработки и для настройки интерфейса станций в ABBYY FlexiCapture.
Поддерживаемые языки
ABBYY FlexiCapture поддерживает написание скриптов на следующих языках: C#.Net, VisualBasic.Net, JScript.Net, JScript ®, JScript.Compact и VBScript.
Особенности использования
В языке VBScript нулевой параметр передается с ключевым словом "Me", в языке JScript для передачи нулевого параметра используется ключевое слово "this". В .Net скриптах нулевой параметр передается как обычный параметр.
Для каждого типа скрипта заведомо известны права на все параметры скрипта. Эти права определяют подмножество методов, доступных из скриптов. При обращении к методам объектов права на возвращаемые объекты всегда наследуются из исходного объекта, за некоторыми исключениями, описанными в комментарии к соответствующим методам.
Замечание. Объекты скрипта не должны использоваться после завершения скрипта, так как в этом случае поведение объекта становится неопределенным.
Замечание. Для отладки скриптов, написанных в редакторе скрипта в ABBYY FlexiCapture, можно использовать метод MessageBox.
Пользовательские функции
Редактор скрипта позволяет создавать собственные функции и процедуры и вызывать их в дальнейшем из кода скрипта.
Для создания пользовательской функции можно воспользоваться одним из предложенных способов:
- с помощью Visual Studio собрать библиотеку *.dll и подключить ее к проекту FlexiCapture (подробнее см. Внешние сборки);
- записать функцию в глобальный модуль, доступный из редактора кода скрипта (для этого следует в выпадающем списке на панели инструментов редактора скриптов выбрать доступный глобальный модуль: Модуль для правил, Модуль для экспорта, Events или NonInteractiveProcessor.)
Для вызова функции из глобального модуля следует воспользоваться скриптом экспорта. Также глобальный модуль правил доступен из Редактора определения документа, меню Определение документа → Скриптовые модули → Экспорт....
Особенности использования
Все функции внутри одного модуля должны быть написаны на одном языке. Основной код скрипта может быть написан на языке, отличном от используемого в соответствующем глобальном модуле.
Из скриптовых языков JScript ®, JScript.Compact и VBScript можно вызвать глобальную функцию, написанную на любом из этих языков. Например, можно из кода правила на VBScript вызывать функцию из глобального модуля, написанного на JScript.
Из скриптов, написанных на языках .Net, можно вызывать глобальные функции, также написанные на языках .Net (C#.Net, VisualBasic.Net или JScript.Net).
Для обращения к функциям глобальных модулей нужно использовать префиксы Rules, Export, Events и NonInteractiveProcessor соответственно. Например, функция DoSomething из модуля Модуль для правил вызывается следующим образом: Rules.DoSomething ().
Замечание. Для скриптов на языках .Net вызов функций глобальных модулей осуществляется без использования префикса.
Таймаут на выполнение скрипта
По умолчанию заданы следующие таймауты – 10 секунд для скриптов правил и 30 секунд для скриптов экспорта.
Для изменения значения таймаута необходимо задать новое значение в следующей ветви реестра:
HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\DefaultScriptTimeout
Значение таймаута в реестре задается в миллисекундах. Если скрипт выполняется дольше, чем заданный таймаут, то его выполнение будет прервано и возникнет ошибка "Таймаут выполнения скрипта". Для скриптов, являющихся частью задачи импорт, распознавания, или экспорта, аналогичное сообщение будет записано в лог.
Внимание! Таймаут на выполнение скрипта действует только для скриптов, написанных на языках JScript и VBScript.
Внимание! Если скрипт выполняется под сервисом NetworkService, то для изменения значения таймаута нужно вносить изменения в ветвь реестра соответствующего профиля.
Объектная модель
Объектная модель совместима со скриптами, созданными в предыдущих версиях ABBYY FlexiCapture.
1/14/2021 2:17:24 PM