내장 OCR 및 바코드 인식
ApplyLoadedOCRTextLayer와 DecodeLoadedPageBarcodes의 engine-free overload는 HotPDF의 제한된 내장 인식기를 사용합니다
OCR 적용 범위
내장 OCR 백엔드는 machine-printed ASCII 영숫자(대소문자 혼합 포함)를, 로컬 윈도우 폴백이 있는 Otsu binarization, connected-component glyph 추출, 캐시된 multi-font glyph 템플릿에 대한 제한적인 grayscale 템플릿 매칭으로 인식합니다
일반, 굵게, 기울임, 굵은 기울임 템플릿이 외부 OCR 설치 없이 Arial, Times New Roman, Courier New, Tahoma, Segoe UI를 커버합니다
인식기는 대체로 어두운 배경 위의 밝은 텍스트를 정규화하고, grayscale 범위가 255단위 중 16단위 이상이면 흐려진 텍스트도 받아들이며, 호출자의 bitmap과 단어 좌표는 그대로 유지합니다
행 단위 높이 클러스터링과 대소문자 맥락 판단이 대문자와 소문자 형태를 구분하고, i와 j의 점은 본체와 병합되며, 최소 component 면적 미만의 speckle 노이즈는 무시되고, 단어 간격은 bimodal 간격 클러스터링으로 감지됩니다
인식된 단어는 행별 baseline과 cap height를 보고하므로 ApplyLoadedOCRTextLayer가 검색 가능한 텍스트를 정확히 배치할 수 있습니다
자연 장면, 미지원 폰트, 매우 작은 텍스트, 모호한 형태는 여전히 추측 단어를 반환하지 않고, 인식되지 않은 보류 glyph이 하나라도 들어간 단어는 문자를 조용히 잃는 대신 통째로 생략됩니다
균일한 배경과 grayscale 범위가 16단위 미만인 이미지는 결과를 반환하지 않으며, 자동 극성 선택은 배경이 페이지 대부분을 차지한다고 가정합니다
유효한 이미지에서 인식된 단어가 없으면 빈 결과 배열로 성공합니다. 빈 페이지, 저대비 페이지, 미지원 텍스트 페이지가 여기에 듭니다. 스캔 문서 일괄 처리는 다음 페이지로 계속되고, 잘못된 요청, 취소, 예산 소진은 여전히 실패합니다
Windows FPC는 픽셀 형식을 바꾸거나 원본 픽셀을 버리지 않고 24비트와 32비트 입력 bitmap을 모두 읽습니다
바코드 적용 범위
내장 linear 백엔드는 필수 체크섬을 갖춘 Code 39, SHIFT와 FNC 제어를 포함한 Code 128 A/B/C 세트, EAN-8, EAN-13, UPC-A, UPC-E를 디코딩합니다
QR Code는 버전 1~40에서 quarter-turn과 미러 방향, finder 기반 투시 샘플링, BCH 포맷 복구, 각 블록 용량 안에서 손상된 codeword의 Reed-Solomon 복구를 지원합니다
Data Matrix ECC 200은 10~144 모듈의 정사각형 크기, 여섯 가지 표준 직사각형 크기, 다중 region과 블록, ASCII, C40, Text, X12, EDIFACT, Base256 페이로드를 지원합니다
PDF417은 오류 복구 레벨 0~8에서 GF(929) Reed-Solomon 복구를 갖춘 text, 숫자, byte compaction을 지원합니다
byte 페이로드는 원본 바이트를 보존하고 UTF-8을 포함한 지원되는 ECI 문자 집합을 처리합니다. 지원되지 않는 ECI 값은 명시적으로 실패합니다
내장 이미지 스캔 하나는 인식된 심볼 하나를 보고합니다. 하나의 raster에서 여러 심볼을 감지해야 한다면 페이지 및 region 파이프라인이나 애플리케이션 디코더를 사용하세요
Data Matrix는 회전과 사다리꼴 투시 샘플링, 복구 가능한 데이터 모듈 손상까지 지원합니다. DMRE는 여전히 디코더 범위 밖이고, PDF417 복구는 모든 행의 locator pattern이 알아볼 수 있게 남아 있어야 합니다
locator 기하를 파괴하거나 복구 용량을 넘는 손상은 결과를 반환하지 않고, 맞닿거나 겹치는 심볼은 독립적인 위치 파악을 방해할 수 있습니다
예산과 원자성
인식은 4096×4096 이미지와 4,194,304 픽셀로 제한되며 시간·결과·텍스트·raw 바이트에 고정 한도가 적용됩니다
내장 OCR은 픽셀 변환, thresholding, component 추출, glyph 정규화, 행 분석 중에 2초 기한과 취소 token을 검사하고, 8,192 component 상한이 밀집 노이즈 분석을 묶습니다
취소는 기존 OCR 및 바코드 파이프라인을 통해 전파되며, 파이프라인은 전체 요청이 성공한 후에만 결과를 게시합니다