GetOCRDiagnosticsJSON

OCR、诊断

描述

返回描述最近一次 OCR 阶段与层动作的 version-1 JSON,可用时还包含当前指派的实例自有引擎的报告

语法

Delphi

Function TPDFlib.GetOCRDiagnosticsJSON: WideString;

ActiveX

Function PDFlib::GetOCRDiagnosticsJSON() As String

DLL

const wchar_t* DLGetOCRDiagnosticsJSON(int InstanceID);
const char* DLGetOCRDiagnosticsJSONA(int InstanceID);

返回值

一个包含 version、phase、status、complete、errorCode 与 error 的 JSON 对象,适用时还带页面与单词计数

层状态

notStarted本实例尚未启动任何 OCR 操作
configured引擎配置已被接受;这不能证明训练数据模型能识别页面
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