Russian (Русский) - Change language

Глобальные функции

Внимание! В глобальных функциях, которые работают с внешними файлами или базами данных, в качестве аргументов функции нельзя использовать переменные.

Определение Описание
Area Max( Area a1, Area a2 ) Возвращает максимальное значение из a1, a2
Area Min( Area a1, Area a2 ) Возвращает минимальное значение из a1, a2
Area ObjectsArea( Rect, ImageObjectType ) Площадь объектов заданного типа в заданном прямоугольнике. Работает в глобальных координатах.
Area ObjectsIntersectionArea( Rect, ImageObjectType ) Площадь объектов заданного типа, находящихся внутри заданного прямоугольника, и областей пересечения с заданным прямоугольником объектов заданного типа, выходящих за его пределы. Работает в глобальных координатах.
Distance abs( Distance ) Возвращает абсолютное значение расстояния
Distance AverageInterLineInterval()

Среднее расстояние между строками на странице.

Внимание! Функцию можно использовать только в случае, если допустимое минимальное и максимальное число страниц документа равно 1, т.е. найденный документ заведомо одностраничный. При использовании этой функций в рамках многостраничного документа, при наложении гибкого описания возникнет ошибка.

Для многостраничного документа можно использовать соответствующий метод типа Page: Page(N). AverageInterLineInterval.

Distance AverageLineHeight()

Средняя высота строки на странице.

Внимание! Функцию можно использовать только в случае, если допустимое минимальное и максимальное число страниц документа равно 1, т.е. найденный документ заведомо одностраничный. При использовании этой функций в рамках многостраничного документа, при наложении гибкого описания возникнет ошибка.

Для многостраничного документа можно использовать соответствующий метод типа Page: Page(N). AverageLineHeight.

Distance Min( Distance d1, Distance d2 ) Возвращает минимальное значение из d1, d2
Distance Max( Distance d1, Distance d2 ) Возвращает максимальное значение из d1, d2
Int abs( Int ) Возвращает абсолютное значение числа
Int Ceil( Real ) Возвращает наименьшее целое число, значение которого не меньше значения аргумента.
Int Floor( Real ) Возвращает наибольшее целое число, значение которого не больше значения аргумента.
Int LogicToInt( Logic value ) Возвращает "1", если value имеет значение True, и "0", если value имеет значение False.
Int Max( Int n1, Int n2 ) Возвращает максимальное значение из n1, n2
Int Min( Int n1, Int n2 ) Возвращает минимальное значение из n1, n2
Int PagesCount() Возвращает количество страниц в документе.
Int RecordCount( String connectionString, String selectString ) Возвращает количество записей запроса. См. пример для функции Record ниже.
Int Round( Real ) Возвращает целое число, ближайшее к значению аргумента
Int StrToInt( String inputString, Logic isStrictMode = false )

Возвращает результат преобразования значения строки inputString в целое число. Пробелы при преобразовании пропускаются. Параметр isStrictMode (по умолчанию равен False) определяет, допустимо ли наличие в строке символов, отличных от цифр и пробелов. Если при isStrictMode = false в строке встретился символ, не являющийся цифрой или пробелом, все символы, идущие дальше, опускаются. Перед преобразованием рекомендуется проверить возможность его осуществления с помощью вызова функции IsInt.

Пример

Int StrToIntFuzzy( String, Logic isStrictMode = false ) Возвращает результат преобразования значения строки inputString в целое число с учетом возможного содержания в строке ошибок распознавания (подробнее см. описание функции IsIntFuzzy). Пробелы при преобразовании пропускаются. Параметр isStrictMode (по умолчанию равен false) определяет, допустимо ли наличие в строке символов, отличных от цифр, символов, похожих на цифры и пробелов. Если при isStrictMode = false в строке встретился прочий символ, все символы, идущие дальше, опускаются. Перед преобразованием рекомендуется проверить возможность его осуществления с помощью вызова функции IsIntFuzzy.
Logic ExecuteSQL( String connectionString, String queryString )

Выполняет пользовательский SQL-запрос queryString. Аргумент connectionString задает строку соединения с базой данных.

Пример

