4#ifndef DOCRPLUGININTERFACE_H
5#define DOCRPLUGININTERFACE_H
18 virtual bool setUseHardware(
const QList<QPair<Dtk::Ocr::HardwareID, int>> &hardwareUsed);
21 virtual bool setAuth(
const QStringList ¶ms);
34 virtual QList<Dtk::Ocr::TextBox>
charBoxes(
int index)
const;
41#define DOcrPluginInterface_iid "Dtk.Plugin.DOcrPluginInterface/1.0"
Definition docrplugininterface.h:13
virtual QList< Dtk::Ocr::HardwareID > hardwareSupportList()=0
获取支持的硬件列表
virtual bool isRunning() const =0
获取是否正在进行识别操作,此接口的调用位置一般和analyze 函数不在同一个线程内, 实现的时候需要注意线程安全
virtual bool setLanguage(const QString &language)=0
设置识别的语种,语种和 languageSupport 函数的返回值对应,插件自身需要做好判断工作
virtual bool analyze()=0
执行识别操作,建议在执行此接口的时候阻塞线程,同时注意激活和取消 isRunning 函数的效果
virtual QStringList authKeys()
获取鉴权参数关键字,此项一般用于需要额外授权才能使用的场景,例如需要联网才能使用或需要CDKEY的场景
virtual bool setPluginExpandParam(const QString &key, const QString &value)
设置自定义拓展参数,此函数用于一些较为高级或复杂的设置项,例如限制显存占用等操作,使用此接口 需要向你的用户准备额外的说明书或操作手册,为了保持插件的简单和兼容性,不推荐使用此接口来实现功能
virtual QString simpleResult() const =0
获取格式简单的整体识别结果,建议以换行符为每个文本框结果的分界线
virtual bool setUseHardware(const QList< QPair< Dtk::Ocr::HardwareID, int > > &hardwareUsed)
设置允许使用的设备,可以一次指定多个设备
virtual bool breakAnalyze()
设置中断当前识别操作
virtual QStringList languageSupport() const =0
获取支持的语种列表,建议使用和 ISO-639 标准兼容的字符串
virtual bool setImageFile(const QString &filePath)
设置图片文件路径,让插件从文件读取图片,图片的类型包含于自身实现的 imageFileSupportFormats 函数的返回值内,插件应当自身做好读取结果的校验
virtual bool setUseMaxThreadsCount(int n)
设置最多可以开几个线程
virtual bool setImage(const QImage &image)
设置需要识别的图片,此处传入的图片不保证就是插件所需的格式,插件应当做好格式校验并转换到所需的格式
virtual QStringList imageFileSupportFormats() const
获取支持读取的图片文件类型
virtual bool setAuth(const QStringList ¶ms)
设置鉴权参数
virtual QImage imageCached() const =0
获取之前设置成功的图片数据,插件应当在执行 setImageFile 或 setImage 成功后对图片进行一次深拷贝,以此来实现此函数
virtual QString pluginExpandParam(const QString &key) const
获取自定义拓展参数设置情况,此函数用于一些较为高级或复杂的设置项,例如限制显存占用等操作,使用此接口 需要向你的用户准备额外的说明书或操作手册,为了保持插件的简单和兼容性,不推荐使用此接口来实现功能
virtual QList< Dtk::Ocr::TextBox > charBoxes(int index) const
获取识别到的文本框中的单个字的字符框
virtual QString resultFromBox(int index) const
获取指定文本框内的识别结果
virtual QList< Dtk::Ocr::TextBox > textBoxes() const
获取识别到的文本框
DOcrPluginInterface类为dtkocr的插件类,你可以通过此类完成OCR的插件开发以拓展dtkocr的功能, 同时不必过多修改上层应用的代码
#define DOcrPluginInterface_iid
用于描述插件接口ID的字符串宏定义,用于Qt在加载时进行识别的依据
Definition docrplugininterface.h:41