彩票走势图

无纸化时代,企业复杂庞大的表格信息如何快速提取?光学控件LEADTOOLS轻松搞定

翻译|行业资讯|编辑:胡涛|2022-08-18 10:49:01.003|阅读 128 次

概述:LEADTOOLS是一个综合工具包的集合,本文将介绍无纸化办公下,leadtools如何高效帮你处理文档识别

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

LEADTOOLS是一个综合工具包的集合,用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和处理,PDF,打印捕获,归档,注释和显示功能。利用业界领先的图像处理技术,能够智能识别文件,可以用来识别任何类型的扫描或传真形式的图像。

LEADTOOLS 最新下载

在无纸化办公室工作时,企业会收到来自不同供应商的数百种不同的表格和发票。手动查找、提取和存储所有必要信息通常是一个主要的痛点和瓶颈。值得庆幸的是,借助 LEADTOOLS 文档 SDK 和我们获得专利的 表单识别 技术,一切都可以轻松自动化,以提高工作流程的生产力和效率。

使用 LEADTOOLS,用户只需为每个不同的发票或表单类型创建模板,也称为主表单。然后将这些主表单存储在存储库中,并用于自动识别当前正在处理哪种类型的填写表单。

在下面的演示中,我们获取填写表格的目录并将它们与主表格列表进行比较。我们将首先加载希望识别的填写表格以及我们希望与之比较的主表格。

加载填写好的表格

填充的表单可以跨越多个页面,因此我们需要从填充的表单中读取图像数据,并将每个页面添加到 FormRecognitionAttributes 类的实例中。

private static FormRecognitionAttributes LoadFilledFormAttributes(string filledFormName)
{
 FormRecognitionAttributes filledFormAttributes = recognitionEngine.CreateForm(null);

 RasterImage currentForm = codecs.Load(filledFormName, 0, CodecsLoadByteOrder.BgrOrGray, 1, -1);

 for (int i = 0; i < currentForm.PageCount; i++)
{
recognitionEngine.AddFormPage(filledFormAttributes, currentForm, null);
currentForm.Page = i + 1;
}

 recognitionEngine.CloseForm(filledFormAttributes);

 return filledFormAttributes;
}
加载主表单

加载主表单就像读取主表单的 .bin 文件并将其加载到 FormRecognitionAttributes 类的实例中一样简单。

private static FormRecognitionAttributes LoadMasterFormAttributes(string masterFormName)
{
 FormRecognitionAttributes masterFormAttributes = new FormRecognitionAttributes();
 masterFormAttributes.SetData(File.ReadAllBytes(masterFormName));

 return masterFormAttributes;
}
寻找合适的匹配  

现在我们已经准备好遍历一个充满填写表格的整个目录,并找到它们对应的主表格。 

private static void RecognizeForms()
{
 Console.WriteLine("Recognizing Forms\n");

 string[] formsToRecognize = Directory.GetFiles(filledFormsDirectory, "*.tif", SearchOption.AllDirectories);

 string[] masterFileNames = Directory.GetFiles(masterFormsDirectory, "*.bin", SearchOption.AllDirectories);

 foreach (string filledFormName in formsToRecognize)
{
FormRecognitionAttributes filledFormAttributes = LoadFilledFormAttributes(filledFormName);

  string resultMessage = "";

  foreach (string masterFileName in masterFileNames)
{
FormRecognitionAttributes masterFormAttributes = LoadMasterFormAttributes(masterFileName);

   //Compares the master form to the filled form
FormRecognitionResult recognitionResult = recognitionEngine.CompareForm(masterFormAttributes, filledFormAttributes, null);

   //When the Recognition Engine compares the two documents it also sets a confidence level for how closely the engine thinks the two documents match
if (recognitionResult.Confidence >= AllowedConfidenceLevel)
{
resultMessage = $"Form {Path.GetFileNameWithoutExtension(filledFormName)} has been recognized as a(n) {Path.GetFileNameWithoutExtension(masterFileName)} with a confidence level of {recognitionResult.Confidence}";
break;
}

   resultMessage = $"The form {Path.GetFileNameWithoutExtension(filledFormName)} failed to be recognized with a confidence level of {recognitionResult.Confidence}";
}

  Console.WriteLine(resultMessage);
Console.WriteLine("=============================================================\n");
}
}

以上便是如何快速通过使用leadtools控件,快速提取表单的操作,当然除了表单提取之外,leadtools也支持其他格式的文件提取,欢迎下载体验。


欢迎下载|体验更多LEADTOOL产品

您还可以加入产品技术交流Q群:731259648


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP