Escaneo raster de códigos de barras multi-símbolo

HPDFCreateBuiltInBarcodeDecoder escanea múltiples símbolos separados en el mismo raster, incluyendo símbolos lineales mixtos, QR Code, Data Matrix ECC 200 y PDF417 soportados por los decoders nativos

El overload existente de DecodeLoadedPageBarcodes usa este scanner automáticamente y conserva los límites en píxeles de cada resultado antes de que el pipeline de páginas los mapee a coordenadas PDF

Los resultados se ordenan por posición superior y luego por posición izquierda, y las detecciones duplicadas se fusionan solo cuando simbología, texto, bytes crudos y posición superpuesta coinciden; payloads idénticos en posiciones distintas siguen siendo resultados separados

Helper nativo y geometría

HPDFBarcodeRecognitionScan exporta HPDFScanBarcodeBitmap para los llamadores que necesiten el array más completo THPDFBarcodeScanSymbols y las estadísticas de THPDFBarcodeScanInfo

Pasa un THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder y THPDFBarcodeScanOptions.Default; la fábrica de símbolo único también conserva acceso directo al decoder original para selección de regiones específica de la aplicación

HPDFCreateScanningBarcodeDecoder envuelve un IHPDFBarcodeDecoder de símbolo único suministrado con el mismo escaneo por regiones, supresión de duplicados y presupuestos agregados, para aplicaciones que solo necesitan la interfaz ordinaria del decoder

Cada THPDFBarcodeScanSymbol contiene el record ordinario Barcode, cuatro Corners del raster, HasPerspectiveGeometry y un Diagnostic por símbolo

La geometría Data Matrix deriva un convex hull a partir de los extremos de fila del primer plano, recupera cuatro líneas de borde, interseca líneas adyacentes y resuelve una homografía de ocho parámetros para muestrear los centros de módulos con votación mayoritaria de cinco puntos

El decoder prueba tamaños ECC 200 cuadrados y rectangulares estándar soportados, rotaciones y espejados, y luego verifica bordes finder y bloques Reed-Solomon antes de devolver texto o bytes crudos; la rotación y la proyección trapezoidal pueden combinarse con daño corregible en módulos de datos

Para geometría Data Matrix verificada, OrientationDegrees mide el borde superior canónico en sentido horario desde el eje x positivo del raster, mientras que Corners sigue el hull detectado en sentido horario con una esquina inicial indeterminada

HPDFDataMatrixGeometry exporta HPDFLocateDataMatrixQuadrilateral y HPDFSampleBarcodeQuadrilateral, y HPDFDataMatrixDecoder exporta HPDFDecodeDataMatrixQuadrilateral para aplicaciones que ya conocen las cuatro esquinas proyectadas

Los valores de confianza describen la ruta de verificación del decoder, no una probabilidad estadística calibrada; los resultados ECC 200 muestreados de forma proyectiva reportan 0.90 tras una verificación exitosa de borde y corrección de errores

Para las demás simbologías nativas, las esquinas del helper describen los bounds alineados a ejes devueltos y HasPerspectiveGeometry es false; sus valores existentes de confianza y orientación se conservan

Presupuestos y publicación atómica

El scanner usa binarización Otsu y tiles de ocupación de cuatro píxeles, y luego conecta las regiones del primer plano de la matriz desde la mayor de tres distancias acotadas de vecindad hacia distancias menores; así prueba un símbolo rotado completo antes que fragmentos desconectados, a la vez que conserva reintentos más ajustados para símbolos separados y el fallback de raster completo para escalas inusuales o arte conectado

Las regiones cuyos tiles de primer plano ya están cubiertos por resultados verificados se omiten antes de decodificar, y se preservan los píxeles del bitmap de origen y su pixel format

Los límites por defecto son 256 decodificaciones candidatas, 67,108,864 píxeles candidatos totales, 268,435,456 bytes de trabajo estimados y un deadline de dos segundos por solicitud; los techos originales de entrada de 4096 por 4096 dimensiones y 4,194,304 píxeles siguen aplicándose

MaxResults, MaxTextCodeUnits y MaxRawBytes de la solicitud se aplican al conjunto agregado de resultados publicados, incluyendo payloads repetidos en ubicaciones distintas

THPDFBarcodeScanInfo reporta el conteo de candidatos intentados, los píxeles decodificados acumulados, los candidatos rechazados y los resultados duplicados superpuestos

La cancelación se propaga como EHPDFOperationCancelled; los presupuestos agotados o los errores del decoder devuelven false con un diagnóstico, y todos los fallos dejan el array de símbolos vacío incluso después de que candidatos anteriores se decodificaron con éxito

Una entrada en blanco o de bajo contraste uniforme termina con éxito y un array vacío, y un arte de alto contraste no soportado no devuelve símbolo alguno supuesto

Alcance del reconocimiento

El escaneo de matrices prueba grupos conectados más grandes antes que fragmentos más ajustados, preservando los reintentos de símbolos separados y el deadline original; la geometría QR nativa valida patrones finder exactos antes de asignar y muestrear la grilla completa de candidatos

Los símbolos múltiples necesitan separación de fondo visible suficiente para agrupar regiones; símbolos que se tocan, símbolos superpuestos, arte circundante denso, bordes de localización muy dañados, módulos proyectados diminutos y perspectiva extrema pueden impedir la localización

DMRE, superficies curvas, recuperación de reflejos fotográficos y simbologías adicionales más allá del set nativo existente de decoders quedan fuera de este perfil

Fixtures independientes cubren un collage de seis símbolos con payloads QR repetidos, imágenes Data Matrix rotadas y trapezoidales, ECC 200 rectangular y perspectiva combinada con daño corregible en módulos de datos

Consulta Reconocimiento integrado de OCR y códigos de barras para los modos de payload soportados y Decodificación de códigos de barras en páginas cargadas para el mapeo de coordenadas de página a raster