OCR结果导出到JSON - Java

本教程展示如何OCR图像和光学字符识别结果导出到一个JSON文件在Java应用程序中使用LEADTOOLS SDK。

概述
总结 本教程介绍了如何将OCR JSON结果保存在一个Java应用程序。
完成时间 30分钟
项目 下载教程项目(2 KB)
平台 Java应用程序
IDE Eclipse或IntelliJ
运行许可证 下载LEADTOOLS
试试用另一种语言

所需的知识

熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前OCR结果导出到JSON - Java教程。

创建项目并添加LEADTOOLS引用

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

的引用需要取决于项目的目的。可以由当地添加引用. jar文件位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Java

对于这个项目,还需要以下引用:

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

设置许可文件

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

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

请注意

添加LEADTOOLS本地引用和设置许可中会详细介绍添加引用和设置一个许可证教程。

初始化OcrEngine

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

打开_Main.java类的Project Explorer。添加以下语句的进口块顶部。

Java
进口com.google.gson。*;进口java.io.File;进口java.io.IOException;进口java.nio.file。*;进口java.util。*;进口leadtools。*;进口leadtools.document。*;进口leadtools.ocr。*;

run ()方法,添加以下设置库路径为C DLL文件所在的地方,以及加载LEADTOOLS库以前进口的。此外,添加两个新的字符串值表示输入文件和目录的JSON输出。对于本教程,使用PDF在以下文件路径:< INSTALL_DIR > \ LEADTOOLS22 \ \ \ leadtools.pdf图像资源

Java
公共静态无效main (String [] args)抛出IOException {_Main () .run (args);}私人无效运行(String [] args) {试一试{Platform.setLibPath (“C: \ \ LEADTOOLS22 \ \ Bin \ \ CDLL \ \ x64”);Platform.loadLibrary (LTLibrary.LEADTOOLS);Platform.loadLibrary (LTLibrary.DOCUMENT);Platform.loadLibrary (LTLibrary.DOCUMENT_WRITER);Platform.loadLibrary (LTLibrary.OCR);SetLicense ();字符串文件=“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源leadtools.pdf”;字符串outputDirectory =“C: \ \ LEADTOOLS22 \ \资源\ \图片”;OcrEngine OcrEngine = InitOcrEngine ();OCRandSaveResults (ocrEngine、文件、outputDirectory);}(异常交货){System.err.println (ex.getMessage ());ex.printStackTrace ();}}

添加一个新方法_MainInitOcrEngine ()。在调用此方法run ()调用以下方法SetLicense ()的设置方法字符串值,如上所示。添加以下代码返回初始化OcrEngine

Java
OcrEngine InitOcrEngine (){/ /初始化OCR引擎OcrEngine OcrEngine = OcrEngineManager.createEngine (OcrEngineType.LEAD);ocrEngine.startup (,,,“C: \ \ LEADTOOLS22 \ \ Bin \ \共同\ \ OcrLEADRuntime”);返回ocrEngine;}

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

添加另一个底部的方法_MainOCRandSaveResults (OcrEngine OcrEngine、字符串文件、字符串outputDirectory)。新创建的方法run ()方法后OcrEngine OcrEngine = InitOcrEngine ();行代码,如上所示。

Java
无效OCRandSaveResults (OcrEngine OcrEngine、字符串文件、字符串outputDirectory)抛出IOException{LoadDocumentOptions选项=LoadDocumentOptions ();options.setFirstPageNumber (1);options.setLastPageNumber (1);= DocumentFactory LEADDocument文档。loadFromFile(文件,选项);document.getText () .setOcrEngine (ocrEngine);列出< DocumentPageText > documentPageTexts =ArrayList < DocumentPageText > ();(DocumentPage页面:document.getPages ()){/ /解析文本和构建DocumentPageText对象DocumentPageText pageText = page.getText ();pageText.buildText ();pageText.buildWords ();documentPageTexts.add (pageText);}/ /获取文件名并创建输出目录文件fileWithoutExt =文件(文件。substring (0, file.lastIndexOf (“。”)));字符串文件名= fileWithoutExt.getName ();字符串outputDir = PathCombine (outputDirectory文件名+“结果”);Files.createDirectory (Path.of (outputDir));/ /保存识别单词JSONGson Gson =Gson ();var json = gson.toJson (documentPageTexts);var jsonPath = PathCombine (outputDir文件名+“-words.json”);Files.write (Path.of (jsonPath) json.getBytes ());}

接下来,添加一个新方法_MainPathCombine(字符串…路径)。该方法将调用内部的两倍OCRandSaveResults ()方法,如上所示。添加以下代码来将文件路径和相应的返回字符串

Java
公共PathCombine字符串(字符串…路径){文件文件=文件(路径[0]);(inti = 1;我<路径。长度;我+ +){文件=文件(文件,路径[我]);}返回file.getPath ();}

运行该项目

按运行项目Ctrl +季,或通过选择- >跑

如果步骤正确之后,应用程序将OCR给定文档和创建一个JSON文件包含指定输出目录的识别结果。

下载生成的JSON在这里

总结

本教程展示了如何在一个文档上运行OCR和导出结果JSON。同时,它介绍了如何使用IOcrEngine接口,以及LEADDocument,DocumentPageDocumentPageText类。

另请参阅

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