自动识别和解析非结构化文档- c#控制台

本教程展示了如何自动识别一种形式,从一个非结构化文档检索数据使用LEADTOOLS SDK . net c#控制台应用程序。

被使用的形式AutoFormsEngine搭配LEADTOOLS形式认可。数据提取使用JSON文件中定义的规则集搭配LEADTOOLS文档分析器。

概述
总结 本教程介绍了如何识别和解析非结构化形式在c# Windows控制台应用程序。
完成时间 20分钟
项目 下载教程项目(3 KB)
平台 c# Windows控制台应用程序
IDE Visual Studio 2019中,2022年
运行许可证 下载LEADTOOLS

所需的知识

熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前自动识别和解析非结构化文档- c#控制台教程。

创建项目并添加LEADTOOLS引用

从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。

的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:

如果使用NuGet引用,本教程需要以下NuGet包:

如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:

对于一个完整的列表的应用程序所需的DLL文件,请参考文件包含在您的应用程序

设置许可文件

许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。细节包括教程不同的平台,请参考设置一个运行时许可

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

初始化AutoFormsEngine、RasterCodecs IOcrEngine, DiskMasterFormsRepository

与项目创建、添加引用,许可,可以开始编码。

为了运行应用程序,你将需要一套主形式和填充的表单识别和过程。每个非结构化阴模组将有以下文件:

本教程使用的文件可以下载链接

解决方案资源管理器,打开Program.cs。添加以下语句使用块顶部:

c#
使用系统;使用先;使用System.Collections.Generic;使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Ocr;使用Leadtools.Forms.Recognition;使用Leadtools.Forms.Auto;使用Leadtools.Document;使用Leadtools.Document.Analytics;使用Leadtools.Document.Data;使用Leadtools.Document.Unstructured;使用Newtonsoft.Json;

添加以下全球成员:

c#
/ /添加这些全球成员静态AutoFormsEngine autoEngine;静态RasterCodecs编解码器;静态IOcrEngine ocrEngine;静态DiskMasterFormsRepository formsRepository;静态字符串formToRecognize;

Program.cs,创建一个新的命名方法InitFormsEngine ()并添加以下代码来初始化AutoFormsEngine,RasterCodes,IOcrEngine,DiskMasterFormsRepository对象。该方法将被称为内Main ()下面的方法SetLicense ();

c#
私人静态无效InitFormsEngine (){编解码器=RasterCodecs ();ocrEngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD);ocrEngine.Startup(编解码器,,,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);formsRepository =DiskMasterFormsRepository(编解码器,@“与主表单文件路径目录”);autoEngine =AutoFormsEngine (formsRepository ocrEngine,,AutoFormsRecognitionManager。默认| AutoFormsRecognitionManager。80年Ocr, 30日,真正的);Console.WriteLine (“引擎初始化成功!”);}

添加表单识别代码

添加一个新方法RecognizeForm ()程序类。该方法将在下面被称为InitFormsEngines ();Main ()方法。将下面的代码添加到给定形式识别的新方法。

c#
私人静态无效RecognizeForm (){varjson = JsonConvert.SerializeObject(编码器);字符串resultMessage =“形式不承认”;formToRecognize =@“填充表单文件路径”;AutoFormsRunResult runResult = autoEngine.Run (formToRecognize,);如果(runResult ! =){FormRecognitionResult recognitionResult = runResult.RecognitionResult.Result;resultMessage = $@”这种形式被公认为{runResult.RecognitionResult.MasterForm。名称}与{recognitionResult。信心}%的信心。”;}Console.WriteLine (“识别结果:);Console.WriteLine (resultMessage);Console.WriteLine (“= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ");}

添加代码分析和解析文本

程序类,创建一个新的命名方法AnalyzeAndParseDocument ()。以下调用这个方法RecognizeForm ()方法Main ()方法。

c#
私人静态无效AnalyzeAndParseDocument (){字符串_dir = Path.GetDirectoryName (formToRecognize);字符串_fileName = Path.GetFileNameWithoutExtension (formToRecognize);字符串规则集=路径。结合(_dir _fileName +. json”);LEADDocument文档= DocumentFactory.LoadFromFile (formToRecognize,LoadDocumentOptions ());document.Text。OcrEngine = OcrEngine;/ /创建分析器DocumentAnalyzer分析仪=DocumentAnalyzer (){读者=UnstructuredDataReader (),QueryContext =FileRepositoryContext(规则集)};DocumentAnalyzerRunOptions选项=DocumentAnalyzerRunOptions {ElementQuery =RepositoryQuery ()};< ElementSetResult > =分析仪结果列表。运行(文档,选择);字符串resultsMessage =字符串空虚;foreach(ElementSetResult结果结果)foreach(ElementResult项result.Items)Console.WriteLine ($“{(item.GetFriendlyName ())} = {(item.Value)}”);}

运送和安装LEADTOOLS SDK示例主形成样本集和填充的表单进行识别和处理。本教程使用这些样品。示例文件可以发现在这个文件路径:< INSTALL_DIR > \ LEADTOOLS22 \ \ \图片形式的资源

OCR引擎关闭

添加下面的代码Main ()方法妥善处理在这个应用程序中使用的资源。

c#
静态无效主要(字符串[]参数){试一试{SetLicense ();InitFormsEngine ();RecognizeForm ();AnalyzeAndParseDocument ();codecs.Dispose ();autoEngine.Dispose ();如果(ocrEngine ! =& & ocrEngine.IsStarted)ocrEngine.Shutdown ();}(异常交货){Console.WriteLine (ex.ToString ());}Console.WriteLine (“按任意键退出……”);Console.ReadKey ();}

运行该项目

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

如果步骤正确,控制台显示公认的形式以及解析结果填充表单。

控制台显示公认的形式和解析结果的形式

对于这个示例,使用医疗形式。正确地认识到,与91%的信心(0表示没有信心和100%意味着完整的信心)。

总结

本教程展示了如何创建一个主表单设置使用DiskMasterFormsRepository类,然后如何识别和解析了形式使用AutoFormsEngineDocumentAnalyzer类。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2023领先的技术公司。保留所有权利。