Logic IsInt( String inputString, Logic isStrictMode = false ) Служит для проверки того, что строку inputString можно безопасно преобразовать в целое число. Параметр isStrictMode (по умолчанию равен false) определяет, допустимо ли наличие в строке символов, отличных от цифр и пробелов.
Logic IsIntFuzzy( String inputString, Logic isStrictMode = false ) Служит для проверки того, что строку inputString можно безопасно преобразовать в целое число с учетом возможного содержания в строке ошибок распознавания. При данном преобразовании в цифры будут преобразованы не только цифровые символы (т.е. символы из множества "0123456789"), но и символы, похожие на цифры (например, “oOBsl”). Параметр isStrictMode (по умолчанию равен false) определяет, допустимо ли наличие в строке прочих символов, отличных от цифр, символов, похожих на цифры и пробелов.
Logic IsOnSameLine( Hypothesis, Hypothesis ) Проверка на пересечение гипотез по вертикали
Logic IsReal( String numberString, String separators = “.,”, Logic isStrictMode = false ) Служит для проверки того, что строку inputString можно безопасно преобразовать в вещественное число. Список допустимых десятичных разделителей задаётся аргументом separators – по умолчанию допускаются точка, запятая и разделитель, выставленный в региональных настройках ОС пользователя (см. RegionalDecimalPoint). Параметр isStrictMode (по умолчанию равен False) определяет, допустимо ли наличие в строке символов, отличных от цифр, пробелов и разделителей.
Logic IsRealFuzzy( String, String separators = defaultDecimalSeparators, Logic isStrictMode = false ) Служит для проверки того, что строку inputString можно безопасно преобразовать в вещественное число с учетом возможного содержания в строке ошибок распознавания (подробнее см. описание функции IsIntFuzzy). Список допустимых десятичных разделителей задаётся аргументом separators – по умолчанию допускаются точка, запятая и разделитель, выставленный в региональных настройках ОС пользователя (см. RegionalDecimalPoint). Параметр isStrictMode (по умолчанию равен False) определяет, допустимо ли наличие в строке символов, отличных от цифр, символов, похожих на цифры, пробелов и разделителей.
Logic TestDBConnection( String connectionString ) Проверяет наличие доступа к базе данных. Аргумент connectionString задает строку соединения с базой данных.
Logic TestDBSelect( String connectionString, String selectString ) Проверяет наличие доступа к базе данных и корректность SQL-запроса (существования таблицы и поля). Аргумент connectionString задает строку соединения с базой данных. Аргумент selectString задает SQL-запрос, начинающийся с команды SELECT.
Logic TestFileAccess( String fileName ) Проверяет наличие доступа к текстовому файлу.
Logic WriteToFile( String filename, String text )

Дописывает в текстовый файл filename строку text. Если файла с таким названием не существует, он создаётся.

Пример

Page Page( Int PageNumber ) Возвращает тип, описывающий заданную страницу.
Quality ValidateByDB( String word, String connectionString, String selectString, Int maxErrors, Real maxErrorsPart, Logic ignoreSpaces, Int maxRecordsCount = 1000 )

Проверяет заданное слово word с помощью базы данных (см. Использование баз данных и текстовых файлов в языке гибких описаний.) Аргумент connectionString задает строку соединения с базой данных. Аргумент selectString задает SQL-запрос, начинающийся с команды SELECT. Аргумент maxErrors задает абсолютное, а аргумент maxErrorsPart – относительное максимально допустимое число ошибок на слово. Аргумент ignoreSpaces определяет, нужно ли учитывать пробелы при сравнении. Для ускорения поиска рассматриваются только первые maxRecordsCount вариантов (по умолчанию 1000). Возвращается качество совпадения заданного слова и наилучшего слова для него из базы данных.

Пример

Данная функция может быть использована в разделе Advanced Post-Search Relations для нечеткого сравнения найденного строкового значения гипотезы, возвращаемого методом Value, с заданными вариантами.

Quality ValidateByFile( String word, String fileName, Int maxErrors, Real maxErrorsPart, Logic ignoreSpaces, Int maxRecordsCount = 1000 )

Проверяет заданное слово word с помощью текстового файла fileName, в котором перечислены варианты фраз. (См. Использование баз данных и текстовых файлов в языке гибких описаний.) Аргумент maxErrors задает абсолютное, а аргумент maxErrorsPart – относительное максимально допустимое число ошибок на слово. Аргумент ignoreSpaces определяет, нужно ли учитывать пробелы при сравнении.

Возвращается качество совпадения заданного слова и наилучшего слова для него из текстового файла. Для ускорения поиска рассматриваются только первые maxRecordsCount вариантов (по умолчанию 1000).

Пример

Данная функция может быть использована в разделе Advanced Post-Search Relations для нечеткого сравнения найденного строкового значения гипотезы, возвращаемого методом Value, с заданными вариантами.

