OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;
现在有很多软件都支持这个功能,比如钉钉就支持扫描图片后直接转成文字。
在OCR识别领域,有一个开源的项目——Tesseract,Tesseract是一個光学字符识别引擎。Tesseract是基于Apache许可证的自由软件,自2006 年起由Google赞助开发。 2006年,Tesseract被认为是最精准的开源光学字符识别引擎之一。
但是,这个牛X的项目,现在有了Java包装的API了,那就是Tess4J (https://github.com/nguyenq/tess4j )

Tess4J是对Tesseract OCR API的Java封装。使Java能够通过调用Tess4J的API来使用Tesseract-OCR。支持的格式:TIFF,JPEG,GIF,PNG,BMP,JPEG,and PDF
准备工作
我们首先将Tess4J maven依赖项添加到我们的项目中
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.5.3</version>
</dependency>
接下来,我们需要确保Tess4j所需的本机库可以从我们的应用程序访问。Tess4J的jar文件已经附带了本机库。但是,需要在加载之前先提取它们。我们可以使用Tess4J实用工具方法来编程完成此操作:
File tmpFolder = LoadLibs.extractTessResources("win32-x86-64");
System.setProperty("java.library.path", tmpFolder.getPath());
