多符号栅格条码扫描

HPDFCreateBuiltInBarcodeDecoder 在同一栅格中扫描多个分离的符号,包括原生解码器支持的线性码、QR Code、Data Matrix ECC 200 和 PDF417 的混合组合

既有的 DecodeLoadedPageBarcodes 重载会自动使用该扫描器,并在页面管线把像素边界映射为 PDF 坐标之前保留每个结果的像素边界

结果按 top 位置再按 left 位置排序;只有符号体系、文本、原始字节和重叠位置全部一致时才合并重复检测,不同位置的相同载荷仍保持为独立结果

原生辅助接口与几何

HPDFBarcodeRecognitionScan 导出 HPDFScanBarcodeBitmap,供需要更丰富的 THPDFBarcodeScanSymbols 数组和 THPDFBarcodeScanInfo 统计信息的调用方使用

传入一个 THPDFBarcodeDecodeRequest、HPDFCreateBuiltInSingleBarcodeDecoder 和 THPDFBarcodeScanOptions.Default;单符号工厂同样保留对原始解码器的直接访问,便于应用做特定区域的选取

HPDFCreateScanningBarcodeDecoder 用同样的区域扫描、重复抑制和聚合预算包装给定的单符号 IHPDFBarcodeDecoder,适合只需要普通解码器接口的应用

每个 THPDFBarcodeScanSymbol 包含普通的 Barcode 记录、四个栅格 Corners、HasPerspectiveGeometry 和每个符号自己的 Diagnostic

Data Matrix 几何从前景行极值推导凸包,恢复四条边线,求相邻边线交点,再解八参数 homography,用五点多数表决采样模块中心

解码器会尝试受支持的正方形和标准矩形 ECC 200 尺寸、旋转和镜像,然后在返回文本或原始字节之前校验定位边框和 Reed-Solomon 块;旋转与梯形投影可以叠加可纠正的数据模块损伤

对已验证的 Data Matrix 几何,OrientationDegrees 以栅格正 x 轴为基准顺时针度量规范顶边,而 Corners 沿检测到的凸包顺时针排列,起始角不定

HPDFDataMatrixGeometry 导出 HPDFLocateDataMatrixQuadrilateral 和 HPDFSampleBarcodeQuadrilateral,HPDFDataMatrixDecoder 导出 HPDFDecodeDataMatrixQuadrilateral,供已经知道四个投影角点的应用使用

置信度值描述的是解码器的验证路径,而不是校准过的统计概率;投影采样的 ECC 200 结果目前在校验边框和纠错成功后报告 0.90

对其他原生符号体系,辅助接口的 corners 描述的是返回的轴对齐边界,HasPerspectiveGeometry 为 false;它们既有的置信度和方向值保持不变

预算与原子发布

扫描器使用 Otsu 二值化和四像素占用 tile,然后从三个有界邻域距离中的最大者向较小者连接矩阵前景区域;这样会先尝试完整的旋转符号再处理分离碎片,同时保留对分离符号的更紧重试,以及面对异常尺寸或连通图形时的全栅格回退

前景 tile 已被已验证结果覆盖的区域会在解码前跳过,调用方源位图的像素与像素格式保持原样

默认限制是 256 次候选解码、67,108,864 总候选像素、268,435,456 估算工作字节和两秒请求截止时间;原先 4096×4096 的维度上限和 4,194,304 像素的输入上限继续生效

请求中的 MaxResults、MaxTextCodeUnits 和 MaxRawBytes 作用于聚合发布的结果集,包括不同位置的重复载荷

THPDFBarcodeScanInfo 报告尝试的候选数、累计解码像素、被拒绝的候选以及重叠的重复结果

取消以 EHPDFOperationCancelled 传播;预算耗尽或解码器错误返回 false 并附诊断信息,所有失败都会把符号数组清空,即使此前的候选解码成功过

空白或均匀低对比度输入会成功完成并返回空数组,不支持的高对比度图形不会猜测符号

识别范围

矩阵扫描先尝试较大的连通组再尝试更紧的碎片,保留分离符号重试和原始截止时间;原生 QR 几何在分配并采样完整候选网格之前先验证精确的定位图案

多符号场景需要足够的可见背景间隔才能完成区域分组;相互接触的符号、重叠符号、密集的周围图形、严重受损的定位边框、极小的投影模块以及极端透视都可能阻止定位

DMRE、曲面、照片眩光恢复以及超出既有原生解码器集合的更多符号体系仍不在本档案覆盖范围内

独立 fixture 覆盖含重复 QR 载荷的六符号拼贴、旋转和梯形 Data Matrix 图像、矩形 ECC 200,以及投影叠加可纠正数据模块损伤的组合

支持的载荷模式参见 Built-in OCR and Barcode Recognition,页面到栅格的坐标映射参见 Loaded Page Barcode Decoding