Фото документа в текст: как получить Word, Excel или просто текст
Снимок превращается в текст в три шага: выравнивание страницы, распознавание, восстановление разметки. Первые два шага сегодня работают надёжно, третий остаётся слабым местом: таблицы и колонки восстанавливаются примерно, а сложная вёрстка не восстанавливается вовсе. Поэтому для договоров важен текст, а для таблиц имеет смысл проверять итоговые суммы вручную.
Короткий ответ: получить текст из снимка несложно, сложно получить обратно оформление. Буквы читаются с высокой точностью, а вот структура страницы восстанавливается приблизительно, и чем сложнее вёрстка, тем приблизительнее.
Что происходит со снимком
- Выравнивание. Страница находится в кадре, перекос компенсируется, края обрезаются. Если лист снят под углом, буквы на дальнем краю растянуты, и точность там падает сильнее всего.
- Подготовка изображения. Выравнивается яркость, убирается фон, текст отделяется от подложки. На этом шаге теряются бледные элементы, если снимок тёмный.
- Распознавание. Строки разбиваются на слова и знаки, каждый знак сопоставляется с вариантами. Здесь появляются классические подмены: ноль и буква О, единица и буква I, тройка и восьмёрка на плохом снимке.
- Сборка разметки. Программа решает, где абзац, где заголовок, где ячейка таблицы. Самый ненадёжный шаг.
Почему таблицы разъезжаются
В файле нет никакой таблицы, есть только картинка с линиями и текстом. Границы ячеек определяются по линиям, а если линий нет и столбцы разделены пробелами, то по расстояниям между словами. Отсюда типичные последствия: объединённые ячейки распадаются, многострочная ячейка превращается в несколько строк, столбец с суммами сдвигается на одну позицию.
Практический вывод простой: числа из распознанной таблицы нельзя переносить в учёт, не сверив итог. Если сумма строк не равна итогу в документе, значит разметка собралась неверно, а не документ ошибочен.
Что выбрать на выходе
| Что нужно | Формат | На что смотреть |
|---|---|---|
| Прочитать и найти по тексту | Текст или PDF с текстовым слоем | Ничего, работает надёжно |
| Отредактировать договор | Word | Проверить нумерацию пунктов и отступы |
| Посчитать по таблице | Excel или CSV | Сверить итог со значением в документе |
| Достать конкретные поля | Реквизиты отдельным списком | Проверить контрольные разряды номеров |
Последний вариант чаще всего и нужен на практике. Когда из счёта требуются номер, дата, сумма и реквизиты получателя, восстанавливать вёрстку незачем: нужны сами значения. Именно так устроено распознавание онлайн: оно отдаёт и текст целиком, и отдельно найденные реквизиты с проверкой ИИН, БИН и IBAN по контрольным правилам.
Как поднять точность на своей стороне
- Снимать при рассеянном свете, без вспышки и без тени от руки.
- Держать камеру параллельно листу, а не под углом.
- Заполнять кадр документом целиком, без лишнего стола вокруг.
- Проверять фокус по мелкому тексту, а не по крупному заголовку.
- Для длинных документов снимать постранично, а не разворотами.
Подробные правила съёмки собраны в статье как снять документ на телефон. Если документ на казахском языке, полезно заранее знать, что именно ломается в распознавании: об этом статья распознавание документов на казахском.
Когда текст с фото использовать нельзя
Есть случаи, где распознанный текст годится для чтения, но не годится как основание для действия:
- Платёжные реквизиты. Перед оплатой IBAN сверяется с оригиналом или проверяется по контрольной сумме, иначе одна перепутанная цифра отправит деньги не туда.
- Суммы в договоре. Сумма прописью и сумма цифрами должны совпадать, и проверять это надо по исходному документу.
- Рукописные пометки и подписи. Рукописный текст распознаётся заметно хуже печатного, а подпись не распознаётся вовсе.
Что именно отличает читаемый результат от достоверного, разобрано в статье что такое OCR и что значит точность 99%.
Частые вопросы
Можно ли получить Word прямо из фотографии
Да, но с оговоркой: текст переносится надёжно, а оформление восстанавливается приблизительно. Простой договор без таблиц получается почти готовым, документ со сложной вёрсткой потребует ручной правки.
Почему в распознанной таблице съехали столбцы
Потому что таблицы в изображении нет, есть линии и текст. Границы ячеек вычисляются по линиям или по расстояниям между словами, и при объединённых ячейках или отсутствующих линиях разметка собирается неверно. Итог всегда стоит сверять.
Распознаётся ли рукописный текст
Хуже печатного и непредсказуемо. Аккуратные печатные буквы читаются неплохо, связный почерк почти не читается. Для документов с рукописными полями результат нужно проверять глазами.
Уходит ли моё фото на чужой сервер
На странице распознавания онлайн нет: файл обрабатывается в браузере, и запроса с его содержимым не отправляется. Проверить можно в окне сетевых обращений браузера.
Что с этим делать дальше
Если документы идут потоком, проверку стоит отдать сервису. DocVision Ai читает сканы и PDF, достаёт реквизиты, сверяет документы комплекта между собой и ведёт историю дел. Первые 50 дел в месяц бесплатно, дальше от 1500 тенге за комплект. Отдельный документ можно распознать онлайн без регистрации: файл читается в браузере и на сервер не уходит.