Çoklu-sembol Raster Barkod Taraması
HPDFCreateBuiltInBarcodeDecoder, aynı raster'da birden çok ayrılmış sembolü tarar; native decoder'lar tarafından desteklenen karışık linear, QR Code, Data Matrix ECC 200 ve PDF417 sembolleri dâhil
Mevcut DecodeLoadedPageBarcodes overload'ı, bu tarayıcıyı otomatik olarak kullanır ve sayfa pipeline'ı onları PDF koordinatlarına map etmeden önce her result'ın piksel sınırlarını tutar
Result'lar üst konuma ve ardından sol konuma göre sıralanır ve duplicate tespitler yalnızca symbology, metin, ham baytlar ve üst üste-binen konum uyuştuğunda birleştirilir; ayrı konumlardaki özdeş payload'lar ayrı result olarak kalır
Native helper ve geometri
HPDFBarcodeRecognitionScan, daha zengin THPDFBarcodeScanSymbols array'ini ve THPDFBarcodeScanInfo istatistiklerini gerektiren çağıranlar için HPDFScanBarcodeBitmap'i export eder
Bir THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder ve THPDFBarcodeScanOptions.Default geçin; tek-sembol fabrikası, uygulamaya-özgü bölge seçimi için orijinal decoder'a doğrudan erişimi de korur
HPDFCreateScanningBarcodeDecoder, sağlanan tek-sembollü bir IHPDFBarcodeDecoder'ı yalnızca sıradan decoder interface'ine ihtiyaç duyan uygulamalar için aynı bölge taramasıyla, duplicate bastırmasıyla ve toplam bütçelerle sarar
Her THPDFBarcodeScanSymbol, sıradan Barcode record'unu, dört raster Corners'ı, HasPerspectiveGeometry'yi ve sembol-başına bir Diagnostic içerir
Data Matrix geometrisi, convex hull'ı foreground satır ekstremlerinden türetir, dört edge çizgisi kurtarır, komşu çizgileri keser ve modül merkezlerini beş-noktalı çoğunluk oyuyla örneklemek için sekiz-parametreli bir homography çözer
Decoder, desteklenen kare ve standart dikdörtgen ECC 200 boyutlarını, rotasyonları ve aynaları dener, ardından metni veya ham baytları döndürmeden önce finder border'ları ve Reed-Solomon block'larını doğrular; rotasyon ve yamuk projektiflik, düzeltilebilir data-modül hasarıyla birleştirilebilir
Doğrulanmış Data Matrix geometrisi için OrientationDegrees, kanonik üst kenarı raster'ın pozitif x ekseninden saat yönünde ölçer; Corners ise tespit edilmiş hull'u, belirtilmemiş bir başlangıç köşesiyle saat yönünde izler
HPDFDataMatrixGeometry, HPDFLocateDataMatrixQuadrilateral ve HPDFSampleBarcodeQuadrilateral'i export eder; HPDFDataMatrixDecoder ise dört projektilen köşeyi zaten bilen uygulamalar için HPDFDecodeDataMatrixQuadrilateral'i export eder
Confidence value'ları, decoder'ın doğrulama yolunu anlatır — kalibre edilmiş bir istatistiksel olasılığı değil; projektif örneklenmiş ECC 200 result'ları, başarılı border ve error-correction doğrulamasından sonra şu anda 0.90 raporlar
Diğer native symbology'ler için, helper'ın köşeleri döndürülen eksen-hizalı sınırları anlatır ve HasPerspectiveGeometry false'tur; mevcut confidence ve yönelim value'ları korunur
Bütçeler ve atomik yayımlama
Tarayıcı, Otsu binarizasyonu ve dört-piksel occupancy tile'ları kullanır, ardından matrix foreground bölgelerini üç sınırlı komşuluk mesafesinin en büyüğünden küçüklere doğru bağlar; bu, ayrık fragment'lar önceyken eksiksiz bir döndürülmüş sembolü dener ve ayrılmış semboller için daha sıkı retry'leri ve olağandışı ölçek veya bağlantılı grafik için tam-raster fallback'i tutar
Foreground tile'ları zaten doğrulanmış result'lar tarafından kapsanan bölgeler, decoding'den önce atlanır ve çağıranın kaynak bitmap pikselleri ve pixel format'ı korunur
Default limitler, 256 aday decode, 67.108.864 toplam aday piksel, 268.435.456 tahmini working bayt ve iki-saniyelik istek deadline'dır; orijinal 4096 çarpı 4096 boyut ve 4.194.304-piksel input üst sınırları yürürlükte kalır
İstekteki MaxResults, MaxTextCodeUnits ve MaxRawBytes, farklı konumlardaki tekrar-payload'lar dâhil, yayımlanan toplam result kümesine uygulanır
THPDFBarcodeScanInfo, denenmiş aday sayısını, kümülatif decoded pikselleri, reddedilen adayları ve üst üste-binan duplicate result'ları raporlar
Cancellation, EHPDFOperationCancelled olarak yayılır; tükenmiş bütçeler veya decoder hataları diagnostic ile false döndürür ve tüm başarısızlıklar, önceki adaylar başarıyla decode edilmiş olsa bile sembol array'ini boş bırakır
Boş veya tek-düzeli düşük-kontrastlı input, boş array ile başarıyla tamamlanır ve desteklenmeyen yüksek-kontrastlı grafik, tahmin edilen sembol döndürmez
Tanıma kapsamı
Matrix taraması, daha sıkı fragment'lardan önce daha büyük bağlı grupları dener ve ayrılmış-sembol retry'lerini ve orijinal deadline'ı korur; native QR geometrisi, tam aday grid'ini tahsis etmeden ve örneklemeden önce kesin finder pattern'leri doğrular
Birden çok sembol, bölge gruplandırması için yeterli görünür arka plan ayrımı gerektirir; değen semboller, üst üste binen semboller, yoğun çevre grafikleri, ağır hasarlı locator border'ları, minik projektilen modüller ve aşırı perspektif lokalizasyonu engelleyebilir
DMRE, kavisli yüzeyler, fotografik parıltı kurtarması ve mevcut native decoder set'inin ötesindeki ek symbology'ler bu profilin dışında kalır
Bağımsız fixture'lar, tekrar-QR payload'lı altı-sembollü bir kolajı, döndürülmüş ve yamuk Data Matrix görsellerini, dikdörtgen ECC 200'ü ve düzeltilebilir data-modül hasarıyla birleşik perspektifi kapsar
Desteklenen payload mode'ları için bkz. Built-in OCR ve Barkod Tanıma; sayfa-to-raster koordinat eşlemesi için bkz. Loaded Page Barkod Decoding