OCR Document Pipeline
OCR-сервис сохраняет не только распознанный текст, но и структуру страницы — основу для редактирования и экспорта.
Контекст
Плоского текста недостаточно, если документ нужно восстановить или превратить в таблицу. Важно сохранить координаты слов, структуру блоков и возможность выгружать результат без повторного платного распознавания.
Подход
Загрузка, распознавание, квоты и экспорт работают независимо. Google Cloud Vision возвращает текст и геометрию страницы, Pydantic собирает иерархию документа, а отдельный модуль формирует TXT, DOCX, XLSX и PDF из одного результата.
Что получилось
Один запрос к OCR становится основой для четырёх форматов. В XLSX сохраняются координаты слов, а простые таблицы восстанавливаются по расположению строк и ячеек.
Ключевые решения
Одно распознавание — несколько форматов
Распознавание и экспорт разделены. Пользователь может выбрать другой формат выгрузки без нового обращения к Google Cloud Vision.
Сохраняется геометрия страницы
Вместе с текстом сохраняются рамки слов и оценка уверенности. Эти данные позволяют восстанавливать простые таблицы и использовать документ в дальнейшей обработке.
Расходы публичного сервиса ограничены
Квота резервируется в транзакции Firestore до обращения к Vision. Дополнительно проверяются реальный формат и размер файла, действует поминутный лимит.