基于ABBYY SDK 实现java版本 Hello 功能!

ABBYY FineReader Engine OCR 软件开发工具包深度解析 介绍         在过去几周,我在业余时间里利用ABBYY开发的FineReader Engine试用版来开发了一些简单的OCR应用程序。FineReader Engine是1个软件开发工具包,用来开发功能强大的应用程序,以打开图像、PDF文档和扫描文档,分析和解析内容并输出结果。它们几乎能够生成任何一种包含文本结果的导出文件,包括基于文本的PDF格式、微软Office格式、XML格式(尤其 阅读详情

 

1、ABBYY安装完成后

    这个目录下存放示例代码,C:\ProgramData\ABBYY\SDK\11\FineReader Engine\Samples

2、新建工程把Hello 里面的代码和SamplesConfig.java 放入工程中

3、直接贴代码

SamplesConfig.java 用于存放序列号,本地安装路径等信息
package com.abbyy.test;

// � 2013 ABBYY Production LLC
// SAMPLES code is property of ABBYY, exclusive rights are reserved. 
//
// DEVELOPER is allowed to incorporate SAMPLES into his own APPLICATION and modify it under 
// the  terms of  License Agreement between  ABBYY and DEVELOPER.


// Auto-generated config-file for FineReader Engine Java samples

public class SamplesConfig {

    /**
     * Folder with FRE dll
     * 设置ABBYY所需dll文件地址
     */
	public static String GetDllFolder() {
		if( is64BitJVMArchitecture() ) {
			return "C:\\Program Files\\ABBYY SDK\\11\\FineReader Engine\\Bin64";
		} else {
			return "C:\\Program Files\\ABBYY SDK\\11\\FineReader Engine\\Bin";
		}
	}

    /**
     * 设置 ABBYY所需 秘钥
     * Return developer serial number for FRE
     */
	public static String GetDeveloperSN() {
		return "SWTT-1101-0006-5071-4505-1208";  //申请试用版序列号
	}

    /**
     * Return full path to Samples directory
     * 设置ABBYY转换后生成路径
     */
	public static String GetSamplesFolder() {
//		return "Directory\\where\\samples\\reside";
		return "D:\\zhjwFile\\05_abbyy";
	}

    /**
     * Determines whether the JVM architecture is a 64-bit architecture
     * 判断当前jdk 所属版本是64还是32
     */
	private static boolean is64BitJVMArchitecture()
	{
		String jvmKeys [] = {
			"sun.arch.data.model", 
			"com.ibm.vm.bitmode", 
			"os.arch"
		};
		for( String key : jvmKeys ) {
			String property = System.getProperty( key );
			if( property != null ) {
				if( property.indexOf( "64" ) >= 0 ) {
					return true;
				} else if( property.indexOf( "32" ) >= 0 ) {
					return false;
				} else if( property.indexOf( "86" ) >= 0 ) {
					return false;
				}
			}
		}
		return false;
	}
}
Hello.java 单个文件的转换
package com.abbyy.test.Hello;

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

// (c) 2013 ABBYY Production LLC
// SAMPLES code is property of ABBYY, exclusive rights are reserved. 
//
// DEVELOPER is allowed to incorporate SAMPLES into his own APPLICATION and modify it under 
// the  terms of  License Agreement between  ABBYY and DEVELOPER.

// ABBYY FineReader Engine 11 Sample

// This sample shows basic steps of ABBYY FineReader Engine usage:
// Initializing, opening image file, recognition and export.
import com.abbyy.FREngine.*;
import com.abbyy.test.SamplesConfig;

public class Hello {

	public static void main(String[] args) {
		try {
			Hello application = new Hello();
			application.Run();
		} catch (Exception ex) {
			displayMessage(ex.getMessage());
			ex.printStackTrace();
		}
	}

	public void Run() throws Exception {
		// 加载ABBYY转换引擎
		loadEngine();
		try {
			// 使用ABBYY FineReader引擎进行处理
			processWithEngine();
		} finally {
			// 卸载ABBYY FineReader引擎
			unloadEngine();
		}
	}

	/**
	 * 加载本地环境,创建转换引擎
	 * @throws Exception
	 */
	private void loadEngine() throws Exception {
		displayMessage("初始化引擎…");
		engine = Engine.GetEngineObject(SamplesConfig.GetDllFolder(), SamplesConfig.GetDeveloperSN());
	}


	/**
	 * 使用ABBYY FineReader引擎进行处理
	 */
	private void processWithEngine() {
		try {
			// 设置转换参数
			setupFREngine();

			// 转换样例图片
			processImage();
		} catch (Exception ex) {
			displayMessage(ex.getMessage());
		}
	}

	/**
	 * 设置转换参数
	 */
	private void setupFREngine() {
		displayMessage("预定义的配置文件加载…");
		engine.LoadPredefinedProfile("Default");
		// Possible profile names are:
		// "DocumentConversion_Accuracy",    文档转换精度,
		// "DocumentConversion_Speed",       文档转换速度
		// "DocumentArchiving_Accuracy",     文档归档准确性
		// "DocumentArchiving_Speed",        文档归档的速度
		// "BookArchiving_Accuracy",         书存档准确性
		// "BookArchiving_Speed",            书存档速度
		// "TextExtraction_Accuracy",        文本提取的准确性
		// "TextExtraction_Speed",           文本提取的速度
		// "FieldLevelRecognition",          字段级识别
		// "BarcodeRecognition_Accuracy",    条形码识别精度
		// "BarcodeRecognition_Speed",       条形码识别速度
		// "HighCompressedImageOnlyPdf",     高度压缩图像Pdf
		// "BusinessCardsProcessing",        名片处理
		// "EngineeringDrawingsProcessing",  工程图纸处理
		// "Version9Compatibility",          Version9兼容性
		// "Default"                         默认

	}

	/**
	 * 转换图片
	 */
	private void processImage() {
		 String fileName = "Demo_ChinesePRC.tif";    //Demo_ChinesePRC.tif


		 String imagePath = SamplesConfig.GetSamplesFolder() + "\\"+fileName;

		try {
			// Don't recognize PDF file with a textual content, just copy it
			// 不要识别带有文本内容的PDF文件,只需复制它
			if (engine.IsPdfWithTextualContent(imagePath, null)) {
				displayMessage("复制的结果……");
				String resultPath = SamplesConfig.GetSamplesFolder() + "\\"+fileName+".pdf";
				Files.copy(Paths.get(imagePath), Paths.get(resultPath), StandardCopyOption.REPLACE_EXISTING);
				return;
			}

			// 创建文档
			IFRDocument document = engine.CreateFRDocument();

			try {
				// Add image file to document
				displayMessage("加载图片……");
				document.AddImageFile(imagePath, null, null);

				// Process document
				displayMessage("过程……");
				// 创建识别器参数类
				IDocumentProcessingParams dpp = engine.CreateDocumentProcessingParams();
				IPageProcessingParams ppp = dpp.getPageProcessingParams();
				ppp.getRecognizerParams().SetPredefinedTextLanguage("ChinesePRC+English");  //设置语言为简体中文和英语
				document.Process(dpp);

				// Save results
				displayMessage("保存结果……");

				// 使用默认参数将结果保存到rtf
				String rtfExportPath = SamplesConfig.GetSamplesFolder() + "\\"+fileName+".rtf";
				document.Export(rtfExportPath, FileExportFormatEnum.FEF_RTF, null);

				// Save results to pdf using 'balanced' scenario
				// 使用“平衡”场景将结果保存为pdf
				IPDFExportParams pdfParams = engine.CreatePDFExportParams();
				pdfParams.setScenario(PDFExportScenarioEnum.PES_Balanced);

				String pdfExportPath = SamplesConfig.GetSamplesFolder() + "\\"+fileName+".pdf";
				document.Export(pdfExportPath, FileExportFormatEnum.FEF_PDF, pdfParams);
			} finally {
				// Close document
				document.Close();
			}
		} catch (Exception ex) {
			displayMessage(ex.getMessage());
		}
	}

	/**
	 * 卸载ABBYY FineReader引擎
	 * @throws Exception
	 */
	private void unloadEngine() throws Exception {
		displayMessage("卸载ABBYY FineReader引擎...");
		engine = null;
		Engine.DeinitializeEngine();
	}

	private static void displayMessage(String message) {
		System.out.println(message);
	}

	private IEngine engine = null;
}

 

ABBYY FineReader软件开发工具包解析 ABBYY FineReader Engine是一款功能强大的光学字符识别(OCR)软件开发工具包(SDK),集成了ABBYY最先进的文档识别和转换软件技术,如:光学字符识别(OCR)、智能字符识别(ICR)、光学标记识别(OMR)、条形码识别(OBR)、文档影像和PDF转换。         如果开发人员需要开发具有以下任一功能的应用程序,可以考虑使用ABBYY FineReader En 阅读详情

相关推荐

Java实现OCR功能:Tesseract与Tess4J实战指南

OCR(光学字符识别)技术通过算法将图像中的文字转换为可编辑文本,其核心原理包括图像预处理、特征提取和模式识别。在Java生态中,Tesseract作为开源OCR引擎配合Tess4J封装,为开发者提供了稳定高效的企业级解决方案。该技术栈特别适合需要跨平台部署、高并发处理的场景,如发票识别、证件信息提取等。通过SpringBoot集成和图像预处理优化,可以显著提升识别准确率。Java的稳定性和Tesseract的多语言支持(如中文chi_sim和英文eng)使其成为企业数字化流程中的关键技术组件。

weixin_30423977的博客 413

win10系统下 ABBYY SDK安装及iKey激活

win10系统下,踩过很多坑以后,终于把ABBYYSDK 安装成功,iKey也顺利激活!!  一定要先安装ikey驱动,然后在安装sdk,顺序一定不要错! 一、iKey驱动安装 安装的iKey驱动是  【iKey 1032版本】 win10系统安装总是失败,后来查看驱动帮助文档,提示本驱动只适用于:     for iKeyDrvr64:     - Windows XP 64-Bit ...

南鹏飞 技术博客 4587

abbyysdk-ocrsdk

据说是最好的OCR工具包,实体软件的识别效果相关的人士都很清楚,非常牛X,高手可以试下。

【亲测免费】 ABBYY OCR SDK 使用与安装指南

### 📂 目录结构概览 ``` ocrsdk.com/ ├── LICENSE.txt # 许可证文件 ├── README.md # 项目快速入门和概述 ├── bin/ # 包含可执行文件或脚本,用于运行SDK的命令行工具 │ ├── ... ├── lib/ # 库文件夹,存放着

gitblog_00178的博客 874

Abbyy.Ocrsdk.client:基于 ABBYY 的 OCR 演示

Abbyy.Ocrsdk.client 基于 ABBYY 的 OCR 演示:cloud.ocrsdk.com 网络服务。 请按照以下步骤操作, 我们需要的功能是处理图像,以便向主函数传递 3 个参数, 认出 输入图像文件路径(任何图像格式) 输出 文本文件路径(允许多种格式) 运行程序,你应该看到以下状态, 使用 ABBYY Cloud OCR SDK 处理文档。 警告! 该文件将用英语处理。 要更改此设置,请指定 --lang= 选项。 上传文件.. 等待.. 下载.. 准备好 维诺德·蒂亚加拉詹

ABBYY帮助文档及中文翻译

ABBYY SDK开发的相关帮助文档,FREngine11.chm、FREngine11AdminGuide.pdf、FREngine11AdminGuide-中文翻译版.docx等

ABBYY OCR客开demo

1.开发在java中的集成需要java开发环境,并且引入jar包(厂商提供的jar包):com.abbyy.FREngine.jar 2.java集成的代码展示(并且实现了生成pdf每页大小一致功能,对汉字的支持,生成pdf为双层pdf可以进行复制): package com.iboyaa.ocr; import com.abbyy.FREngine.*; import com.iboya...

石桥的梦想的博客 1942

abbyy-demo.zip

abbyy识别图片文字,支持jpg,png,tif等多种图片格式,识别成功后可保存到word,excel,pdf,txt等文件中,需要修改SamplesConfig.java的projectId和ABBYY的安装路径

hello,boke

我一名学习软件工程金融服务工程的学生,简单来说就是学习计算机类的,对于自己的介绍,从平时生活中来说吧,我一直处于一种很中规中矩的生活状态里,平时玩玩手机、追追剧、和室友一起去图书馆自习,考前拼命复习两周,一个学年结束,得了奖学金,家人对我也十分放心。然而进入大三之后,大部分人都会面临无数个对未来纠结的问题。例如:“我以后能不能顺利找到工作?毕业之后我究竟能做什么?大家都在筹备好...

dingzhanye2611的博客 157

Llama模型结构拆解:为什么MLP模块要这样设计?从参数配置到计算流程全解析

本文深入解析了Llama模型MLP模块的设计精髓。通过拆解其三线性层结构、门控机制与SwiGLU激活函数,揭示了并行计算如何提升效率,并详细阐述了intermediate_size参数配置背后的经验权衡与计算考量,帮助读者透彻理解这一核心组件的设计逻辑与工程实现。

mac99的博客 529

微信聊天记录丢失原因与恢复方案详解

SQLite数据库作为移动应用常见的本地存储方案,其加密机制和存储结构直接影响数据安全性。以微信为例,聊天记录存储在EnMicroMsg.db等SQLite文件中,采用AES加密保护。当手机清理工具误删这些文件时,会导致特定时间段记录丢失。理解数据恢复原理需要掌握文件系统删除机制和闪存特性,其中关键点包括TRIM指令的影响和数据块覆盖风险。通过专业工具如DiskDigger或iMyFone D-Back,配合ADB调试和SQLite数据重组技术,可在黄金时间窗口内恢复记录。日常维护建议结合自动化备份方案和存

weixin_32612263的博客 386

【亲测免费】 ABBYY Cloud OCR SDK 常见问题解决方案

ABBYY Cloud OCR SDK 是一个提供 Web API 的云端 OCR(光学字符识别)服务。该服务可以轻松集成到支持网络通信的开发工具中,如 C#、Java、Python 等。项目的主要编程语言包括 Java、Python、PHP、JavaScript、Ruby 等。 ## 新手使用注意事项及解决方案 ### 1. 注册和获取应用凭证 **问题描述**:新手在使用 ABBYY C

gitblog_00834的博客 488

手把手教你用AI工具快速开发UniApp首页:从设计稿到完整页面的实战流程

本文详细介绍了如何利用Claude Code、Cursor等AI工具高效开发UniApp首页的完整工作流。从设计稿解析、Prompt工程、代码生成优化到调试适配,提供了一套可复用的实战流程,帮助前端开发者大幅提升从设计到代码的转化效率。

weixin_29199873的博客 317

Abbyy OCR SDK 使用教程

Abbyy OCR SDK 是一个强大的光学字符识别(OCR)工具,由 Abbyy 公司开发。该 SDK 提供了丰富的功能,能够将扫描的文档、图片中的文本内容转换为可编辑和可搜索的格式。它支持多种语言和多种文件格式,适用于各种企业和开发者的需求。 ## 项目快速启动 ### 安装 首先,你需要从官方 GitHub 仓库下载 Abbyy OCR SDK: ```bash git clone

gitblog_00023的博客 1142

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3080

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解)

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解) 大家好,我是菌菌巧乐兹,励志用最简单的语言来讲解程序知识点。

