多符號 Raster 條碼掃描
HPDFCreateBuiltInBarcodeDecoder 會在同一個 raster 中掃描多個分離的符號,包括原生解碼器支援的混合線性條碼、QR Code、Data Matrix ECC 200 與 PDF417
既有的 DecodeLoadedPageBarcodes 多載會自動改用這個掃描器,並在頁面管線把像素邊界映射到 PDF 座標前保留每個結果的像素範圍
結果先按上緣位置、再按左緣位置排序;只有當符號類型、文字、原始位元組與重疊位置都一致時才會合併重複偵測;不同位置上的相同內容仍是獨立結果
原生輔助函式與幾何
HPDFBarcodeRecognitionScan 匯出 HPDFScanBarcodeBitmap,給需要更豐富 THPDFBarcodeScanSymbols 陣列與 THPDFBarcodeScanInfo 統計資訊的呼叫端使用
傳入 THPDFBarcodeDecodeRequest、HPDFCreateBuiltInSingleBarcodeDecoder 與 THPDFBarcodeScanOptions.Default;單符號工廠同樣保留對原始解碼器的直接存取,方便應用程式自行挑選區域
HPDFCreateScanningBarcodeDecoder 會把提供的單符號 IHPDFBarcodeDecoder 包上同樣的區域掃描、重複抑制與彙總預算,適合只需要一般解碼器介面的應用程式
每個 THPDFBarcodeScanSymbol 包含一般的 Barcode 記錄、四個 raster Corners、HasPerspectiveGeometry,以及每符號的 Diagnostic
Data Matrix 幾何會由前景列的極值推導凸包,還原四條邊線,相交相鄰邊線,再解出八參數 homography,以五點多數決取樣模組中心
解碼器會嘗試受支援的正方形與標準矩形 ECC 200 尺寸、旋轉與鏡像,然後在回傳文字或原始位元組前驗證定位邊框與 Reed-Solomon 區塊;旋轉與梯形投影可以和可修正的資料模組損壞同時存在
對已驗證的 Data Matrix 幾何,OrientationDegrees 量測的是自 raster 正 x 軸順時針到規範上緣的角度,而 Corners 則沿偵測到的凸包順時針排列,起始角不保證固定
HPDFDataMatrixGeometry 匯出 HPDFLocateDataMatrixQuadrilateral 與 HPDFSampleBarcodeQuadrilateral,HPDFDataMatrixDecoder 匯出 HPDFDecodeDataMatrixQuadrilateral,給已經知道四個投影角落的應用程式使用
信心值描述的是解碼器的驗證路徑,而非校準過的統計機率;目前投影取樣的 ECC 200 結果在邊框與錯誤更正驗證成功後回報 0.90
對其他原生符號類型,輔助函式的 corners 描述回傳的軸對齊邊界且 HasPerspectiveGeometry 為 false;既有的信心值與方向值照舊保留
預算與原子發布
掃描器採用 Otsu 二值化與四像素佔用磚,再從三個有界鄰近距離中最大者往較小者連接矩陣前景區域;這樣會先嘗試完整的旋轉符號、再試離散碎片,同時對分離符號保留更緊的重試,並為特殊尺寸或相連圖稿保留整個 raster 的後備路徑
前景磚已被已驗證結果覆蓋的區域會在解碼前跳過,呼叫端的來源點陣圖像素與像素格式保持不變
預設限制為 256 次候選解碼、67,108,864 個候選像素總量、268,435,456 位元組估計工作記憶體,以及兩秒的請求期限;原本 4096 乘 4096 的尺寸上限與 4,194,304 像素輸入上限仍然生效
請求中的 MaxResults、MaxTextCodeUnits 與 MaxRawBytes 適用於整個發布的結果集,包括不同位置上的重複內容
THPDFBarcodeScanInfo 回報嘗試過的候選數、累計解碼像素、被拒的候選數與重疊的重複結果數
取消會以 EHPDFOperationCancelled 傳播;預算耗盡或解碼器錯誤會回傳 false 並附診斷資訊,而且即使先前的候選已成功解碼,所有失敗都會把符號陣列清空
空白或整體低對比的輸入會以空陣列正常完成,不受支援的高對比圖稿則不會猜測任何符號
識別範圍
矩陣掃描先試較大的相連群組、再試較緊的碎片,保留分離符號的重試與原始期限;原生 QR 幾何會先驗證精確的定位圖樣,才配置並取樣完整的候選網格
多符號需要足夠的可見背景間隔才能完成區域分組;相連的符號、重疊的符號、密集的周圍圖稿、嚴重損壞的定位邊框、過小的投影模組與極端透視,都可能讓定位失敗
DMRE、曲面、反光修復,以及既有原生解碼器集合以外的其他符號類型,仍不在這個設定檔的範圍內
獨立的測試素材涵蓋含重複 QR 內容的六符號拼貼、旋轉與梯形 Data Matrix 影像、矩形 ECC 200,以及透視與可修正資料模組損壞的組合
受支援的內容模式詳見內建 OCR 與條碼識別,頁面到 raster 的座標映射詳見已載入頁面條碼解碼