Где теряется привязка текстового блока к области скана

Проверка сделана 24 августа 2026 года на работающем сайте, а не по исходникам: браузер открывал страницу, выбирал пример, нажимал «Распознать», ждал результат и затем щёлкал по значениям и по областям на скане. Ниже — что найдено на каждом отрезке пути и в каком единственном месте связь действительно обрывается.

Что проверяли и что получилось

Отрезок путиИтогЧем подтверждено на странице
Распознавание возвращает координаты в порядке Все пять примеров прогнаны целиком. Ни одного блока и ни одной ячейки без координат: примеры дают 8, 9, 19, 31 и 33 блока, у всех есть и координаты области, и размер страницы. Самая крупная таблица — 288 ячеек, у всех координаты на месте.
Координаты доезжают до экрана проверки в порядке На открытом экране проверки в памяти страницы лежат те же блоки с координатами, что вернуло распознавание, и есть привязка исходного и обработанного изображения (размер страницы, угол доворота).
Совпадение «номера» блока и области в порядке Метки у значений справа и у рамок на скане совпадают до символа: первые четыре — 0:null:null, 1:null:null, 2:0:0, 2:0:1. Разнобоя нет.
Рамки на изображении в порядке, но с оговоркой Свежий прогон «Пример 4»: 123 значения справа и ровно 123 рамки слева. Щелчок по значению подсвечивает одну рамку, щелчок по рамке — одно значение. Оговорка — в следующей карточке.
Изображение страницы загрузилось вот здесь и рвётся Если картинка скана не подгрузилась, рамок не появляется вообще ни одной, и щелчок по значению не подсвечивает ничего — при том, что координаты в памяти есть, а справа все 123 значения на месте.

Причина

Координаты не теряются: они и считаются, и передаются, и доезжают до экрана проверки, и метки у обеих сторон совпадают. Рамки рисуются только в момент, когда картинка страницы полностью загрузилась. Если та единственная загрузка сорвалась (обрыв связи, долгий ответ), повторной попытки нет: справа всё нормально, слева на скане — ни одной рамки, переход к блоку ничего не подсвечивает. Со стороны это выглядит как «координаты не дошли», хотя они лежат в памяти страницы целыми.

Как воспроизводится. Открыли готовый разбор и не дали загрузиться картинке скана. Результат на странице: блоков в памяти — 8, значений справа — 123, рамок на скане — 0, щелчок по значению подсвечивает 0 областей. Затем, не перезагружая страницу, переключили показ на «После обработки» — картинка загрузилась, и сразу же появились все 123 рамки, а ранее выбранное значение подсветилось. То есть данные всё это время были на месте — не было только перерисовки.

Что чинить. Рисование рамок не должно зависеть от одной удачной загрузки картинки: нужна повторная попытка и перерисовка, когда изображение всё-таки появилось, либо честное сообщение «скан не загрузился, обновите страницу». Правка — в один шаг и только в показе; распознавание, подготовку скана и разбор таблиц трогать не требуется.

Как проходил сценарий

  1. Открыт сайт распознавания, на экране пять примеров.
  2. Выбран «Пример 4», дождались превью — кнопка «Распознать» стала активной.
  3. Нажата «Распознать», результат пришёл: 8 блоков, 123 значения.
  4. Сразу после этого, без перезагрузки: 123 рамки на скане; щелчок по значению «Приложение № 1 к постановлению» подсветил ровно одну область.
  5. Открыт экран проверки по тому же разбору: 123 рамки и 123 значения, щелчок по ячейке таблицы подсветил её область, щелчок по области — ячейку.
  6. Отдельно повторён опыт с несостоявшейся загрузкой картинки — см. карточку «Причина».

Что видно глазами

Рабочий экран сразу после «Распознать»: слева скан с рамками, справа значения.
Рабочий экран после распознавания
Экран проверки по тому же документу: рамки и значения на месте.
Экран проверки

Попутно замечено

Проверено 24 августа 2026 года на сайте распознавания. Все числа в этом отчёте сняты со страницы во время проверки, а не взяты из исходников.