菌菌兹的博客 1669

光学字符识别(OCR)开发包ABBYY FineReader Engine OCR的深度解析

关于ABBYYFineReader Engine  ABBYY网站上对FineReaderEngine的描述如下: ABBYY FineReader Engine是一款功能强大的光学字符识别(OCR)软件开发工具包(SDK),集成了ABBYY最先进的文档识别和转换软件技术,如:光学字符识别(OCR)、智能字符识别(ICR)、光学标记识别(OMR)、条形码识别(OBR)、文档影像和PDF转换。

BTfan123的专栏 5170

LiveReload:释放你的F5,实时预览HTML效果

一、liveReload插件开发背景Web前端开发人员在写页面时,如果修改了HTML or CSS,要想看效果通常的做法就是保存代码就得 Alt+Tab,切换到浏览器(当然,我知道很多开发人员是双屏操作不一定需要切换到浏览器),但是一定要F5刷新才能看自己刚写的代码有没有效果,没有效果就再切换到编辑器下修改,然后再切换到浏览器F5刷新看效果,还没有效果,就再继续修改,如此反复。时间久了,前端自动化...

Char_n的博客 2509

ABBYY 生产环境部署

abbyy sdk开发的产品,开发环境和生产环境 安装部署方式不同 iKey的驱动一定要装好,可以参考【https://blog.csdn.net/npf_java/article/details/82899050】 1、开发环境通过软件 setup.exe 进行下一步安装 2、生产环境安装需要通过命令行,有三种方式,默认使用第二种即可 1)setup.exe /q /v MODULES...

南鹏飞 技术博客 1164

PCIe 6.0 – 关于 PCI Express Gen6 您需要知道的一切

幸运的是,PCIe 6.0 FEC 足够轻,对延迟的影响最小。在电气层上,PCIe 6.0 使用 PAM4 信号(“四级脉冲幅度调制”),每个时钟周期将 2 位组合为 4 个幅度级别(00、01、10、11),与 PCIe 5.0 和前几代相比,它使用 NRZ 调制,每个时钟周期 1 位和两个幅度级别 (0, 1)。虽然 PAM4 信号更容易出错,但由于调制技术的性质,与 PCIe 5.0 相比,通道损耗不受影响,因此 PCB 上 PCIe 6.0 信号的范围将与 PCIe 5.0 相同。

qq_43416206的博客 3433

YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

一、本文介绍 本文记录的是基于MobileNet V4的YOLOv11目标检测轻量化改进方法研究。MobileNet V4通过整合UIB、Mobile MQA以及优化的NAS策略,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中MNv4-Conv-S、MNv4-Conv-M、MNv4-Conv-L、MNv4-Hybrid-M和MNv4-Hybrid-L五种模型,以满足不同的需求。 模型 参数量 计算量 推理速度 YOLOv11m 20.0M 67.6GFLOPs 3.5ms

