# <H1 align="center">Модуль «Распознавание текста ABBYY»</h1> 

<p> Модуль «Распознавание текста ABBYY» работает, в основном, с PDF-файлами. В отличие от предыдущего модуля имеет более высокую точность и скорость работы.</p> 
<p> Результат распознавания записывается в переменную-объект, в которой можно обратиться к конкретной строке, таблице, слову.</p>

##Интерфейс модуля
<p> Данный модуль состоит из двух полей – «Путь к PDF-файлу» и «Переменная».
<H1 align="center">![Screenshot](img/FROCR_1.png)</h1> 
<p> Поле «Путь к PDF файлу». В поле указывается путь до распознаваемого файла/картинки. 
<p> Поле «Переменная». В поле вводится имя переменной, начиная с символа «@», в которую будет занесен результат распознавания.
<p> PDF файл может состоять из нескольких страниц, поэтому переменная будет являться списком страниц. Например, @text[0] – первая распознанная страница файла. 
<p> Весь распознанный текст делится на две части – основной текст и табличная часть. 
## Основной текст
<p> Для обращения к тексту, необходимо обращаться к полю rows_word[0] (в данной записи [0] означает, что идет обращение к первой текстовой части, в других версиях ABBYY возможно использование большего разбиения текста). Затем указывается, как отдельное поле, номер строки и, через точку, номер слова в строке - @text[0].rows_word[0].2.4. Затем, после выбора нужного слова, можно получить его значение, обратившись к полю value - @text[0].rows_word[0].2.4.value – такая строка выдаст значение слова, находящегося на первой странице распознанного документа, во второй строке и является четвертой слева.
## Табличная часть
<p> Для обращения к таблице, необходимо обращаться к полю tables[0] ([0] нужен для корректной работы, его смысловая часть заложена в продукте ABBYY). Затем отдельным полем вводится номер таблицы, так как на странице их может быть несколько - @text[0].tables[0].0. После этого вводится номер ячейки в таблице в виде одного числа. Если вы хотите найти ячейку и знаете её номер колонки и строки, то можно получить индекс рассматриваемой ячейки переменной в виде «строка,колонка», обратившись к полю index - @text[0].tables[0].0.5.index (5 – пятая ячейка в массиве распознанных ячеек). Для получения значения из ячейки нужно обратиться к её значению, а затем либо собрать всю строку, записанную в ячейку, либо обратиться к конкретному слову по его порядковому номеру - @text[0].tables[0].0.5.value.1.value – значение второго слова из пятой ячейки первой таблицы с первой страницы распознанного текста.
<p> Для получения количества ячеек в таблице используйте следующую конструкцию - @text[0].tables[0].0[%], то есть указывайте набор символов «[%]» после того поля, после которого идет поле, количество элементов которого необходимо узнать. 
<p> Для получения количества слов в ячейке используйте @text[0].tables[0].0.5[%].
