Multi-symbol raster barcode scanning
HPDFCreateBuiltInBarcodeDecoder scant meerdere gescheiden symbolen in hetzelfde raster, waaronder gemengde lineaire, QR Code-, Data Matrix ECC 200- en PDF417-symbolen die de native decoders ondersteunen
De bestaande DecodeLoadedPageBarcodes-overload gebruikt deze scanner automatisch en bewaart de pixel-bounds van elk resultaat voordat de page-pipeline ze naar PDF-coördinaten mapt
Resultaten worden gesorteerd op top-positie en daarna op linkerpositie, en dubbele detecties worden alleen samengevoegd als symbology, tekst, raw bytes en overlaplocatie overeenkomen; identieke payloads op verschillende posities blijven aparte resultaten
Native helper en geometrie
HPDFBarcodeRecognitionScan exporteert HPDFScanBarcodeBitmap voor aanroepers die de rijkere THPDFBarcodeScanSymbols-array en THPDFBarcodeScanInfo-statistieken nodig hebben
Geef een THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder en THPDFBarcodeScanOptions.Default mee; de single-symbol-factory houdt ook directe toegang tot de oorspronkelijke decoder in stand voor applicatiespecifieke regioselectie
HPDFCreateScanningBarcodeDecoder wikkelt een meegeleverde single-symbol-IHPDFBarcodeDecoder in dezelfde region scanning, duplicate suppression en geaggregeerde budgetten voor applicaties die alleen de gewone decoder-interface nodig hebben
Elke THPDFBarcodeScanSymbol bevat het gewone Barcode-record, vier raster-Corners, HasPerspectiveGeometry en een per-symbol-Diagnostic
Data Matrix-geometrie leidt een convexe hull af uit voorgrond-extremen per rij, herstelt vier randlijnen, snijdt aangrenzende lijnen en lost een homografie met acht parameters op om modulecentra te samplen met een meerderheidsstem van vijf punten
De decoder probeert ondersteunde vierkante en standaard rechthoekige ECC 200-formaten, rotaties en spiegelingen, en verifieert daarna finder-randen en Reed-Solomon-blokken voordat hij tekst of raw bytes teruggeeft; rotatie en trapeziumprojectie kunnen gecombineerd worden met corrigeerbare schade aan datamodules
Voor geverifieerde Data Matrix-geometrie meet OrientationDegrees de canonieke bovenrand met de klok mee vanuit de positieve x-as van het raster, terwijl Corners de gedetecteerde hull met de klok mee volgen met een niet-gespecificeerde starthoek
HPDFDataMatrixGeometry exporteert HPDFLocateDataMatrixQuadrilateral en HPDFSampleBarcodeQuadrilateral, en HPDFDataMatrixDecoder exporteert HPDFDecodeDataMatrixQuadrilateral voor applicaties die de vier geprojecteerde hoeken al kennen
De confidence-waarden beschrijven het verificatiepad van de decoder, geen gekalibreerde statistische kans; projectief gesamplede ECC 200-resultaten rapporteren momenteel 0.90 na geslaagde verificatie van rand en error correction
Voor andere native symbologies beschrijven de hoeken van de helper de teruggegeven axis-aligned bounds en is HasPerspectiveGeometry false; hun bestaande confidence- en orientatiewaarden blijven behouden
Budgetten en atomaire publicatie
De scanner gebruikt Otsu-binarisatie en vier-pixel-occupatietegels, en verbindt daarna matrix-voorgrondregio's vanaf de grootste van drie begrensde buurafstanden richting kleinere afstanden; hierbij wordt eerst een compleet gedraaid symbool geprobeerd voordat losse fragmenten bekeken worden, met strakkere retries voor gescheiden symbolen en de full-raster-fallback voor ongebruikelijke schaal of verbonden artwork
Regio's waarvan de voorgrondtegels al door geverifieerde resultaten worden gedekt worden overgeslagen vóór het decoderen, en de bronpixels en het pixel format van de bitmap van de aanroeper blijven behouden
Standaardlimieten zijn 256 candidate decodes, 67.108.864 totaal aan candidate-pixels, 268.435.456 geschatte working bytes en een request-deadline van twee seconden; de oorspronkelijke plafonds van 4096 bij 4096 dimensies en 4.194.304 invoer-pixels blijven gehandhaafd
MaxResults, MaxTextCodeUnits en MaxRawBytes in de request gelden voor de gepubliceerde totale resultatenset, inclusief herhaalde payloads op verschillende locaties
THPDFBarcodeScanInfo rapporteert het aantal geprobeerde candidates, de cumulatief gedecodeerde pixels, afgewezen candidates en overlappende dubbele resultaten
Annulering propageert als EHPDFOperationCancelled; uitgeputte budgetten of decoderfouten geven false terug met een diagnostiek, en alle fouten laten de symbol-array leeg, zelfs als eerdere candidates al succesvol waren gedecodeerd
Lege of uniform laag-contrasterende invoer wordt succesvol afgerond met een lege array, en niet-ondersteund hoog-contrasterend artwork levert geen gegokt symbool op
Recognition-bereik
Matrix scanning probeert grotere verbonden groepen vóór strakkere fragmenten, met behoud van retries voor gescheiden symbolen en de oorspronkelijke deadline; native QR-geometrie valideert exacte finder-patronen voordat het volledige candidate-grid wordt toegewezen en gesampled
Meerdere symbolen hebben genoeg zichtbare achtergrondscheiding nodig voor region grouping; rakende symbolen, overlappende symbolen, dicht omliggend artwork, zwaar beschadigde locator-randen, minuscule geprojecteerde modules en extreme perspectief kunnen lokalisatie verhinderen
DMRE, gekromde oppervlakken, herstel van fotografische glans en extra symbologies buiten de bestaande native decoderset vallen nog buiten dit profiel
Onafhankelijke fixtures dekken een collage van zes symbolen met herhaalde QR-payloads, gedraaide en trapeziumvormige Data Matrix-afbeeldingen, rechthoekige ECC 200 en gecombineerd perspectief met corrigeerbare schade aan datamodules
Zie Ingebouwde OCR en barcodeherkenning voor de ondersteunde payload-modi en Loaded page barcode decoding voor de mapping van pagina- naar rastercoördinaten