Quality ValidateByText( String word, String variants, Int maxErrors, Real maxErrorsPart, Logic ignoreSpaces )

Проверяет заданное слово word, сравнивая его с перечисленными вариантами. Аргумент maxErrors задает абсолютное, а аргумент maxErrorsPart – относительное максимально допустимое число ошибок на слово. Аргумент ignoreSpaces определяет, нужно ли учитывать пробелы при сравнении.

Возвращается качество совпадения заданного слова и наиболее подходящего ему слова из вариантов, заданных в аргументе variants.

Пример

Данная функция может быть использована в разделе Advanced Post-Search Relations для нечеткого сравнения найденного строкового значения гипотезы, возвращаемого методом Value, с заданными вариантами.

Real Min( Real d1, Real d2 ) Возвращает минимальное значение из d1, d2
Real Max( Real d1, Real d2 ) Возвращает максимальное значение из d1, d2
Real StrToReal( String numberString, String separators = “.,”, Logic isStrictMode = false )

Возвращает результат преобразования значения строки inputString в вещественное число. Пробелы при преобразовании пропускаются. Параметр isStrictMode (по умолчанию равен False) определяет, допустимо ли наличие в строке символов, отличных от цифр, пробелов и разделителей. Если при isStrictMode = false в строке встретился второй десятичный разделитель или символ, не являющийся цифрой или пробелом, все символы, идущие дальше, опускаются. Перед преобразованием рекомендуется проверить возможность его осуществления с помощью вызова функции IsReal.

Пример

Real StrToRealFuzzy( String, String separators = defaultDecimalSeparators, Logic isStrictMode = false ) Возвращает результат преобразования значения строки inputString в вещественное число с учетом возможного содержания в строке ошибок распознавания (подробнее см. описание функции IsIntFuzzy). Пробелы при преобразовании пропускаются. Параметр isStrictMode (по умолчанию равен false) определяет, допустимо ли наличие в строке символов, отличных от цифр, символов, похожих на цифры, пробелов и разделителей. Если при isStrictMode = false в строке встретился второй десятичный разделитель или прочий символ, все символы, идущие дальше, опускаются. Перед преобразованием рекомендуется проверить возможность его осуществления с помощью вызова функции IsRealFuzzy.
Rect DocumentRect() Возвращает прямоугольник всего документа (в глобальных координатах).
Rect PageRect()

Прямоугольник всего изображения.

Внимание! Функцию можно использовать только в случае, если допустимое минимальное и максимальное число страниц документа равно 1, т.е. найденный документ заведомо одностраничный.

В многостраничном документе эту функцию можно использовать только в разделе Pre-search Relations. См. Функции, ограничивающие область поиска: Вспомогательные функции для задания области поиска.

Region FormRegion( RectArray included, RectArray excluded ) Создает регион, включающий массив прямоугольников included, и исключающий включающий массив прямоугольников excluded.
StringArray ReadFromXML( String filename, String xPathQuery ) Читает массив строк из XML-файла filename. Строки получаются в результате вычисления переданного xPath-запроса xPathQuery.
StringArray Record( String connectionString, String selectString, Int index )

Позволяет получить данные о конкретной записи.

Для ячейки, имеющей значение NULL, возвращается пустая строка.

Пример

String Chr( Int ) Возвращает строку по заданному Unicode коду символа (код нужно писать в десятичной системе счисления)
String LCase( String ) Возвращает строку, полученную из заданной приведением всех символов строки к нижнему регистру.
String ReadSingleStringFromXML( String filename, String xPathQuery ) Читает строку из XML-файла filename. Строка получается в результате вычисления переданного xPath-запроса xPathQuery.
String RealToStrVariants( Real value, String fractionalPartSeparators, Int maxDigitsCountInFractionalPart = 2 ) Для заданного вещественного числа value, разделителей дробной части fractionalPartSeparators и максимально допустимого числа цифр дробной части создаёт его строковые представления, перечисленные через вертикальную черту '|'. Например, для аргументов 19, ".,", 2 результат будет "19|19.0|19.00|19,0|19,00".

String Str( Int );

String Str( Logic );

String Str( Real );

String Str( XInterval );

String Str( YInterval );

String Str( DistInterval );

String Str( FuzzyRect );

String Str( Hypothesis );

String Str( RectArray );

String Str( Region );

String Str( Area );

String Str( Quality );

String Str( Distance );

String Str( PageInterval ).

Строковое представление данных типов.
String RemoveSpaces( String ) Возвращает строку, полученную из заданной удалением всех пробелов строки.
String UCase( String ) Возвращает строку, полученную из заданной приведением всех символов строки к верхнему регистру.
Void PrepareRecordset( String connectionString, String selectString, Int maxRecordsCount = 1000 )

Подготавливает запрос для быстрого доступа.

См. пример для функции Record ниже.

Void SetPagesCount( Int pagesCount )

Явно задает количество страниц в документе. Используется в секциях Pre-search или Post-search advanced code.

Вызов этой функции должен осуществляться из элементов Header или Footer, или их подэлементов.

Функция используется для документов, у которых отсутствует признак конца документа (футера нет либо он опционален).

Пример

XCoordinate Min( XCoordinate x1, XCoordinate x2 ) Возвращает минимальное значение из x1, x2
XCoordinate Max( XCoordinate x1, XCoordinate x2 ) Возвращает максимальное значение из x1, x2
XCoordinate MiddleBetween( XCoordinate x1, XCoordinate x2 ) Возвращает абсциссу, вычисленную как (x1+ x2) / 2
XCoordinate Between( XCoordinate x1, XCoordinate x2, Real ratio ) Возвращает абсциссу, вычисленную как x1+ (x2 – x1) * ratio
YCoordinate Min( YCoordinate y1, YCoordinate y2 ) Возвращает минимальное значение из y1, y2
YCoordinate Max( YCoordinate y1, YCoordinate y2 ) Возвращает максимальное значение из y1, y2
YCoordinate MiddleBetween( YCoordinate y1, YCoordinate y2 ) Возвращает ординату, вычисленную как (y1+ y2) / 2
YCoordinate Between( YCoordinate y1, YCoordinate y2, Real ratio ) Возвращает ординату, вычисленную как y1+ (y2 – y1) * ratio
XInterval MiddleBetween( Xinterval x1, XInterval x2 ) Возвращает XInterval, вычисленный как (x1+ x2) / 2
XInterval Between( Xinterval x2, Xinterval x2, Real ratio ) Возвращает XInterval, вычисленный как x1+ (x2 – x1) * ratio
YInterval MiddleBetween( Yinterval y1, Yinterval y2 ) Возвращает YInterval, вычисленный как (y1+ y2) / 2
YInterval Between( Yinterval y1, Yinterval y2, Real ratio ) Возвращает YInterval, вычисленный как y1+ (y2 – y1) * ratio
Следующие функции предназначены для запуска предраспознавания в процессе наложения гибкого описания. Текстовые строки, пересекающие заданную область предраспознавания, распознаются целиком (в том числе части строк, выходящие за пределы области).
Void RecognizeText() Распознает текст в относительном прямоугольнике, заданном в свойствах проекта Pre-recognition area, на всех страницах документа.
Void RecognizeText( IntArray pages ) Распознает текст в относительном прямоугольнике, заданном в свойствах проекта Pre-recognition area, на страницах, заданных набором pages.
Void RecognizeText( SearchAreaPageSetType pageSetType ) Распознает текст в относительном прямоугольнике, заданном в свойствах проекта Pre-recognition area, на страницах, заданных набором pageSetType.
Void RecognizeText( Rect rect ) Распознает текст в прямоугольнике rect.
Void RecognizeText( Rect rect, IntArray pages ) Распознает текст в прямоугольнике rect на страницах, заданных набором pages.
Void RecognizeText( Rect rect, SearchAreaPageSetType pageSetType) Распознает текст в прямоугольнике rect на страницах, заданных набором pageSetType.
Void RecognizeText(RectArray rectArray ) Распознает текст в массиве прямоугольников rectArray.
Void RecognizeText( RectArray rectArray, IntArray pages ) Распознает текст в массиве прямоугольников rectArray на страницах, заданных набором pages.
Void RecognizeText( RectArray rectArray, SearchAreaPageSetType pageSetType ) Распознает текст в массиве прямоугольников rectArray на страницах, заданных набором pageSetType.
Void RecognizeText( Region region ) Распознает текст в регионе region.
Void RecognizeText( Region region, IntArray pages ) Распознает текст в регионе region на страницах, заданных набором pages.
Void RecognizeText( Region region, SearchAreaPageSetType pageSetType ) Распознает текст в регионе region на страницах, заданных набором pageSetType.
RectArray RecognizedRects() Отладочная функция, позволяющая вывести на печать массив предраспознанных прямоугольников.

01.12.2020 7:04:05


Please leave your feedback about this article