如何通过OCR识别获取每一行文本

本篇文件介绍如何通过OCR分别识别获取文档的每一行文本

发布于 2017/10/16 00:00

 

本篇文件介绍如何通过OCR分别识别获取文档的每一行文本

有一种方法类似于我们的IOcrZoneCharacters.GetWords方法可检索文档的每一行。OCR引擎识别的每个字符都有一个位置。我们可以通过OcrCharacter 结构的position 属性访问这个位置。返回一个或多个OcrCharacterPosition 枚举成员:

ocrcharacterss

下面写了一个简单的小例子,用OcrCharacterPosition 来分别识别出每一行的文字。

using (RasterCodecs codecs = new RasterCodecs())
{
   codecs.Options.RasterizeDocument.Load.XResolution = 300;
   codecs.Options.RasterizeDocument.Load.YResolution = 300;
   RasterImage image = codecs.Load(inputFile);
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Professional, false))
   {
      ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrProfessionalRuntime64");
      using (IOcrDocument document = ocrEngine.DocumentManager.CreateDocument())
      {
         document.Pages.AddPage(image, null);
         document.Pages[0].Recognize(null);
         IOcrPageCharacters pageCharacters = document.Pages[0].GetRecognizedCharacters();
         for (int i = 0; i < document.Pages[0].Zones.Count; i++)
         {
            IOcrZoneCharacters zoneCharacters = pageCharacters.FindZoneCharacters(i);
            if (zoneCharacters != null)
            {
               foreach (var ocrCharacter in zoneCharacters)
               {
                  OcrCharacterPosition position;
                  position = ocrCharacter.Position;
                  if ((position & OcrCharacterPosition.EndOfLine) == OcrCharacterPosition.EndOfLine)
                  {
                     Console.Write(ocrCharacter.Code + "\n");
                  }
                  else
                  {
                     Console.Write(ocrCharacter.Code);
                  }
               }
            }
         }
      }
   }
}

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态