Scansione barcode raster multi-simbolo
HPDFCreateBuiltInBarcodeDecoder scansiona più simboli separati nello stesso raster, inclusi simboli lineari misti, QR Code, Data Matrix ECC 200 e PDF417 supportati dai decoder nativi
L'overload DecodeLoadedPageBarcodes esistente usa automaticamente questo scanner e conserva i bounds in pixel di ogni risultato prima che la pipeline di pagina li mappi alle coordinate PDF
I risultati sono ordinati per posizione top e poi left, e le rilevazioni duplicate vengono fuse solo quando simbologia, testo, byte raw e posizione sovrapposta concordano; payload identici in posizioni separate restano risultati separati
Helper nativo e geometria
HPDFBarcodeRecognitionScan esporta HPDFScanBarcodeBitmap per i chiamanti che servono l'array THPDFBarcodeScanSymbols più ricco e le statistiche THPDFBarcodeScanInfo
Passa un THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder e THPDFBarcodeScanOptions.Default; la factory a simbolo singolo preserva anche l'accesso diretto al decoder originale per la selezione di regioni specifiche dell'applicazione
HPDFCreateScanningBarcodeDecoder avvolge un IHPDFBarcodeDecoder a simbolo singolo fornito con la stessa scansione di regioni, soppressione dei duplicati e budget aggregati per le applicazioni che servono solo l'interfaccia decoder ordinaria
Ogni THPDFBarcodeScanSymbol contiene il record Barcode ordinario, quattro Corners raster, HasPerspectiveGeometry e un Diagnostic per simbolo
La geometria Data Matrix deriva un hull convesso dagli estremi di riga del primo piano, recupera quattro linee di bordo, interseca le linee adiacenti, e risolve un'omografia a otto parametri per campionare i centri dei moduli con un voto di maggioranza a cinque punti
Il decoder prova dimensioni ECC 200 quadrate e rettangolari standard supportate, rotazioni e specchi, poi verifica i bordi finder e i blocchi Reed-Solomon prima di restituire testo o byte raw; rotazione e proiezione trapezoidale possono essere combinate con danni ai moduli dati correggibili
Per geometrie Data Matrix verificate, OrientationDegrees misura il bordo superiore canonico in senso orario dall'asse x positivo del raster, mentre Corners seguono l'hull rilevato in senso orario con un angolo di partenza non specificato
HPDFDataMatrixGeometry esporta HPDFLocateDataMatrixQuadrilateral e HPDFSampleBarcodeQuadrilateral, e HPDFDataMatrixDecoder esporta HPDFDecodeDataMatrixQuadrilateral per le applicazioni che conoscono già i quattro angoli proiettati
I valori di confidence descrivono il percorso di verifica del decoder, non una probabilità statistica calibrata; i risultati ECC 200 campionati proiettivamente riportano attualmente 0.90 dopo verifica riuscita di bordi e correzione errori
Per le altre simbologie native, gli angoli dell'helper descrivono i bounds axis-aligned restituiti e HasPerspectiveGeometry è false; i loro valori esistenti di confidence e orientamento vengono conservati
Budget e pubblicazione atomica
Lo scanner usa binarizzazione Otsu e tile di occupanza a quattro pixel, poi connette le regioni di primo piano della matrice dalla più grande di tre distanze di vicinato delimitate verso distanze minori; questo prova un simbolo ruotato completo prima dei frammenti sconnessi conservando retry più stretti per simboli separati e il fallback sull'intero raster per scale insolite o grafica connessa
Le regioni i cui tile di primo piano sono già coperti da risultati verificati vengono saltate prima della decodifica, e i pixel e il formato pixel della bitmap sorgente del chiamante vengono preservati
I limiti predefiniti sono 256 decodifiche candidate, 67,108,864 pixel candidati totali, 268,435,456 byte di lavoro stimati e un deadline di richiesta di due secondi; i tetti originali di input a dimensione 4096 per 4096 e 4,194,304 pixel restano applicati
MaxResults, MaxTextCodeUnits e MaxRawBytes nella richiesta si applicano all'insieme aggregato di risultati pubblicati, inclusi payload ripetuti in posizioni diverse
THPDFBarcodeScanInfo riporta conteggio dei candidati tentati, pixel decodificati cumulativi, candidati respinti e risultati duplicati sovrapposti
La cancellazione si propaga come EHPDFOperationCancelled; budget esauriti o errori del decoder restituiscono false con una diagnostica, e tutti i fallimenti lasciano vuoto l'array dei simboli anche dopo che candidati precedenti sono stati decodificati con successo
Input bianco o a contrasto uniformemente basso completa con successo con un array vuoto, e la grafica ad alto contrasto non supportata non restituisce alcun simbolo indovinato
Ambito di riconoscimento
La scansione di matrici prova gruppi connessi più grandi prima dei frammenti più stretti, preservando i retry per simboli separati e il deadline originale; la geometria QR nativa valida i pattern finder esatti prima di allocare e campionare la griglia candidata completa
I simboli multipli hanno bisogno di sufficiente separazione visibile dello sfondo per il raggruppamento delle regioni; simboli a contatto, simboli sovrapposti, grafica densa circostante, bordi locator severamente danneggiati, moduli proiettati minuscoli e prospettiva estrema possono impedire la localizzazione
DMRE, superfici curve, recupero da riflessi fotografici e simbologie aggiuntive oltre l'insieme esistente di decoder nativi restano fuori da questo profilo
Fixture indipendenti coprono un collage di sei simboli con payload QR ripetuti, immagini Data Matrix ruotate e trapezoidali, ECC 200 rettangolare e prospettiva combinata con danni ai moduli dati correggibili
Vedi Riconoscimento OCR e barcode incorporato per le modalità di payload supportate e Decodifica barcode di pagine caricate per la mappatura delle coordinate pagina-raster