Под документом вы подразумеваете Word, PDF, другой формат или обычное изображение? Или в этих документах содержатся изображения с текстом?
Если же ваша задача состоит в том, чтобы распознавать текст в определенных местах (т.е. вам не нужен сырой текст, распознанный тессерактом, а важно местоположение этого текста), вы можете следовать следующему алгоритму:
- Извлечь изображение с линиями и текстом из вашего документа (этот шаг опционален, потому что не известен формат входящих данных из вашего вопроса).
- Применить медианную фильтрацию. Данный вид фильтрации хорошо подойдет для вашей задачи, а также достаточно просто в понимании. О ней вы можете почитать тут и тут (обзор простых фильтров и немного мат. части по фильтрам). Данный фильтр отлично справляется с мелким шумом и не размывает границы, что очень важно для вашей задачи. Пример на opencv
- Далее вам необходимо найти линии. Подразумеваю, что они горизонтальные. Но даже если не так, это не страшно. Вы можете использовать преобразования Хафа. Но перед этим, вы должны использовать какой-нибудь детектор границ. Самым распространенным является детектор границ Кэнни (Статья на Хабре). Пример на opencv
- По найденным линиям, вы можете определить, необходимо ли повернуть изображение, если линии не строго горизонтальные. Данный шаг необходим для получения более точных результатов от тессертакта.
- После чего, просто сортируете в нужном вам порядке линии и по координатам извлекаете текст.
P.S. Данный алгоритм применим для задачи, которую вы описали в вопросе.