Встроенное распознавание OCR и штрихкодов
Перегрузки ApplyLoadedOCRTextLayer и DecodeLoadedPageBarcodes без внешнего движка используют ограниченные встроенные распознаватели HotPDF
Возможности OCR
Встроенный OCR-бэкенд распознает машинопечатные буквы и цифры ASCII, включая текст в смешанном регистре: бинаризация по Отсу с fallback на локальное окно, выделение глифов как связных компонентов и ограниченное сопоставление шаблонов в градациях серого против кэшированных шаблонов глифов из нескольких шрифтов
Шаблоны обычного, жирного, курсивного и жирного курсивного начертаний покрывают Arial, Times New Roman, Courier New, Tahoma и Segoe UI без внешней установки OCR
Распознаватель нормализует светлый текст на преимущественно тёмном фоне и принимает выцветший текст, когда диапазон градаций серого не меньше 16 уровней из 255, сохраняя bitmap вызывающей стороны и координаты его слов
Кластеризация высот на уровне строки и учет контекста регистра разделяют заглавные и строчные формы, точки над i и j склеиваются с их ножками, шумовой «крап» площадью меньше минимальной компоненты игнорируется, а пробелы между словами находятся бимодальной кластеризацией интервалов
Распознанные слова сообщают базовую линию и высоту заглавных для каждой строки, поэтому ApplyLoadedOCRTextLayer может точно разместить текст, доступный для поиска
Естественные сцены, неподдерживаемые шрифты, очень мелкий текст и неоднозначные формы по-прежнему не возвращают угаданных слов, а любое слово, содержащее нераспознанный оставшийся глиф, отбрасывается целиком, вместо того чтобы молча терять символы
Однородные фоны и изображения с диапазоном градаций серого меньше 16 уровней не возвращают результата; автоматический выбор полярности предполагает, что фон занимает большую часть страницы
Корректное изображение без распознанных слов завершается успешно с пустым массивом результатов — это касается пустых, низкоконтрастных страниц и страниц с неподдерживаемым текстом; пакеты сканированных документов продолжают обработку следующих страниц, а неверные запросы, отмена и исчерпанные лимиты по-прежнему приводят к сбою
Windows FPC читает входные bitmap как 24-битные, так и 32-битные, не меняя их формат пикселей и не отбрасывая исходные пиксели
Возможности распознавания штрихкодов
Встроенный линейный бэкенд декодирует Code 39, Code 128 наборов A/B/C с управляющими символами SHIFT и FNC, EAN-8, EAN-13, UPC-A и UPC-E с обязательными контрольными суммами
QR Code версий с 1 по 40 поддерживает ориентации с поворотом на четверть оборота и зеркальные, перспективный сэмплинг по finder-паттернам, восстановление форматной информации через BCH и коррекцию Reed-Solomon поврежденных кодовых слов в пределах емкости каждого блока
Data Matrix ECC 200 поддерживает квадратные размеры от 10 до 144 модулей, шесть стандартных прямоугольных размеров, несколько регионов и блоков, а также payload ASCII, C40, Text, X12, EDIFACT и Base256
PDF417 поддерживает compaction text, numeric и byte с коррекцией Reed-Solomon над GF(929) на уровнях коррекции ошибок от 0 до 8
Байтовые payload сохраняют исходные байты и учитывают поддерживаемые кодировки ECI, включая UTF-8; неподдерживаемые значения ECI завершаются явной ошибкой
Каждое встроенное сканирование изображения находит несколько разделённых поддерживаемых символов, удерживает повторяющиеся payload на разных позициях и сообщает границы и уверенность каждого символа; мультисимвольное растровое сканирование штрихкодов предоставляет нативный хелпер, проецируемые углы Data Matrix и бюджеты сканирования
Data Matrix поддерживает повёрнутый и трапецеидальный проективный сэмплинг, включая исправляемые повреждения data-модулей; DMRE остаётся за пределами декодера, а для восстановления PDF417 требуется, чтобы locator-паттерны каждой строки оставались распознаваемыми
Повреждение, разрушившее геометрию locator или превысившее емкость коррекции, не возвращает результата, а соприкасающиеся или перекрывающиеся символы могут помешать независимой локализации
Лимиты и атомарность
Распознавание ограничено изображениями 4096 на 4096 и 4,194,304 пикселей с фиксированными лимитами времени, результатов, текста и сырых байтов
Во время преобразования пикселей, бинаризации, выделения связных компонентов, нормализации глифов и анализа строк встроенный OCR проверяет двухсекундный дедлайн и token отмены; потолок в 8,192 компоненты ограничивает анализ плотного шума
Отмена распространяется по существующим конвейерам OCR и штрихкодов, которые публикуют результаты только после успешного выполнения всего запроса