Wielosymbolowe skanowanie kodów kreskowych rastra
HPDFCreateBuiltInBarcodeDecoder skanuje wiele oddzielnych symboli w tym samym rastrze, w tym mieszane symbole liniowe, QR Code, Data Matrix ECC 200 i PDF417 wspierane przez natywne dekodery
Istniejące przeciążenie DecodeLoadedPageBarcodes automatycznie używa tego skanera i zachowuje granice pikselowe każdego wyniku, zanim potok strony zmapuje je na współrzędne PDF
Wyniki są sortowane po pozycji górnej, potem lewej, a zduplikowane detekcje są scalane tylko wtedy, gdy symbologia, tekst, surowe bajty i nakładająca się pozycja się zgadzają; identyczne ładunki na osobnych pozycjach pozostają odrębnymi wynikami
Natywny helper i geometria
HPDFBarcodeRecognitionScan eksportuje HPDFScanBarcodeBitmap dla wywołujących, którzy potrzebują bogatszej tablicy THPDFBarcodeScanSymbols i statystyk THPDFBarcodeScanInfo
Przekaż THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder i THPDFBarcodeScanOptions.Default; fabryka pojedynczego symbolu zachowuje też bezpośredni dostęp do oryginalnego dekodera dla wyboru regionów specyficznego dla aplikacji
HPDFCreateScanningBarcodeDecoder owija dostarczony dekoder pojedynczego symbolu IHPDFBarcodeDecoder tym samym skanowaniem regionów, supresją duplikatów i zagregowanymi budżetami dla aplikacji potrzebujących tylko zwykłego interfejsu dekodera
Każdy THPDFBarcodeScanSymbol zawiera zwykły rekord Barcode, cztery narożniki Corners rastra, HasPerspectiveGeometry i per-symbolową Diagnostic
Geometria Data Matrix wyprowadza wypukły obwód z ekstremów wierszy pierwszego planu, odzyskuje cztery linie krawędzi, przecina linie sąsiednie i rozwiązuje homografię ośmiu parametrów, by próbkować środki modułów głosowaniem większościowym pięciu punktów
Dekoder próbuje wspieranych kwadratowych i standardowych prostokątnych rozmiarów ECC 200, obrotów i odbić, po czym weryfikuje ramki finderów i bloki Reed-Solomon przed zwróceniem tekstu albo surowych bajtów; obrót i trapezowa projekcja mogą być łączone z naprawialnym uszkodzeniem modułów danych
Dla zweryfikowanej geometrii Data Matrix OrientationDegrees mierzy kanoniczną górną krawędź zgodnie z ruchem wskazówek zegara od dodatniej osi x rastra, a Corners podążają po wykrytym obwodzie zgodnie z ruchem wskazówek zegara z nieokreślonym narożnikiem startowym
HPDFDataMatrixGeometry eksportuje HPDFLocateDataMatrixQuadrilateral i HPDFSampleBarcodeQuadrilateral, a HPDFDataMatrixDecoder eksportuje HPDFDecodeDataMatrixQuadrilateral dla aplikacji, które już znają cztery rzutowane narożniki
Wartości pewności opisują ścieżkę weryfikacji dekodera, a nie skalibrowane prawdopodobieństwo statystyczne; projekcyjnie próbkowane wyniki ECC 200 raportują obecnie 0,90 po udanej weryfikacji ramek i korekcji błędów
Dla innych natywnych symbologii narożniki helpera opisują zwrócone osiowo wyrównane granice, a HasPerspectiveGeometry jest false; ich istniejące wartości pewności i orientacji są zachowywane
Budżety i publikacja atomowa
Skaner używa binaryzacji Otsu i kafli zajmowania czterech pikseli, po czym łączy regiony pierwszego planu macierzowe od największej z trzech ograniczonych odległości sąsiedztwa w kierunku mniejszych; to próbuje kompletnego obróconego symbolu przed odłączonymi fragmentami, zachowując ciaśniejsze ponowienia dla oddzielnych symboli i fallback całego rastra dla nietypowej skali albo połączonej grafiki
Regiony, których kafle pierwszego planu są już pokryte zweryfikowanymi wynikami, są pomijane przed dekodowaniem, a piksele i format pikseli bitmapy źródłowej wywołującego są zachowywane
Domyślne limity to 256 dekodowań kandydatów, 67,108,864 łączne piksele kandydatów, 268,435,456 szacowanych bajtów roboczych i deadline żądania dwóch sekund; oryginalne sufity 4096 na 4096 wymiarów i 4,194,304 pikseli wejścia pozostają wymuszane
MaxResults, MaxTextCodeUnits i MaxRawBytes w żądaniu stosują się do zagregowanego opublikowanego zbioru wyników, włącznie z powtórzonymi ładunkami w różnych lokalizacjach
THPDFBarcodeScanInfo raportuje próbowaną liczbę kandydatów, skumulowane zdekodowane piksele, odrzuconych kandydatów i nakładające się zduplikowane wyniki
Anulowanie propaguje się jako EHPDFOperationCancelled; wyczerpane budżety albo błędy dekodera zwracają false z diagnostyką, a wszystkie niepowodzenia pozostawiają tablicę symboli pustą, nawet po udanym zdekodowaniu wcześniejszych kandydatów
Puste albo jednorodnie niskokontrastowe wejście kończy się sukcesem z pustą tablicą, a nieobsługiwana wysokokontrastowa grafika nie zwraca żadnego zgadywanego symbolu
Zakres rozpoznawania
Skanowanie macierzowe próbuje większych połączonych grup przed ciaśniejszymi fragmentami, zachowując ponowienia oddzielnych symboli i oryginalny deadline; natywna geometria QR waliduje dokładne wzorce finderów przed alokacją i próbkowaniem pełnej siatki kandydatów
Wiele symboli potrzebuje wystarczającej widocznej separacji tła dla grupowania regionów; dotykające się symbole, nakładające się symbole, gęsta otaczająca grafika, poważnie uszkodzone ramki lokalizatorów, malutkie rzutowane moduły i ekstremalna perspektywa mogą uniemożliwić lokalizację
DMRE, zakrzywione powierzchnie, odzyskiwanie odblasków fotograficznych i dodatkowe symbologie poza istniejącym zestawem natywnych dekoderów pozostają poza tym profilem
Niezależne fiksatury obejmują kolaż sześciu symboli z powtórzonymi ładunkami QR, obrócone i trapezowe obrazy Data Matrix, prostokątne ECC 200 oraz połączoną perspektywę z naprawialnym uszkodzeniem modułów danych
Zobacz Wbudowane rozpoznawanie OCR i kodów kreskowych dla wspieranych trybów ładunku i Dekodowanie kodów kreskowych wczytanej strony dla mapowania współrzędnych strona-rastr