文字识别基础版

客户端识别

方法
Download() DownloadLangData() GetIfUseDetectedFont()
GetMinFontSizeforMoreAccurateResult() GetUnicodeFontName() IsModuleInstalled()
Recognize() RecognizeFile() RecognizeRect()
RecognizeSelectedImages SetIfUseDetectedFont() SetLanguage()
SetMinFontSizeforMoreAccurateResult() SetOutputFormat() SetPageSetMode()
SetUnicodeFontName()
OCR Basic 结果对象
Result PageSetResult PageResult
LineResult WordResult

示例代码

function DoOCR(inputType) {
    var inputFilePath = "D:\\OCRInput\\OCRInput.jpg",
        outputFilePath = "D:\\OCRResult\\OCResult.pdf",
        strHTTPServer = location.hostname,
        CurrentPathName = unescape(location.pathname),
        CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") + 1),
        appPath = "";
    if (location.port == 80)
        appPath = "http://" + strHTTPServer + CurrentPath;
    else
        appPath = "http://" + strHTTPServer + ":" + location.port + CurrentPath;

    if (DWObject.Addon.OCR.IsModuleInstalled()) {
        DWObject.Addon.OCR.SetLanguage(EnumDWT_OCRLanguage.OCRL_ENG);
        DWObject.Addon.OCR.SetOutputFormat(EnumDWT_OCROutputFormat.OCROF_PDFIMAGEOVERTEXT_PDFX);
        DWObject.Addon.OCR.DownloadLangData(
            appPath + "OCRBResources/OCRBasicLanguages/English.zip",
            function () {
                switch (inputType) {
                    case 'SinglePage': //OCR当前图片
                        DWObject.Addon.OCR.Recognize(DWObject.CurrentImageIndexInBuffer,
                            function (index, result) {
                                result.Save(outputFilePath);
                            },
                            function (errorCode, errorString) {
                                alert(errorString);
                            }
                        );
                        break;
                    case 'Multi-Page': //OCR前三张图片
                        DWObject.Addon.OCR.RecognizeSelectedImages([0, 1, 2],
                            function (result) {
                                result.Save(outputFilePath);
                            },
                            function (errorCode, errorString) {
                                alert(errorString);
                            }
                        );
                        break;
                    case 'File': //OCR一个本地文件
                        DWObject.Addon.OCR.RecognizeFile(inputFilePath,
                            function (file, result) {
                                result.Save(outputFilePath);
                            },
                            function (errorCode, errorString) {
                                alert(errorString);
                            }
                        );
                        break;
                    case 'Rect': //OCR图片的左上角(200 * 200)
                        DWObject.Addon.OCR.RecognizeRect(
                            DWObject.CurrentImageIndexInBuffer, 0, 0, 200, 200,
                            function (index, left, top, right, bottom, result) {
                                result.Save(outputFilePath);
                            },
                            function (errorCode, errorString) {
                                alert(errorString);
                            }
                        );
                        break;
                }
            },
            function (errorCode, errorString) {
                alert(errorString);
            }
        );
    } else {
        DWObject.Addon.OCR.Download(appPath + "OCRBResources/OCR.zip",
            function () {
                DoOCR();
            },
            function (errorCode, errorString) {
                alert(errorString);
            }
        );
    }
}

方法

