内置 OCR 与条码识别

ApplyLoadedOCRTextLayer 和 DecodeLoadedPageBarcodes 的无引擎重载使用 HotPDF 内置的有界识别器

OCR 识别范围

内置 OCR 后端识别机器打印 ASCII 字母和数字,包括大小写混合文本,流程是 Otsu 二值化(局部窗口回退兜底)、连通域字形提取,以及针对缓存多字体字形模板的有界灰度模板匹配

常规、粗体、斜体和粗斜体模板覆盖 Arial、Times New Roman、Courier New、Tahoma 和 Segoe UI,无需安装外部 OCR

识别器会把以深色为主的背景上的浅色文本规范化,灰度范围达到 255 级中的至少 16 级时也接受褪色文本,同时保留调用方的位图及其单词坐标

行级高度聚类和大小写上下文偏好负责区分大小写字形,i 和 j 的点会与主笔画合并,低于最小连通域面积的斑点噪声直接忽略,词间隙则通过双峰间隙聚类检测

识别出的单词会报告每行的基线和大写字母高度,ApplyLoadedOCRTextLayer 由此能精确放置可搜索文本

自然场景、不支持的字体、极小的文本和有歧义的形状仍然不会返回猜测的单词;含有未识别保留字形的单词会整体省略,而不是悄悄丢失字符

均匀背景以及灰度范围低于 16 级的图像不返回结果;极性自动选择假设背景占据页面的大部分

有效图像即使没有识别出任何单词也会成功完成并返回空结果数组,包括空白页、低对比度页和不支持文本的页;扫描文档批次会继续处理后续页面,而无效请求、取消和预算耗尽仍然失败

Windows FPC 读取 24 位和 32 位输入位图时,既不改变它们的像素格式,也不丢弃原始像素

条码识别范围

内置一维后端可解码 Code 39、带 SHIFT 和 FNC 控制符的 Code 128 A/B/C 子集,以及带必需校验位的 EAN-8、EAN-13、UPC-A 和 UPC-E

QR Code 支持 1 到 40 版,覆盖旋转加镜像方向、基于定位图案的透视采样、BCH 格式恢复,以及各块容量范围内对受损码字的 Reed-Solomon 纠错

Data Matrix ECC 200 支持从 10 到 144 模块的方形尺寸、六种标准矩形尺寸、多区域和多块,以及 ASCII、C40、Text、X12、EDIFACT 和 Base256 载荷

PDF417 支持文本、数字和字节压缩,纠错级别 0 到 8,采用 GF(929) 上的 Reed-Solomon 纠错

字节载荷保留原始字节,并遵循受支持的 ECI 字符集,包括 UTF-8;不支持的 ECI 值会显式失败

每次内置图像扫描只报告一个识别出的符号;要在同一栅格中检测多个符号,请使用页面与区域 pipeline 或应用自带的解码器

Data Matrix 支持旋转和梯形透视采样,包括可纠正的数据模块损伤;DMRE 仍不在解码器范围内,PDF417 的恢复要求每一行的定位图案仍可辨认

破坏定位几何或超出纠错容量的损伤不会返回结果,相触或重叠的符号可能无法独立定位

预算与原子性

识别限制在 4096 x 4096 图像和 4,194,304 像素以内,并带有固定的时间、结果、文本和原始字节上限

内置 OCR 在像素转换、二值化、连通域提取、字形规范化和行分析期间检查两秒时限与取消令牌;8,192 个连通域的上限约束密集噪声分析

取消操作会沿现有的 OCR 与条码 pipeline 传播,只有完整请求成功后才会发布结果