枚举
{
L_OcrXmlOutputOptions_None = 0,
L_OcrXmlOutputOptions_Characters = 1 << 0,
L_OcrXmlOutputOptions_CharacterAttributes = 1 << 1,
};
类型定义L_UINTL_OcrXmlOutputOptions;
控件获取的XML数据的格式L_OcrDocument_SaveXml.
价值 | 意义 | |
---|---|---|
L_OcrXmlOutputOptions_None | 违约。将识别的单词值写入结果XML数据中。 | |
L_OcrXmlOutputOptions_Characters | 在结果XML数据中写入识别的字符值,而不是单词值。 | |
L_OcrXmlOutputOptions_CharacterAttributes | 仅对字符有效。在结果XML数据中写入字符属性(例如字体)。 |
各种各样的L_OcrDocument_SaveXml方法的一个或多个的组合L_OcrXmlOutputOptions枚举成员来控制输出XML数据的格式。
结果XML数据的格式如下:
<?xml version =“1.0”编码=“utf - 16”独立的=“是的”? >
<页>
< >页
<区>
<段落>
< >行
<词>
<字符/ >
<字符/ >
< /词>
< / >
> < /段落
< /区>
> < /页
> < /页
pages元素在每个文档中重复一次,它没有值,也没有附加属性。
页面元素对于文档中的每一页都是重复的(L_OcrDocument_GetPageCount).如果未识别该页或不包含任何区域,则page元素将不包含任何子区域元素。
page元素没有值,包含以下附加属性:
属性 | 价值 |
---|---|
horizontal_resolution | 页面的水平分辨率。该值是页面原始位图句柄的X分辨率。 |
vertical_resolution | 页面的垂直分辨率。该值为页面原始位图handleY分辨率。 |
宽度 | 以像素为单位的页面宽度。该值是页面原始位图句柄宽度。 |
高度 | 以像素为单位的页面高度。该值是页面原始位图句柄高度。 |
对于当前页面中的每个区域,zone元素都会重复。zone元素没有值,包含以下附加属性:
属性 | 价值 |
---|---|
类型 | 分区类型。“文本”,“图形”,“表格”,“OMR”或“Micr”。如果zone元素的类型是“Text”,那么它将包含零个或多个段落子元素。如果区域的类型是“Graphic”,那么它将不包含和其他子元素。 |
左 | 以像素为单位的区域左侧位置。取值为L_OcrZone.Bounds。左converted to pixels. |
前 | 区域顶部位置(以像素为单位)。取值为L_OcrZone.Bounds。前converted to pixels. |
正确的 | 以像素为单位的区域右侧位置。取值为L_OcrZone.Bounds。正确的converted to pixels. |
底 | 以像素为单位的区域底部位置。取值为L_OcrZone.Bounds。底converted to pixels. |
子类型 | 分区类型。取值为L_OcrZone.ZoneType。 |
段落元素对于当前区域中的每个文本段落都是重复的,它没有任何属性。如果此区域没有识别文本,则段落元素将不包含任何子行元素。
段落元素没有属性,也没有值。
line元素对当前段落中的每一行文本都重复。line元素没有值,包含以下附加属性:
属性 | 价值 | |
---|---|---|
左 | 左行位置以像素为单位。 | |
前 | 以像素为单位的行顶位置。 | |
正确的 | 以像素为单位的直线右位置。 | |
底 | 以像素为单位的行底部位置。left、top、right和bottom的值是由组成这一行的所有单词的边界之和计算出来的。 | |
基地 | 基准线:这条线的基线位置该值由组成该行的所有单词的基线之和计算得出。 |
对于当前行中的每个文本单词,都重复使用单词element。如果在生成选项中没有指定L_OcrXmlOutputOptions_Characters,那么word元素将包含单词的值作为其值。否则,单词element将不包含任何值。
单词element有以下属性:
属性 | 价值 |
---|---|
左 | 单词的左位置以像素为单位。 |
前 | 以像素为单位的单词顶部位置。 |
正确的 | 以像素为单位的单词正确位置。 |
底 | 字的底部位置以像素为单位。左、上、右和下的值是由组成这个单词的所有字符的边界之和计算出来的。 |
基地 | 这个字的基线位置。该值由组成该单词的所有字符的基线之和计算得出。 |
只有在生成选项中指定了L_OcrXmlOutputOptions_Characters时,下面单词中的每个字符才会重复字符元素。否则,word element将不包含子字符元素。如果在生成选项中指定了L_OcrXmlOutputOptions_Characters,则字符元素将包含该字符的值作为其值。否则,字符元素将不包含任何值。
character元素包含以下附加属性:
属性 | 价值 |
---|---|
左 | 字符的左位置(像素)。 |
前 | 以像素为单位的字符顶部位置。 |
正确的 | 字符以像素为单位的正确位置。 |
底 | 字符以像素为单位的底部位置。左,上,右,下的值由L_OcrCharacter.Bounds。 |
基地 | 字符的基线位置。取值为L_OcrCharacter.Base。 |
信心 | 这个人物的自信。取值为L_OcrCharacter.Confidence。 |
font_size | 字体大小以点为单位。取值为L_OcrCharacter.FontSize。仅当指定L_OcrXmlOutputOptions_CharacterAttributes时可用。 |
成比例的 | 如果字符字体成比例,“是”,“否”;否则。该值由L_OcrCharacter.FontStyles。仅当指定L_OcrXmlOutputOptions_CharacterAttributes时可用。 |
衬线 | 如果字符字体为衬线字体则为“是”,“否”;否则。该值由L_OcrCharacter.FontStyles。仅当指定L_OcrXmlOutputOptions_CharacterAttributes时可用。 |
大胆的 | 字体加粗为“是”,为“否”;否则。该值由L_OcrCharacter.FontStyles。仅当指定L_OcrXmlOutputOptions_CharacterAttributes时可用。 |
斜体 | 如果字体为斜体,则为“否”;否则。该值由L_OcrCharacter.FontStyles。仅当指定L_OcrXmlOutputOptions_CharacterAttributes时可用。 |
下划线 | 字符字体下划线为“是”,则为“否”;否则。该值由L_OcrCharacter.FontStyles。仅当指定L_OcrXmlOutputOptions_CharacterAttributes时可用。 |
以下是指定L_OcrXmlOutputOptions_None时的XML输出示例:
<?xml version =“1.0”编码=“utf - 16”独立的=“是的”? >
<页>
<页面horizontal_resolution =“300”vertical_resolution =“300”宽度=“2544”身高=“3294”>
<区类型=“文本”离开了=“371”顶级=“370”正确的=“831”底=“420”子类型=“文本”recognition_module =“汽车”fill_method =“默认”>
<段落>
<行左=“372”顶级=“371”正确的=“830”底=“419”基础=“29”>
<字左=“372”顶级=“371”正确的=“554”底=“409”基础=“30”许可证> < /词>
<字左=“570”顶级=“372”正确的=“830”底=“419”基础=“29”协议> < /词>
< / >
> < /段落
< /区>
> < /页
> < /页
下面是指定L_OcrXmlOutputOptions_Characters时相同的XML输出:
<?xml version =“1.0”编码=“utf - 16”独立的=“是的”? >
<页>
<页面horizontal_resolution =“300”vertical_resolution =“300”宽度=“2544”身高=“3294”>
<区类型=“文本”离开了=“371”顶级=“370”正确的=“831”底=“420”子类型=“文本”recognition_module =“汽车”fill_method =“默认”>
<段落>
<行左=“372”顶级=“371”正确的=“830”底=“419”基础=“29”>
<字左=“372”顶级=“371”正确的=“554”底=“409”基础=“30”>
<字符左=“372”顶级=“372”正确的=“398”底=“408”基础=“36”信心=“100”L > < /字符>
<字符左=“402”顶级=“371”正确的=“409”底=“408”基础=“37”信心=“100”>我> < /字符
<字符左=“414”顶级=“381”正确的=“438”底=“409”基础=“27岁”信心=“100”> c > < /字符
<字符左=“442”顶级=“381”正确的=“468”底=“409”基础=“27岁”信心=“100”> e > < /字符
<字符左=“472”顶级=“381”正确的=“496”底=“408”基础=“27岁”信心=“100”> n > < /字符
<字符左=“501”顶级=“381”正确的=“525”底=“408”基础=“27岁”信心=“100”> s < /字符>
<字符左=“529”顶级=“381”正确的=“554”底=“408”基础=“27岁”信心=“100”> e > < /字符
< /词>
<字左=“570”顶级=“372”正确的=“830”底=“419”基础=“29”>
<字符左=“570”顶级=“372”正确的=“604”底=“408”基础=“36”信心=“100”> < /字符>
<字符左=“607”顶级=“381”正确的=“633”底=“419”基础=“27岁”信心=“100”> g > < /字符
<字符左=“639”顶级=“381”正确的=“655”底=“408”基础=“27岁”信心=“100”> r > < /字符
<字符左=“657”顶级=“381”正确的=“682”底=“408”基础=“27岁”信心=“100”> e > < /字符
<字符左=“685”顶级=“381”正确的=“710”底=“408”基础=“27岁”信心=“100”> e > < /字符
<字符左=“715”顶级=“381”正确的=“753”底=“408”基础=“27岁”信心=“100”> < /字符>
<字符左=“758”顶级=“381”正确的=“783”底=“408”基础=“27岁”信心=“100”> e > < /字符
<字符左=“788”顶级=“381”正确的=“812”底=“408”基础=“27岁”信心=“100”> n > < /字符
<字符左=“815”顶级=“374”正确的=“830”底=“408”基础=“34”信心=“100”> t > < /字符
< /词>
< / >
> < /段落
< /区>
> < /页
> < /页
您可以使用L_OcrXmlOutputOptions_CharacterAttributes选项L_OcrDocumentManager_GetFontName获取每个字符的字体族名称。在执行OCR时,引擎不能区分类似的字体(如Arial和Calibri),相反,引擎获得字符是否有衬线以及字体是比例还是固定的信息。
根据L_OcrDocumentManager_GetFontName,返回值为字符串数组,具体取决于传递的参数L_OcrDocumentFontType,详情如下:
指数 | 描述 |
---|---|
L_OcrDocumentFontType_ProportionalSerif | 与比例衬线字符一起使用的字体 |
L_OcrDocumentFontType_ProportionalSansSerif | 与比例无衬线字符一起使用的字体 |
L_OcrDocumentFontType_FixedSerif | 与等距衬线字符一起使用的字体 |
L_OcrDocumentFontType_FixedSansSerif | 与等宽无衬线字符一起使用的字体 |
L_OcrDocumentFontType_ICR | 与ICR(手写)字符一起使用的字体 |
L_OcrDocumentFontType_MICR | MICR(检查字体)字符使用的字体 |