Download()
下载并安装OCR Basic模块。
语法 .Addon.OCR.Download(sDLLPath, [optionalAsyncSuccessFunc, optionalAsyncFailureFunc]);
参数
  • String sDLLPath: 指定下载地址,如 "http://www.dynamsoft.com/DWT/Resources/OCR.zip".
  • <OnSuccess function> optional optionalAsyncSuccessFunc: 执行成功时的回调函数。
  • <OnFailure function> optional optionalAsyncFailureFunc: 执行失败时的回调函数。
  • 请参考函数原型OnSuccessOnFailure
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 本方法只在本地没找到对应OCR Basic模块或者本地版本和要使用的版本不一致时才做下载安装的操作。否则直接进入成功回调。用户也可以调用IsModuleInstalled()方法来预先判断是否需要调用Download()
DownloadLangData()
下载指定的OCR语言包。
语法 .Addon.OCR.DownloadLangData(sLanguagePackagePath, [optionalAsyncSuccessFunc, optionalAsyncFailureFunc]);
参数
  • String sLanguagePackagePath: 指定语言包的下载地址。如"http://www.dynamsoft.com/DWT/Resources/OCRBasicLanguages/English.zip".
  • <OnSuccess function> optional optionalAsyncSuccessFunc: 执行成功时的回调函数。
  • <OnFailure function> optional optionalAsyncFailureFunc: 执行失败时的回调函数。
  • 请参考函数原型OnSuccessOnFailure
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 本方法将下载并把语言包放到OCR Basic默认调用的位置,如果该语言包已经下载,则直接进入成功回调。
GetIfUseDetectedFont()
当识别结果为PDF时,本方法返回是否在结果中采用OCR系统自己检测到的字体还是采用系统或者用户指定的字体。
语法 .Addon.OCR.GetIfUseDetectedFont();
参数
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明
SetIfUseDetectedFont()
当识别结果为PDF时,本方法设置是否在结果中采用OCR系统自己检测到的字体还是采用系统或者用户指定的字体。
语法 .Addon.OCR.SetIfUseDetectedFont(bValue);
参数
  • Boolean bValue: true or false.
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 如果用户需要用Addon.OCR.SetUnicodeFontName()指定字体,则必须首先调用本方法且bValue须为true
GetMinFontSizeforMoreAccurateResult()
返回基础字体大小。当识别过程中遇到比这一字体小的区域时,OCR Basic将重复执行更精细的区域识别以返回更准确的结果。这个基础字体大小可以通过Addon.OCR.SetMinFontSizeforMoreAccurateResult()设定。
语法 .Addon.OCR.GetMinFontSizeforMoreAccurateResult();
参数
返回值 Number
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 如果返回值是0,则表示区域精细识别功能未启用。
SetMinFontSizeforMoreAccurateResult()
设置基础字体大小。参考Addon.OCR.GetMinFontSizeforMoreAccurateResult()
语法 .Addon.OCR.SetMinFontSizeforMoreAccurateResult(nValue);
参数
  • Number nValue: 指定基础字体大小.
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 如果设置值为0,则表示不启用区域精细识别功能。
GetUnicodeFontName()
返回检测到的字体名。
语法 .Addon.OCR.GetUnicodeFontName();
参数
返回值 String
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明
SetUnicodeFontName()
Addon.OCR.SetIfUseDetectedFont(false)被调用后,指定OCR结果采用的字体。
语法 .Addon.OCR.SetUnicodeFontName(strName);
参数
  • String strName: 指定字体名。
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 strName 应为Windows字体目录(C:\Windows\Fonts)或者OCR工作目录内存在的字体。这一参数不需要加后缀.font。所指定的字体应该支持对应要OCR的结果语言。
IsModuleInstalled()
返回当前版本的OCR Basic是否已经安装。
语法 .Addon.OCR.IsModuleInstalled();
参数
返回值 Boolean
版本信息 Versions: v14.1+
Editions: 仅限HTML5 for Windows
使用说明 若返回值为false,用户可以调用Download()来下载安装OCR Basic。
SetLanguage()
指定OCR的结果语言。
语法 .Addon.OCR.SetLanguage(strOCRLanguage);
参数
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 默认语言为英语"eng",在使用一个语言时,必须确保对应的语言包已经下载,否则可以用Addon.OCR.DownloadLangData()方法去下载该语言包。
SetOutputFormat()
设置OCR的结果格式。
语法 .Addon.OCR.SetOutputFormat(OCRResultFormat);
参数
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 默认值为EnumDWT_OCROutputFormat.OCROF_PDFIMAGEOVERTEXT
SetPageSetMode()
设置OCR过程中页面检测模式。
语法 .Addon.OCR.SetPageSetMode(OCRPageSetMode);
参数
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 默认值为3,即自动检测模式。
Recognize()
对指定图片开始做OCR。
语法 .Addon.OCR.Recognize(nImageIndex, asyncSuccessFunc, asyncFailureFunc);
参数
  • Number nImageIndex: 通过索引指定图片,索引从0开始。
  • <OnOCRSuccess function> asyncSuccessFunc: 方法执行成功时的回调函数。 可以在这里查看OCR结果,即result
  • <OnOCRFailure function> asyncFailureFunc: 方法执行失败时的回调函数。
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 参考sample coderesult详情。
RecognizeFile()
对指定的本地文件执行OCR操作。
语法 .Addon.OCR.RecognizeFile(strFileNames, asyncSuccessFunc, asyncFailureFunc);
参数
  • String strFileNames: 指定本地文件路径。如有多个文件则用'|'分隔其路径。
  • <OnOCRSuccess function> asyncSuccessFunc: 方法执行成功时的回调函数。 可以在这里查看OCR结果,即result
  • <OnOCRFailure function> asyncFailureFunc: 方法执行失败时的回调函数。
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 参考sample coderesult详情。
RecognizeRect()
对指定页面上的指定区域执行OCR操作。
语法 .Addon.OCR.RecognizeRect(nImageIndex, nLeft, nTop, nRight, nBottom, asyncSuccessFunc, asyncFailureFunc);
参数
  • Number nImageIndex: 通过索引指定图片,索引从0开始。
  • Number nLeft: 指定区域的左上角X坐标。
  • Number nTop: 指定区域的左上角Y坐标。
  • Number nRight: 指定区域的右下角X坐标。
  • Number nBottom: 指定区域的右下角Y坐标。
  • <OnOCRSuccess function> asyncSuccessFunc: 方法执行成功时的回调函数。 可以在这里查看OCR结果,即result
  • <OnOCRFailure function> asyncFailureFunc: 方法执行失败时的回调函数。
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 参考sample coderesult详情。
RecognizeSelectedImages()
对当前选中的图片执行OCR操作。
语法 .Addon.OCR.RecognizeSelectedImages(asyncSuccessFunc, asyncFailureFunc);
参数
  • <OnOCRSuccess function> asyncSuccessFunc: 方法执行成功时的回调函数。 可以在这里查看OCR结果,即result
  • <OnOCRFailure function> asyncFailureFunc: 方法执行失败时的回调函数。
