GetOCRDiagnosticsJSON
OCR、診斷
描述
以 version-1 JSON 回報最近的 OCR 階段與圖層動作,並在可用時附上目前指派的實例自有引擎的報告
語法
Delphi
Function TPDFlib.GetOCRDiagnosticsJSON: WideString;
ActiveX
Function PDFlib::GetOCRDiagnosticsJSON() As String
DLL
const wchar_t* DLGetOCRDiagnosticsJSON(int InstanceID);
const char* DLGetOCRDiagnosticsJSONA(int InstanceID);
傳回值
一個 JSON 物件,包含 version、phase、status、complete、errorCode 與 error,必要時附上頁面與字組計數
圖層狀態
| notStarted | 此實例尚未開始任何 OCR 操作 |
|---|---|
| configured | 引擎組態已被接受;這不代表 trained-data 模型真的能辨識頁面 |
| skipped | 頁面帶有非自有既有文字;reason 為 existingText |
| empty | 沒有任何字組達到閾值;舊 OCR 圖層保持原狀 |
| appended | 已加入新的自有 OCR 圖層 |
| replaced | 至少一個自有的舊 OCR 圖層已被取代 |
| error | 操作失敗;請檢查錯誤欄位 |
| cancelled | 供應商取消了目前操作 |
引擎報告
選擇性的 provider 物件包含它最新的 status、complete、exitCode、error 與引擎 log
供應商狀態碼:0 成功、1 無法使用、2 輸入無效、3 輸出無效、4 失敗、5 逾時、6 輸出超限
選擇性的 orientation 物件包含 orientationDegrees、rotateClockwise、confidence,以及它自己的完成與錯誤欄位
方向狀態碼:0 成功、1 無法使用、2 輸入無效、3 輸出無效、4 失敗、5 逾時、6 輸出超限、7 信賴度過低
務必檢查完成旗標:剛設定好的引擎即使預設數值狀態是零,也還沒完成任何辨識
備註
本報告不會重跑 OCR,也不會切換所選頁面
已設定引擎的報告描述它最近一次執行,因此之後被略過的頁面可能仍保留先前的引擎報告;頂層的頁面動作才是最新的頁面決策
OCRDocumentEx 會留下其最後一個嘗試頁面的報告;整數傳回值提供已處理的頁數
errorCode 對應 LastErrorCode;請在 OCR 呼叫後立即讀取診斷,因為其他 API 呼叫可能改變函式庫的最後錯誤碼
DLL 寬字串指標遵循該實例的寬字串傳回緩衝區生命週期;A 變體傳回 UTF-8,並遵循對應的 ANSI 傳回緩衝區生命週期
另請參閱
OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, LastOCRError