Декодирование штрихкодов на загруженных страницах
THotPDF.DecodeLoadedPageBarcodes отрисовывает одну загруженную страницу или область в координатах страницы и передаёт полученный 24-битный bitmap выбранному приложением IHPDFBarcodeDecoder
Путь по умолчанию на 144 DPI использует прогрессивный рендеринг display list, ограничивает растровые пиксели и пиковый объём рабочих байтов и проверяет отмену между фрагментами рендеринга, попытками поворота, вызовами декодера и проверкой результатов
Повороты и координаты
bdrpFallback сначала декодирует исходный растр и выделяет копии на 90, 180 и 270 градусов только если ни один корректный результат не был принят — на обычном пути не тратятся четыре вызова декодера
Декодер сообщает пиксельные границы и ориентацию по часовой стрелке относительно переданного ему bitmap попытки
HotPDF обращает поворот попытки и матрицу рендеринга страницы, возвращая прямоугольник, выровненный по осям, и ориентацию против часовой стрелки в пользовательском пространстве страницы PDF, включая страницы с ненулевой записью /Rotate
Валидация и дедупликация
Каждый результат проверяется на конечность confidence, корректность ориентации и геометрии, валидный Unicode, а также на настроенные лимиты текста и необработанных байтов
Когда запрошены все повороты, совпадающие symbology, payload и перекрывающиеся границы на странице дедуплицируются по intersection-over-union, а из кандидатов удерживается тот, у которого confidence выше
Операция никогда не меняет загруженный граф объектов и не публикует частичный массив результатов при сбое рендеринга, декодера, бюджета или отмены