Limiiiing的博客 4458

从零跑通 IntelliJ IDEA 社区版源码:构建、运行与安装包打包实战

这份指南带你完成 IntelliJ IDEA 社区版源码的安装配置:克隆、用 Bazel 构建,到启动一个自己编译出来的 IDE。目标只有一个——你的机器上跑起自己构建的 IDEA。 ## 项目速览:这个仓库里到底有什么 这个仓库是 JetBrains IDE 家族(IDEA、PyCharm 等)的开源底座,也就是所谓 IntelliJ Platform 的源码所在。代码以 Java 为主,K

gitblog_00815的博客 384

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Flit核心功能详解:wheel、sdist与版本管理的终极指南

Flit是一个简化Python模块打包流程的工具,能够帮助开发者轻松创建wheel和sdist分发格式,并提供直观的版本管理功能。本文将全面解析Flit的三大核心功能,让你快速掌握Python包的构建与发布技巧。 ## 📦 一键构建wheel包:简化Python分发流程 wheel是Python的二进制分发格式,能够大幅提升安装速度并确保跨环境一致性。Flit通过`flit build`命令

gitblog_00092的博客 584

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

abbyy ocr sdk

昨天老总说要搞个名片扫描,获取名片信息。 随便搜了,暂时把目标定在了abbyy提供的sdk上面,应该不是免费的。 1.下载demo https://github.com/abbyysdk/ocrsdk.com 2.安装CocoaPods(如果已经安装,可以跳过) CocoaPods该是iOS最常用最有名的类库管理工具,绝大部分有名的开源类库,都支持CocoaPods。 在安装Cocoa...

weixin_30482383的博客 679

ABBYY FineReader Engine 11使用说明

1. 工作流程2. 数据类型说明IEngine : 引擎对象IFRDocument: 文档对象IDocumentProcessingParams : 文档处理参数FileExportFormatEnum : 导出文件格式枚举对象3. 接口函数说明                                        3.1. 获得引擎对象IEngine方法IEngine GetEngine...

猴戏浅滩的博客 3252
上一篇: win10系统下 ABBYY SDK安装及iKey激活
下一篇: java操作excel之jxls导出excel模板数据
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值