- О программе 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 в сторонние системы
- Дополнительная настройка и кастомизация веб-станций
- Пользовательские отчеты
-
Приложения
- Поддерживаемые языки распознавания
- Шрифты для корректного отображения символов
- Поддерживаемые типы текста
- Поддерживаемые типы штрих-кодов
- Поддерживаемые входные форматы
- Форматы файлов экспорта
- Формат отображения даты
- Алфавит, используемый в регулярных выражениях
- Защита определений документов и дополнительных модулей
- Глоссарий
- Патенты
- Технологии других компаний
- Техническая поддержка
- Лицензионный договор с конечным пользователем
Другие примеры скриптов
Событие объединения документов
Тип: обработчик события Перемещение страниц.
Иллюстрирует, как из события "Перемещение страниц" можно выделить событие "Объединение документов". Логика выполнения скрипта следующая: если все страницы документа участвуют в перемещении, значит, этот документ полностью вливается в целевой.
Скрипт выполняется по событию Перемещение страниц. Процедура Events.OnDocumentsMerge - некая процедура, обрабатывающая событие объединения.
[VBScript] Dim currentDocument, currentDocumentPagesMoved set currentDocument = Pages( 0 ).Document currentDocumentPagesMoved = 0 For i = 0 to Pages.Count - 1 If Pages( i ).Document.Id <> currentDocument.Id Then ' Следующий документ If currentDocument.Pages.Count = currentDocumentPagesMoved Then ' Из предыдущего документа все страницы перемещаются – порождаем событие Events.OnDocumentsMerge TargetDocument, currentDocument End If Set currentDocument = Pages( i ).Document Else Next If currentDocument.Pages.Count = currentDocumentPagesMoved Then ' Из последнего документа все страницы перемещаются – порождаем событие Events.OnDocumentsMerge TargetDocument, currentDocument End If [JScript] var currentDocument = Pages( 0 ).Document; var currentDocumentPagesMoved = 0; for( i = 0; i < Pages.Count - 1; i++ ) { if( Pages( i ).Document.Id != currentDocument.Id ) { // Следующий документ if( currentDocument.Pages.Count == currentDocumentPagesMoved ) { // Из предыдущего документа все страницы перемещаются – порождаем событие Events.OnDocumentsMerge( TargetDocument, currentDocument ); } currentDocument = Pages( i ).Document; } else { currentDocumentPagesMoved = currentDocumentPagesMoved + 1; } } if( currentDocument.Pages.Count == currentDocumentPagesMoved ) { // Из последнего документа все страницы перемещаются – порождаем событие Events.OnDocumentsMerge( TargetDocument, currentDocument ) }
Объединение регистрационных параметров документов при слиянии
Тип: обработчик события "Объединение документов".
Иллюстрирует наиболее простой способ объединения регистрационных параметров при слиянии документов: при слиянии в целевой документ добавляются только те параметры из новых документов, которых в нём ещё не было.
Код следует расположить в каком-нибудь разделяемом модуле и процедуру. Процедуру OnDocumentsMerge нужно вызывать в момент слияния документов. Подробнее смотрите описание события Объединение документов.
[VBScript] Sub MergeProperty(ByVal TargetDocument, ByVal propertyName, ByVal propertyValue) If TargetDocument.Properties.Get(propertyName) = "" Then ' Такого параметра не было в документе TargetDocument.Properties.Set(propertyName, propertyValue) End If End Sub Sub OnDocumentsMerge(ByVal Target, ByVal Document) ' Будем объединять регистрационные параметры For i = 0 To Document.Properties.Count - 1 MergeProperty(Target, Document.Properties(i).Name, Document.Properties(i).Value) Next End Sub [JScript] function MergeProperty( TargetDocument, propertyName, propertyValue ) { if( TargetDocument.Properties.Get( propertyName ) == "" ) { // Такого параметра не было в документе TargetDocument.Properties.Set( propertyName, propertyValue ); } } function OnDocumentsMerge( Target, Document ) { // Будем объединять регистрационные параметры for( i = 0; i < Document.Properties.Count - 1; i++ ) { MergeProperty( Target, Document.Properties(i).Name, Document.Properties(i).Value ); } }
15.03.2021 9:22:38