作为LEAD技术25周年纪念的一部分,我们正在创建25天内的25个项目,以庆祝LEAD的深度功能和易用性.今天的项目来自Nathan。
它的作用
这个应用程序将搜索光栅图像和文档文件中的文本,并使用LEADTOOLS Version 19返回匹配的文件。
功能使用
发展进度期刊
你好,我的名字是Nathan,我要写一个应用程序,它将搜索文件目录中的特定单词,而不管它们是光栅图像还是文档格式。用LEADTOOLS我应该能找到这个词。
我将从构建一个UI开始,然后我将努力使单词搜索仅使用我们的文档格式
文档类。
188宝金博安卓下载文档:文档类这花的时间并不长,大概30分钟吧。现在我需要添加OCR功能,以便我们可以检查单词的光栅图像。由于OCR较慢,我将添加一个复选框,以允许用户选择使用OCR。
188宝金博安卓下载文档:IOcrEngine这只花了大约一个小时,而且我还得移动一些零件。所有东西都在我的UI线程中,这会引起一些麻烦。我将为所有要完成的工作创建一个后台线程,并为UI创建一些状态,以限制用户在某些场景下可以做什么。
这花了大约2个小时,我对。net中的多线程还比较陌生。现在UI线程与所有正在执行的工作分离,用户可以暂停或取消手头的操作。
我想加快速度,因为大型目录一次处理一个文件会花费相当多的时间。我要用
平行的。ForEach循环不仅处理多个文档,而且每次处理每个文档中的多个页面。这花了大约2个小时,我遇到了一些并发症,我必须解决,但幸运的是,LEADTOOLS OCR和
文档类是线程安全的,因此不需要任何额外的编码来允许同时处理多个文档和多个页面。现在,我们可以在充满文档的目录中搜索特定单词,并在不中断处理的情况下打开所找到的文档,而且速度非常快,因为我们一次处理几个文档,一次处理这些文档中的几个页面。
我要做一些代码清理,然后我就完成了。
经过大约20分钟的代码清理,我完成了!在不到6个小时的时间里,我创建了一个完整的多线程应用程序,允许我在一个充满光栅图像或文档的目录中搜索文本,这是非常惊人的,如果没有LEADTOOLS,我不可能做到这一点。
未来对这个演示的改进是将图像加载到查看器中,并突出显示搜索词所在的区域。
下载项目
此示例项目的源代码可以是此处下载.要运行项目,将其解压到C:\LEADTOOLS 19\Examples\DotNet\CS目录。




