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