# dotNet.ocr 库模块帮助文档

<details>  <summary>说明</summary>  <p>

在操作系统设置中添加语言包即可增加 dotNet.ocr(Windows.Media.Ocr) 支持的语言，
添加语言包时默认会安装 OCR 组件。

可用下面的代码打开语言设置：

~~~aardio
raw.execute("ms-settings:regionlanguage")
~~~

</p></details>

[使用范例](https://www.aardio.com/zh-cn/docs/examples/Automation/ComputerVision/dotNet.ocr.html)

## dotNet 成员列表 <a id="dotNet" href="#dotNet">&#x23;</a>

### dotNet.ocr <a id="dotNet.ocr" href="#dotNet.ocr">&#x23;</a>
识别屏幕或图像上文字的本地组件，  
基于系统自带组件（Windows.Media.Ocr），支持 Windows 10/11 以及之后的系统。  

相关的库或函数： string.ocrLite, soImage 。  
soImage 范例中提供自动生成字符与简单 OCR 的工具。

### dotNet.ocr() <a id="dotNet.ocr" href="#dotNet.ocr">&#x23;</a>
创建OCR对象  

[返回对象:DotNetOrcObject](#DotNetOrcObject)

## DotNetOrcObject 成员列表 <a id="DotNetOrcObject" href="#DotNetOrcObject">&#x23;</a>

### DotNetOrcObject.availableLanguages() <a id="DotNetOrcObject.availableLanguages" href="#DotNetOrcObject.availableLanguages">&#x23;</a>
返回支持的语言列表，返回值为字符串数组。  
在操作系统设置中添加语言包即可增加支持的语言（默认会安装 OCR 组件）

### DotNetOrcObject.clickClient(hwnd,text,miniSimilar) <a id="DotNetOrcObject.clickClient" href="#DotNetOrcObject.clickClient">&#x23;</a>
在@hwnd参数指定的窗口上查找并点击@text指定的文本,  
@miniSimilar指定最小相似度,可选参数,默认为 0.5,  
成功返回true

### DotNetOrcObject.close() <a id="DotNetOrcObject.close" href="#DotNetOrcObject.close">&#x23;</a>
关闭对象,  
关闭以后不应再使用此对象,  
默认在对象被回收时会自动关闭

### DotNetOrcObject.detectBitmap() <a id="DotNetOrcObject.detectBitmap" href="#DotNetOrcObject.detectBitmap">&#x23;</a>
识别图像中的文字并返回识别结果对象。  
参数 @1 传可指定 gdip.bimap / gdip.image 对象或者图像路径（字符串）。

[返回对象:DotNetOrcResultObject](#DotNetOrcResultObject)

### DotNetOrcObject.detectBuffer() <a id="DotNetOrcObject.detectBuffer" href="#DotNetOrcObject.detectBuffer">&#x23;</a>
[返回对象:DotNetOrcResultObject](#DotNetOrcResultObject)

### DotNetOrcObject.detectBuffer(buffer) <a id="DotNetOrcObject.detectBuffer" href="#DotNetOrcObject.detectBuffer">&#x23;</a>
识别文字并返回识别结果对象,  
buffer指定图像文件的内存数据,  
支持 jpg,png,bmp 等常见格式

### DotNetOrcObject.detectClient() <a id="DotNetOrcObject.detectClient" href="#DotNetOrcObject.detectClient">&#x23;</a>
[返回对象:DotNetOrcResultObject](#DotNetOrcResultObject)

### DotNetOrcObject.detectClient(hwnd,x,y,cx,cy) <a id="DotNetOrcObject.detectClient" href="#DotNetOrcObject.detectClient">&#x23;</a>
自窗口客户区后台截图并识别文字,注意截图范围越小结果越准确,  
必须用 @hwnd 参数指定窗口句柄,  
可选用 @x,y@ 参数指定坐标  
可选用 @cx,@cy 指定宽度和高度,  
返回识别结果对象

### DotNetOrcObject.detectImagePath() <a id="DotNetOrcObject.detectImagePath" href="#DotNetOrcObject.detectImagePath">&#x23;</a>
[返回对象:DotNetOrcResultObject](#DotNetOrcResultObject)

### DotNetOrcObject.detectImagePath(path) <a id="DotNetOrcObject.detectImagePath" href="#DotNetOrcObject.detectImagePath">&#x23;</a>
自图像文件识别文字,  
参数指定图像文件路径

### DotNetOrcObject.detectScreen() <a id="DotNetOrcObject.detectScreen" href="#DotNetOrcObject.detectScreen">&#x23;</a>
[返回对象:DotNetOrcResultObject](#DotNetOrcResultObject)

### DotNetOrcObject.detectScreen(hwnd,x,y,cx,cy) <a id="DotNetOrcObject.detectScreen" href="#DotNetOrcObject.detectScreen">&#x23;</a>
自屏幕截图并识别文字,  
所有参数可选,可选用 @hwnd 参数指定窗口句柄,  
可选用 @x,y@ 参数指定坐标  
可选用 @cx,@cy 指定宽度和高度,  
返回识别结果对象

### DotNetOrcObject.detectWindow() <a id="DotNetOrcObject.detectWindow" href="#DotNetOrcObject.detectWindow">&#x23;</a>
[返回对象:DotNetOrcResultObject](#DotNetOrcResultObject)

### DotNetOrcObject.detectWindow(hwnd,x,y,cx,cy) <a id="DotNetOrcObject.detectWindow" href="#DotNetOrcObject.detectWindow">&#x23;</a>
自窗口后台截图并识别文字,  
所有参数可选,可选用 @hwnd 参数指定窗口句柄,  
可选用 @x,y@ 参数指定坐标  
可选用 @cx,@cy 指定宽度和高度,  
返回识别结果对象

### DotNetOrcObject.findClient(hwnd,text,miniSimilar) <a id="DotNetOrcObject.findClient" href="#DotNetOrcObject.findClient">&#x23;</a>
在@hwnd参数指定的窗口上查找@text指定的文本,  
@miniSimilar指定最小相似度,可选参数,默认为 0.5,  
成功返回true

### DotNetOrcObject.isLanguageSupported() <a id="DotNetOrcObject.isLanguageSupported" href="#DotNetOrcObject.isLanguageSupported">&#x23;</a>
是否支持指定的语言，字符串参数 @1 用于指定语言。  
例如 "en-US" 指定英文， "zh-Hans-CN" 指定简体中文。

### DotNetOrcObject.language <a id="DotNetOrcObject.language" href="#DotNetOrcObject.language">&#x23;</a>
字符串，设置识别用到的语言。  
例如 "en-US" 指定英文， "zh-Hans-CN" 指定简体中文。

### DotNetOrcObject.waitClickClient(hwnd,text,miniSimilar,timeout,hwndWait) <a id="DotNetOrcObject.waitClickClient" href="#DotNetOrcObject.waitClickClient">&#x23;</a>
等待@hwnd参数指定的窗口,查找并点击@text指定的文本,  
@miniSimilar指定最小相似度,可选参数,默认为 0.6,  
@timeout 为可选的超时参数,单位毫秒,  
可选用 @hwndWait 指定等待窗口句柄,不指定则默认值为 @hwnd,  
成功返回true

### DotNetOrcObject.waitClient(hwnd,text,miniSimilar,timeout,hwndWait) <a id="DotNetOrcObject.waitClient" href="#DotNetOrcObject.waitClient">&#x23;</a>
等待@hwnd参数指定的窗口上出现@text指定的文本,  
@miniSimilar指定最小相似度,可选参数,默认为 0.6,  
@timeout 为可选的超时参数,单位毫秒,  
可选用 @hwndWait 指定等待窗口句柄,不指定则默认值为 @hwnd,  
成功返回true

### DotNetOrcObject.wordSpace <a id="DotNetOrcObject.wordSpace" href="#DotNetOrcObject.wordSpace">&#x23;</a>
单词分隔符，  
不指定则自动设置英文或数值使用空格，中文不分隔

## DotNetOrcResultBlockObject 成员列表 <a id="DotNetOrcResultBlockObject" href="#DotNetOrcResultBlockObject">&#x23;</a>

### DotNetOrcResultBlockObject.points <a id="DotNetOrcResultBlockObject.points" href="#DotNetOrcResultBlockObject.points">&#x23;</a>
文本框四角坐标,长度为4的坐标数组,  
每个坐都是包含x,y坐标属性的对象,  

[返回对象:pointsObject](#pointsObject)

### DotNetOrcResultBlockObject.rect <a id="DotNetOrcResultBlockObject.rect" href="#DotNetOrcResultBlockObject.rect">&#x23;</a>
识别出的文本区块

### DotNetOrcResultBlockObject.text <a id="DotNetOrcResultBlockObject.text" href="#DotNetOrcResultBlockObject.text">&#x23;</a>
识别出的全部文本

### DotNetOrcResultBlockObject.word <a id="DotNetOrcResultBlockObject.word" href="#DotNetOrcResultBlockObject.word">&#x23;</a>
字符或单词数组

### DotNetOrcResultBlockObject.wordRects <a id="DotNetOrcResultBlockObject.wordRects" href="#DotNetOrcResultBlockObject.wordRects">&#x23;</a>
字符或单词区块数组

## DotNetOrcResultObject 成员列表 <a id="DotNetOrcResultObject" href="#DotNetOrcResultObject">&#x23;</a>

### DotNetOrcResultObject.blocks <a id="DotNetOrcResultObject.blocks" href="#DotNetOrcResultObject.blocks">&#x23;</a>
识别结果文本块数组

### DotNetOrcResultObject.click <a id="DotNetOrcResultObject.click" href="#DotNetOrcResultObject.click">&#x23;</a>
查找文本所在的区块正中点坐标,并发送鼠标点击消息

### DotNetOrcResultObject.click(txt,miniSimilar,startIndex) <a id="DotNetOrcResultObject.click" href="#DotNetOrcResultObject.click">&#x23;</a>
查找文本所在的区块正中点坐标,并发送鼠标点击消息,  
参数 @txt 指定要查找的文本,可传入文本数组,支持模糊匹配,  
@miniSimilar 指定最小相似度,可选参数,  
完全相似为1,完全不相似为0,默认最小相似度为0.5,  
可以降低相似度没有问题,此函数会自动获取相似度最高的结果,  
可选指定起始索引,  
成功返回值@1为匹配的文本坐标,返回值@2为找到的索引

### DotNetOrcResultObject.find <a id="DotNetOrcResultObject.find" href="#DotNetOrcResultObject.find">&#x23;</a>
查找文本,支持模糊匹配

### DotNetOrcResultObject.find() <a id="DotNetOrcResultObject.find" href="#DotNetOrcResultObject.find">&#x23;</a>
[返回对象:DotNetOrcResultBlockObject](#DotNetOrcResultBlockObject)

### DotNetOrcResultObject.find(txt,miniSimilar,startIndex) <a id="DotNetOrcResultObject.find" href="#DotNetOrcResultObject.find">&#x23;</a>
查找文本,支持模糊匹配,  
参数 @txt 指定要查找的文本,可传入包含多个查询文本的数组,  
@miniSimilar 指定最小相似度,可选参数,  
完全相似为1,完全不相似为0,默认最小相似度为0.5,  
可以降低相似度没有问题,此函数会自动获取相似度最高的结果,  
可选指定起始索引,  
成功返回值@1为匹配的文本块信息,返回值@2为找到的索引

### DotNetOrcResultObject.findPoint <a id="DotNetOrcResultObject.findPoint" href="#DotNetOrcResultObject.findPoint">&#x23;</a>
查找文本所在的区块正中点坐标,支持模糊匹配

### DotNetOrcResultObject.findPoint(txt,miniSimilar,startIndex) <a id="DotNetOrcResultObject.findPoint" href="#DotNetOrcResultObject.findPoint">&#x23;</a>
查找文本所在的区块正中点坐标,支持模糊匹配,  
参数 @txt 指定要查找的文本,可传入包含多个查询文本的数组,  
@miniSimilar 指定最小相似度,可选参数,  
完全相似为1,完全不相似为0,默认最小相似度为0.5,  
可以降低相似度没有问题,此函数会自动获取相似度最高的结果,  
可选指定起始索引,  
成功返回值@1为匹配的文本坐标,返回值@2为找到的索引

### DotNetOrcResultObject.findRect <a id="DotNetOrcResultObject.findRect" href="#DotNetOrcResultObject.findRect">&#x23;</a>
查找文本所在的区块,支持模糊匹配

### DotNetOrcResultObject.findRect() <a id="DotNetOrcResultObject.findRect" href="#DotNetOrcResultObject.findRect">&#x23;</a>
[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### DotNetOrcResultObject.findRect(txt,miniSimilar,startIndex) <a id="DotNetOrcResultObject.findRect" href="#DotNetOrcResultObject.findRect">&#x23;</a>
查找文本所在的区块,支持模糊匹配,  
参数 @txt 指定要查找的文本,可传入包含多个查询文本的数组,  
@miniSimilar 指定最小相似度,可选参数,  
完全相似为1,完全不相似为0,默认最小相似度为0.5,  
可以降低相似度没有问题,此函数会自动获取相似度最高的结果,  
可选指定起始索引,  
成功返回值@1为匹配的::RECT对象,返回值@2为找到的索引

### DotNetOrcResultObject.search(subString,miniSimilar) <a id="DotNetOrcResultObject.search" href="#DotNetOrcResultObject.search">&#x23;</a>
查找识别结果是否包含@subString指定的子字符串,支持模糊匹配,  
@miniSimilar 指定最小相似度,可选参数,  
完全相似为1,完全不相似为0,默认最小相似度为0.8,  
字符串较短时建议降低相似度

### DotNetOrcResultObject.text <a id="DotNetOrcResultObject.text" href="#DotNetOrcResultObject.text">&#x23;</a>
识别出的全部文本