返回值 Boolean
版本信息 Versions: v11.3.2+
Editions: 仅限HTML5 for Windows
使用说明 参考sample coderesult详情。

Result

OCR结束后返回一个result对象,对应的方法有

方法名 方法描述
Get() 返回一个包含OCR结果的Unicode字符串。其中换行符用'\n'表示。
GetErrorCode() 返回OCR执行的错误码。
GetErrorString() 返回OCR执行的错误信息。
GetFormat() 返回OCR结果格式。参考EnumDWT_OCROutputFormat
GetInput() 返回OCR的输入源,可能是图片索引或者文件地址。
Save() 保存OCR结果到磁盘, 为.txt或者.pdf格式(由结果格式确定)。
GetPageSetCount() 返回OCR结果中的pageset个数。
GetPageSetContent(nPageSetIndex) 返回由nPageSetIndex指定的pageset的详细信息(PageSetResult)。

PageSetResult

方法名 方法描述
GetPageCount() 返回当前pageset中包含的页面数。
GetPageContent(nPageIndex) 返回指定页面的详细信息(PageResult)。

PageResult

方法名 方法描述
GetLineCount() 返回当前页面上包含的行数。
GetLineContent(nLineIndex) 返回指定行的详细信息(LineResult)。

LineResult

GetLineContent(nLineIndex)返回LineResult类型的对象,这个对象有以下方法:

方法名 方法描述
GetWordCount() 返回当前行包含的单词数。
GetLineRect() 返回当前行的坐标。
GetWordContent(nWordIndex) 返回指定单词的详细信息(WordResult)。

WordResult

方法名 方法描述
GetText() 返回当前单词的内容。
GetFontName() 返回指定单词的字体名。
GetFontSize() 返回指定单词的字体大小。
GetWordRect() 返回指定单词对应的坐标。

服务器端识别

以下为服务器端OCR Basic的JAVA接口。如果服务器运行的是.NET或者非JAVA,请联系我们

接口名 描述
String getOCRDllPath() 返回OCR DLL的路径。
String getOCRLanguage() 返回OCR的结果语言。
int getOCRMinFontSizeDoMoreOCR() 返回OCR的基础字体大小。
int getOCRPageSetMode() 返回OCR的页面检测模式。
int getOCRPdfFontSize() 返回OCR结果PDF的字体大小。
int getOCRResultFormat() 返回OCR结果的格式。
String getOCRTessDataPath() 返回OCR用的语言包路径。
String getOCRUnicodeFontName() 返回OCR检测到的字体名。
boolean isOCRNumbericOnly() 返回OCR是否只检测数字。
boolean isOCRUseDetectedFont() 返回OCR结果是否采用OCR检测到的字体。
byte array ocrFile(String strImagePath, out byte array aryDetailedOCRResult) 开始对指定文件执行OCR操作。aryDetailedOCRResult为OCR的结果对象,在该对象上调用getValue方法来返回详细结果。
byte array ocrImage(byte array aryImageBuffer, out byte array aryDetailedOCRResult) 开始对指定文件流执行OCR操作。aryDetailedOCRResult为OCR的结果对象,在该对象上调用getValue方法来返回详细结果。
void setOCRDllPath(String strOCRDllPath) 指定OCR DLL的路径。
void setOCRIsNumbericOnly(boolean bNumbericOnly) 指定是否只OCR数字。
void setOCRLanguage(String strOCRLanguage) 指定OCR的结果语言。
void setOCRMinFontSizeDoMoreOCR(int iMinFontSizeDoMoreOCR) 指定OCR的基础字体大小。
void setOCRPageSetMode(int iOCRPageSetMode) 指定OCR过程中的页面检测模式。
void setOCRPdfFontSize(int iPdfFontSize) 指定OCR的PDF结果中的字体大小。
void setOCRResultFormat(int iOCRResultFormat) 指定OCR的结果格式。
void setOCRTessDataPath(String strOCRTessDataPath) 指定OCR用的语言包路径。
void setOCRUnicodeFontName(String strOCRUnicodeFontName) 指定OCR结果采用的字体。
void setOCRUseDetectedFont(boolean bUseDetectedFont) 指定OCR是否在结果中采用检测到的字体。
void setProductKey(String strProductKey) 指定OCR的许可。

results matching ""

    No results matching ""