形式处理API教程:识别和处理形式

FormsRecognitionImage

了先进的自动化数据录入问题形式处理API。无论你是工作与客户调查、税务文件,或计费记录每天每个行业使用的形式开展业务。移动数据从纸到数字媒体可以是一个费时的麻烦。这就是为什么LEADTOOLS开发了独有的功能,从图像中提取文本包含的任意组合机印文本,1188金宝搏亚洲 ,通过显微镜,MRZ,有机磁共振字段。LEADTOOLS将自动检测和识别一切!以下是主要步骤快速、准确地处理各种形式无论如何格式化的数据类型。

首先,我们需要初始化表单引擎。这所有的努力阅读和识别数据:

静态孔隙InitFormsEngines(){控制台。WriteLine(“初始化引擎”);编解码器= new RasterCodecs ();recognitionEngine = new FormRecognitionEngine ();processingEngine = new FormProcessingEngine ();formsOCREngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD);formsOCREngine。启动(编解码器,空,空,@“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime ");OcrObjectsManager OcrObjectsManager = new OcrObjectsManager (formsOCREngine);ocrObjectsManager。引擎= formsOCREngine; recognitionEngine.ObjectsManagers.Add(ocrObjectsManager); Console.WriteLine("Engines initialized successfully"); }

形式认可需要主表单和填充表单。主表单包含空白字段和作为一个模板来指定区域。填写表单是一个包含数据的字段。

下一步是指定主形式:

私有静态孔隙CreateMasterFormAttributes(){控制台。WriteLine(“处理主表单”);string [] masterFileNames =目录。getfile (@“C: \ LEADTOOLS21 \ \ \ \ MasterForm集形式\ OCR图像资源”,“*。tif”, SearchOption.AllDirectories);foreach (string masterFileName masterFileNames){字符串formName = Path.GetFileNameWithoutExtension (masterFileName);使用(RasterImage图像=编解码器。加载(masterFileName 0 CodecsLoadByteOrder。BgrOrGray 1,1)) {FormRecognitionAttributes masterFormAttributes = recognitionEngine。CreateMasterForm (formName Guid。空,空);for (int i = 0;我< image.PageCount;我+ +){形象。Page = i + 1; recognitionEngine.AddMasterFormPage(masterFormAttributes, image, null); } recognitionEngine.CloseMasterForm(masterFormAttributes); File.WriteAllBytes(formName + ".bin", masterFormAttributes.GetData()); } } Console.WriteLine("Master Form Processing Complete"); Console.WriteLine("============================================================="); }

最后,我们准备读了形式:

私有静态孔隙RecognizeForm(){控制台。WriteLine(“认识形式\ n”);var GetProjectDirectory = Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly () .Location);字符串formToRecognize = @ " C: \ LEADTOOLS21 \ Resources \ \形式\形式识别\ OCR图像\ W9_OCR_Filled.tif”;使用(RasterImage图像=编解码器。加载(formToRecognize 0 CodecsLoadByteOrder。BgrOrGray 1,1)) {FormRecognitionAttributes filledFormAttributes = recognitionEngine.CreateForm(空);for (int i = 0;我< image.PageCount;我+ +){形象。页面= i + 1; recognitionEngine.AddFormPage(filledFormAttributes, image, null); } recognitionEngine.CloseForm(filledFormAttributes); string resultMessage = "The form could not be recognized"; string[] masterFileNames = Directory.GetFiles(GetProjectDirectory, "*.bin"); foreach (string masterFileName in masterFileNames) { string fieldsfName = Path.GetFileNameWithoutExtension(masterFileName) + ".xml"; string fieldsfullPath = Path.Combine(@"C:\LEADTOOLS21\Resources\Images\Forms\MasterForm Sets\OCR", fieldsfName); processingEngine.LoadFields(fieldsfullPath); FormRecognitionAttributes masterFormAttributes = new FormRecognitionAttributes(); masterFormAttributes.SetData(File.ReadAllBytes(masterFileName)); FormRecognitionResult recognitionResult = recognitionEngine.CompareForm(masterFormAttributes, filledFormAttributes, null); if (recognitionResult.Confidence >= 80) { List alignment = new List(); for (int k = 0; k < recognitionResult.PageResults.Count; k++) alignment.Add(recognitionResult.PageResults[k].Alignment); resultMessage = $"This form has been recognized as a {Path.GetFileNameWithoutExtension(masterFileName)}"; ProcessForm(image, alignment); break; } } Console.WriteLine(resultMessage, "Recognition Results"); Console.WriteLine("=============================================================\n"); } } private static void ProcessForm(RasterImage image, List alignment) { processingEngine.OcrEngine = formsOCREngine; string resultsMessage = string.Empty; processingEngine.Process(image, alignment); foreach (FormPage formPage in processingEngine.Pages) foreach (FormField field in formPage) if (field != null) resultsMessage = $"{resultsMessage}{field.Name} = {(field.Result as TextFormFieldResult).Text}\n"; if (string.IsNullOrEmpty(resultsMessage)) Console.WriteLine("No fields were processed", "FieldProcessing Results"); else Console.WriteLine(resultsMessage, "Field ProcessingResults"); }

有你有它!这都是需要从填充的表单中提取数据。更深入地看,参考本教程如何识别和处理形式

免费评估!

下载LEADTOOLS SDK直接从我们的网站免费。这个试验有利于60天,无限制的聊天和电子邮件的支持。

需要帮忙吗?

联系我们的支持团队免费的技术支持!定价或许可的问题,你可以联系我们的销售团队(sales@leadtools.com)或打电话给我们在704-332-5532。

这一条目将发表在形式的识别和处理和标记,,,,,,,。书签的永久链接

2反应形式处理API教程:识别和处理形式

  1. 史蒂文根 说:

    扎克…希望执行OCR Leadtools Leadtools专有格式中存储的数据存储在一个数据库blob。W / O…如果Leadtools背景信息可以直接OCR blob W / O转换,看起来最有效的方式去(通过X因素)。

    Leadtools能做吗?

    如果是这样…我们可以聊聊OCR的批处理和性能。

  2. 哈迪 说:

    嗨,史蒂文,

    为此,您可以使用SDK文档。特别是LEADDocument DocumentFactory。LoadFromUri方法。

    相关的文档链接:188宝金博安卓下载
    //m.ahtuanjie.com/help/sdk/v21/dh/dox/leaddocument.html
    //m.ahtuanjie.com/help/sdk/v21/dh/dox/documentfactory-loadfromuri.html

    这是一个代码片段来达到你的目的:

    使用(var ocrEngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD)) {ocrEngine。启动(空,空,空,空);var urlToBlob =新的Uri (" https://app.blob.core.windows.net/app/00000000 - 0000 - 0000 - 0000 - 000000000000”);使用文档(var = DocumentFactory。LoadFromUri (urlToBlob,新的LoadDocumentOptions ())) {document.Text。OcrEngine = OcrEngine;foreach (var在document.Pages页){控制台。WriteLine ($ {page.PageNumber}“文本页面…”);var = page.GetText文本();Console.WriteLine(文本);}}}

    如果你想讨论OCR和性能的批处理,请直接给我发邮件hadi.chami@leadtools.com或进入我们的在线聊天M-F 8:30am-6:00pm EST://m.ahtuanjie.com/support/chat

留下一个回复

你的电子邮件地址将不会被发表。必填字段标记*