导出OCR结果到JSON -控制台c#

本教程展示了如何使用LEADTOOLS SDK在c# Windows控制台应用程序中对图像进行OCR并将结果导出为JSON文件。

概述
总结 本教程介绍如何在c# Windows控制台应用程序中将OCR结果保存为JSON文件。
完成时间 30分钟
Visual Studio项目 下载教程项目(3kb)
平台 c# Windows控制台应用程序
IDE Visual Studio 2017, 2019
开发许可 下载LEADTOOLS
用另一种语言试试

所需的知识

步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前导出OCR结果到JSON -控制台c#教程。

创建项目并添加LEADTOOLS引用

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

所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:

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

如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64

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

设置License文件

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

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

请注意

中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。

初始化OcrEngine

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

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

c#
使用系统;使用先;使用System.Collections.Generic;使用Newtonsoft.Json;使用Leadtools;使用Leadtools.Ocr;使用Leadtools.Document;

添加一个名为InitOcrEngine ()返回IOcrEngine并在Main ()方法。SetLicense ()方法调用,如下所示。

c#
静态无效主要(字符串[]参数)字符串文件=@“C: \ LEADTOOLS22 \资源\ \ leadtools.pdf图像”SetLicense ();IOcrEngine ocrEngine = InitOcrEngine();OCRandSaveResults (ocrEngine、文件);

将下面的代码添加到InitOcrEngine ()方法初始化IOcrEngine

c#
静态IOcrEngine InitOcrEngine ()//初始化OCR引擎IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead);ocrEngine。启动(@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);返回ocrEngine;

添加文本识别和导出到JSON代码

在Program类中创建一个名为OCRandSaveResults(IOcrEngine ocrEngine,字符串文件)把它叫做Main ()方法。IOcrEngine ocrEngine = InitOcrEngine();代码行。将下面的代码添加到OCRandSaveResults ()方法对PDF文档进行OCR,并将识别结果导出为JSON文件。

c#
静态无效OCRandSaveResults (IOcrEngine ocrEngine,字符串文件)使用vardocument = DocumentFactory。LoadFromFile(文件,LoadDocumentOptions {FirstPageNumber = 1, LastPageNumber = -1}))document.Text.OcrEngine = ocrEngine;List DocumentPageText =列表< DocumentPageText > ();foreachvar页面document.Pages)//解析文本并构建DocumentPageText对象varpageText = page.GetText();pageText.BuildText ();pageText.BuildWords ();documentPageTexts.Add (pageText);//将识别的单词序列化为JSON字符串varjson = JsonConvert。SerializeObject (documentPageTexts Formatting.Indented);//保存JSON文件varjsonPath =路径。ChangeExtension(文件,. json”);文件。WriteAllText (jsonPath、json);

处理流

来处理文件MemoryStream,修改OCRandSaveResults ()方法如下:

c#
静态无效OCRandSaveResults (IOcrEngine ocrEngine,字符串文件)字节[] data = file . readallbytes (file);使用(MemoryStream ms =MemoryStream(数据)使用vardocument = DocumentFactory。LoadFromStream(女士,LoadDocumentOptions {FirstPageNumber = 1, LastPageNumber = -1}))document.Text.OcrEngine = ocrEngine;List DocumentPageText =列表< DocumentPageText > ();foreachvar页面document.Pages)//解析文本并构建DocumentPageText对象varpageText = page.GetText();pageText.BuildText ();pageText.BuildWords ();documentPageTexts.Add (pageText);//将识别的单词序列化为JSON字符串varjson = JsonConvert。SerializeObject (documentPageTexts Formatting.Indented);//保存JSON文件字节[] jsonData = System.Text.Encoding.Default.GetBytes(json);MemoryStream outputStream =MemoryStream (jsonData);

运行项目

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

如果正确地执行了这些步骤,应用程序将对文档进行OCR,并创建包含识别结果的JSON。为了本教程的目的,我们使用了位于这里的PDF文件:< INSTALL_DIR > \ LEADTOOLS22 \ \ \ leadtools.pdf图像资源

您可以下载生成的JSON在这里

总结

本教程展示了如何在文档上运行OCR并将结果导出为JSON。此外,它还介绍了如何使用IOcrEngine接口,连同LEADDocumentDocumentPage而且DocumentPageText类。

另请参阅

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