自动识别和处理表单- c# .NET 6

本教程展示如何创建一组主表单,然后使用LEADTOOLS SDK在c# . net 6应用程序中自动识别和处理表单。

概述
总结 本教程介绍如何使用High-Level识别和处理表单AutoFormsEngine类在c# . net 6应用程序中。
完成时间 30分钟
Visual Studio项目 下载教程项目(1kb)
平台 .NET控制台应用程序
IDE Visual Studio 2022
运行时目标 .NET 6或更高版本
开发许可 下载LEADTOOLS
用另一种语言试试
  • c#:.NET 6+(控制台)
  • Java:Java

所需的知识

步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前自动识别和处理表单- c# .NET 6教程。

创建项目并添加LEADTOOLS引用

中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。

所需要的参考资料取决于项目的目的。引用可以通过NuGet包添加。

本教程需要以下NuGet包:

有关应用程序需要哪些DLL文件的完整列表,请参阅你的申请中包含的文件

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License

有两种类型的运行时许可证:

初始化AutoFormsEngine、RasterCodes、IOcrEngine和DiskMasterFormsRepository

随着项目的创建、引用的添加和许可的设置,编码就可以开始了。

解决方案资源管理器,打开Program.cs.将下列语句添加到使用块的顶部Program.cs

c#
使用系统;使用先;使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Document;使用Leadtools.Forms.Auto;使用Leadtools.Forms.Processing;使用Leadtools.Forms.Recognition;使用Leadtools.Ocr;

将下面的全局变量添加到程序类。

c#
静态AutoFormsEngine autoEngine;静态RasterCodecs编解码器;静态IOcrEngine ocrEngine;静态DiskMasterFormsRepository formsRepository;

控件中添加一个新方法程序类命名InitFormsEngines ().调用InitFormsEngines ()方法中的Main ()方法调用set license,如下所示。

c#
静态无效主要(字符串[]参数)InitLEAD ();InitFormsEngines ();

将下面的代码添加到InitFormsEngines ()方法初始化AutoFormsEngineRasterCodecsIOcrEngine,DiskMasterFormsRepository对象。

c#
静态无效InitFormsEngines ()编解码器=RasterCodecs ();ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead);ocrEngine。启动(编解码器,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);formsRepository =DiskMasterFormsRepository(编解码器,@ " C: \ LEADTOOLS22 \ \ \ \ MasterForm集形式\ OCR图像资源”);autoEngine =AutoFormsEngine (formsRepository ocrEngine,, AutoFormsRecognitionManager。默认| AutoFormsRecognitionManager。Ocr 30 80真正的);控制台。WriteLine (“引擎初始化成功!”);

添加表单识别和处理代码

程序类添加两个新方法命名RecognizeAndProcessForm ()而且ShowProcessedResults (AutoFormsRunResult runResult).调用RecognizeAndProcessForm ()方法中的主要方法。InitFormsEngines ()方法,如下一节所示。调用ShowProcessedResults ()方法,通过runResult正如超载,在底部RecognizeAndProcessForm ()方法,如下所示。

将下面的代码添加到RecognizeAndProcessForm ()基于主表单识别给定表单的方法,并对表单进行处理以提取所需的信息。

c#
静态无效RecognizeAndProcessForm ()试一试字符串resultMessage =“表格不被认可”字符串formToRecognize ="C:\LEADTOOLS22\资源\图像\表单\待识别表单\OCR\ w9_ocr_filling .tif"AutoFormsRunResult runResult = autoEngine。运行(formToRecognize);如果(runResult ! =FormRecognitionResult recognitionResult = runResult.RecognitionResult.Result;resultMessage = $该表单已被识别为{runResult.RecognitionResult.MasterForm。名称}和{recognitionResult。信心}%的信心。”控制台。WriteLine (“识别结果:);Console.WriteLine (resultMessage);控制台。WriteLine ("=========================================================================");ShowProcessedResults (runResult);(异常交货)Console.WriteLine (ex.Message);

将下面的代码添加到ShowProcessedResults ()控件的处理结果RecognizeAndProcessForm ()方法添加到控制台。

c#
//输出处理结果私人静态无效ShowProcessedResults (AutoFormsRunResult runResult)如果(runResult = =返回字符串resultsMessage =""试一试foreach(FormPage FormPagerunResult.FormFields)foreach(FormField字段formPage)如果(字段! =resultsMessage = $“{resultsMessage}{字段。Name} ={(字段。结果作为TextFormFieldResult)。文本}\ n”(异常交货)Console.WriteLine (ex.Message);如果字符串.IsNullOrEmpty (resultsMessage))控制台。WriteLine (“现场处理结果”);控制台。WriteLine (“没有字段被处理”);控制台。WriteLine (“按任意键退出……”);控制台。ReadKey (真正的);其他的控制台。WriteLine (“现场处理结果:”);Console.WriteLine (resultsMessage);控制台。WriteLine (“按任意键退出……”);控制台。ReadKey (真正的);

请注意

LEADTOOLS SDK附带并安装了样例主表单集和样例填充表单,用于识别和处理。本教程使用这些示例。样例文件安装在< INSTALL_DIR > \ LEADTOOLS22 \ \ \图片形式的资源

关闭OCR引擎

主要方法,添加autoEngine.Dispose ()而且ocrEngine.Shutdown ()RecognizeAndProcessForm ()方法来正确处理AutoFormsEngine并关闭OCR引擎。的Main (string [] args)Section现在看起来应该像这样:

c#
静态无效主要(字符串[]参数)InitLEAD ();InitFormsEngines ();RecognizeAndProcessForm ();autoEngine.Dispose ();如果(ocrEngine ! =& & ocrEngine.IsStarted)ocrEngine.Shutdown ();

处理流

如果要使用内存流加载表单,则将以下代码添加到RecognizeAndProcessForm ()下方法string formtorecognition = @"C:\LEADTOOLS22\资源\图像\表单\待识别表单\OCR\ w9_ocr_filling .tif";

c#
使用varstream = File.OpenRead(formToRecognize))var选择=LoadDocumentOptions ();使用vardocument = DocumentFactory。LoadFromStream(流、期权))//控制台命令来检查文档是否正确加载Console.WriteLine (document.DocumentId);控制台。WriteLine (“文档加载”);

运行项目

按下运行项目F5,或选择Debug ->开始调试

如果正确地执行了这些步骤,将出现控制台并显示以下数据结果:

  1. 公认的形式和置信度值(例如,98%置信度的W9)。
  2. 处理的填充数据(例如,企业名称、地址等)

控制台显示已识别的表单和已填充表单的处理结果。

在本例中,使用了W-9表格。它被正确识别,置信度为98%(其中0表示无置信度,100%表示完全置信度)。

总结

方法创建主窗体集DiskMasterFormsRepository类来识别和处理已填充的表单AutoFormsEngine类。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。