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 返回缓冲区生命周期