-
ABBYY FineReader Engine OCR
软件开发工具包深度解析
介绍
在过去几周,我在业余时间里利用
ABBYY
开发的
FineReade
r Engine
试用版来开发了一些简单的
OCR
应用程
序。
FineReader Engine
是
1
个软件开发工具包,用来开发功<
/p>
能强大的应用程序,以打开图像、
PDF
文档和扫描文档,分
析和解析内容并输出结果。它们几乎能够生成任何一种包含
文本结果的导出文件,
包括基于文本的
PDF<
/p>
格式、
微软
Office
格式、
XML
格式(尤其有助于让
OCR
结果与其他系统配套
使用)等等。关于
ABBYYFineReader Engine
p>
ABBYY
网站上对
FineReader
Engine
的描述如下:
ABBYY FineReader Engine
是一款功能
强大的光学
字符识别(
OCR
)软件开
发工具包(
SDK
)
,集成了
ABBYY
最先进的文档识别和转换软件技术,如:光学字符识别
(
OCR
)
、智能字
符识别(
ICR
)
、光学标记识别(<
/p>
OMR
)
、
条形
码识别(
OBR
)
、文档影像和
PDF
转换。
如果开
发人员需要开发具有以下任一功能的应用
程序,可以考虑使用
A
BBYY FineReader Engine
软件开发工
具
包(
SDK
)
:
·文档转换
·文件归档
·文件分类
·书籍归档
·文本提取
·字段识别
·条码识别
·名片识别
·图像预处理
·扫描
p>
这个
SDK
中包含有十几个应用程序示例,
包括
C++
、
C
#、
、
VB
、
Delphi
、
Java
和几种脚本语言
(
JavaScript
、
Perl
和
VBSc
ript
)示例。你可以查看代码开发
库(
Code
Development Library
)<
/p>
来快速入门,
代码开发库中包含了
SDK
编程的各个方面。每个截面代码库包含一个或多个代码片段
并逐
步描述了如何运行一项任务。
选择你需要执行
的任务,查看操作步
骤描述,查阅源代码示例或运行可执行
文件:安装和设置
p>
在开发机上安装
FineReader
时有
几个步骤。首先,
必须安装授权服务器。
如果只有
1
个开发人员使用
SDK
,
此
时可以将它直接安装在开发机上。如果多个开发人员要从多<
/p>
个工作站使用
FineReader
,此
时应该将授权服务器安装在所
有开发人员都能访问的应用程序服务器上。授权服务器必须
安装在物理机器上,而不是虚拟机上。
(请注意,该技术可
p>
以在虚拟机和云环境中运行)
。通过授权管理器,您可以添
加和激活您的许可证,无论您的许可证是试用版或购买的正
品版本。
p>
接下来,
可以将
FineReaderEngine
安装在开发机上,
并连
接到授权服务器。
安装完成后,如果您使用的是
Visual Studio20
10
或
2012
,
此时必须再完成几个步骤,
才能够使用可视化组件
(控
p>
件)
。这些步骤在其自带的
SDK
帮助文件“在不同版本的
Visual
Stu
dio
中使用可视化组建”页可以找到。
p>
现在您就可以使用
SDK
进行开发了。你可
以按照
上文代码开发库中描述的示例应用程序进行开发或你可以
着手创建自己的程序。创建项目
首先,在
C
#或
Visual Basic
中创
建
1
个新的
Windows
窗体应用程序。我在开发应用程序时使用的是
Visual
Studio2010
。
随后将
ABBYY
控件添加到
Visual
Studio
工具箱窗口。我在工具箱中创建了
1
个新的
ABBYY
<section>
。
将该项目的引用添加到
ABBYY
Interops
文件夹下的三个
Interop DLL<
/p>
文件中,
在安
装过程中,这三个文件都已
注册并被添加到了
GAC
里面。
UI<
/p>
控件
下面介绍设计视图
Windows<
/p>
窗体中的五个
ABBYY
控件。
从左上角开始,沿顺时针方向依次是:
p>
文件浏览器
-
该控件显示了从图像
/
文件加载的页面
清单以及每个页面的处理状态
。这些页面可以显示为缩略图
或详细信息视图。
图像浏览器
–应用程序用户可以通过
该控件来查
看和编辑在文件浏览器中选中的页面。
文本编辑器
–用户可以使用文本编辑
器查看和编
辑
FREngine
在指定
页面中识别出来的文字。
动态浏览器
–
用户可以使用该控件来放大或缩<
/p>
小图像浏览器中选定的区域。
文本校验器
–
用户可以使用该控件来调整扫描<
/p>
和验证过程中未能识别的文本区域。这也是用于文件拼写检
查的用
户界面。
在这些控件中,将文件和页面同步
是非常简单的事
情,
只需将每个控件添加到代码中的
ComponentSynchronizer
对象即可:
// Attach components
to Synchronizer
Synchronizer =new
entSynchronizerClass();
ntViewer =
(ntViewer )
();
iewer =
(iewer )
();
ewer
=
(ewer )
();
itor =
(itor )
();
引擎
下面举
个简单的例子,来说明如何运用所有五个
FineReader
控件来打开窗体并加载
PDF
文件。
IEngine engine;
FRDocument document;
ComponentSynchronizer synchronizer;
IEngineLoader loader;
privatevoid LoadEngine()
{
loader =new Loader();
engine =
ineObject(
Window =32();
ationTitle =;
document =
FRDocumentFromImage((@
nt =
document;
}
privatevoid SyncComponents()
{
synchronizer =new
ComponentSynchronizer();
ntViewer
=(ntVie
wer)DocViewer.
GetOcx();
iewer
=(iewer)
cx();
-
-
-
-
-
-
-
-
-
上一篇:ERP 系统名词解释中英文对照
下一篇:活动方案提纲怎么写