作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。
它是做什么的
该C#控制台应用程序可以扫描页面,用OCR提取文本,并使用LEADTOOLS第19版将其保存为PDF格式。
所使用的功能
· OCR
· TWAIN
开发进程日志
大家好,我是法瑞斯。我要创建一个控制台应用程序,该程序可以使用TWAIN来扫描扫描仪中的页面,识别扫描页面中的文本,最后,将所识别的页面保存为可搜索的PDF文件。
在这个项目中,我会使用LEADTOOLS识别成像SDK和使用了.NET C#编程语言的程序。
LEADTOOLS的该识别成像SDK为我提供了用TWAIN扫描仪进行扫描的功能,并且可以识别图像中使用了光学字符识别(OCR)的文本,并将所识别出的图像保存为文档格式(PDF,DOCX,TXT)。
应当指出的是,该应用程序可以识别英文字符的印刷体,而不能识别手写体文本。不过,既然LEADTOOLS OCR引擎可以支持多国语言,而且该专业引擎又支持智能字符识别(ICR),我们完全可以对其进行自定义,以满足程序员的需求。
首先,我将以Visual Studio 2010中的一个新的控制台应用程序开始。然后,我也将增加TWAIN所需的SDK引用,OCR和公文写作的各项功能。
现在我已经添加了用于启动TWAIN会话、用于列举连接到设备的扫描仪,以及用于从扫描仪获得图像所必需的代码。这花了大约30分钟的工作。
接下来需要进行的是,对所获取的图像进行识别。 LEADTOOLS可以支持3种不同的OCR引擎:优势引擎,专业引擎和阿拉伯语引擎。在我的项目中,我将使用优势引擎。
该OCR引擎必须首先被启动;然后,图像中的文字应放在识别区域的内部;这样,图像将准备好进行识别。对于如何将图像分区,我使用了AutoZone
方法,因为我要识别整个页面,而不是它的特定部分。在查阅LEADTOOLS在线帮助文档中有关AutoZone
方法的资料时,我找到了一个真正有用的代码示例:
现在,添加可以对所扫描的图像进行识别的代码,这一部分我已经完成。这花了大约一个小时的时间。
下一步是要将识别出来的文档保存为可搜索的PDF文件。幸运的是,我之前所引用的例子中显示了用来实现这一目标的代码。所有我需要做的就是,用上一步中所提到的这种方式来添加代码,以便保存识别出的文档。程序员可以修改该项目的一部分,以便提示用户必须指定自己希望将输出文件保存为哪些文件格式,并且指定输出文件的名称。
现在这一部分已经完成,历时约30分钟。
最后,我会努力地修改错误疏漏之处并对代码进行测试。我将分别在连接两个扫描仪时,或者只连接一个扫描仪时,测试该应用程序。因为这是一个控制台应用程序,我将在当前操作下添加多行代码到控制台,以便使用户更加了解该应用程序。
最后一部分工作现在也已经完成,花了大约2个小时的时间。该项目的全部工作时间总计,包括开发、调试和测试程序,约4小时。如果没有LEADTOOLS SDK的帮助,想要在2小时内完成核心功能的代码,进而在不到一天的工作时间里完成整个应用程序的开发,这是不可能的。
下载该项目
该示例项目的源代码您可以点击
进行下载。
要运行这个示例代码,请将文件解压缩至:C:\LEADTOOLS 19\Examples\DotNet\CS 目录下
支持
关于其他产品的更多信息,请访问我们的官方网站,
欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。
同时欢迎您使用评估版期间的免费技术支持
关于葡萄城
葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。