- 对扫描图像或照片进行预处理
- 在完整还原文档结构和格式的情况下进行识别
- 导出为可编辑格式
场景实现
本主题中提供的代码示例仅适用于 Windows。
步骤 1. 加载 ABBYY FineReader Engine
步骤 1. 加载 ABBYY FineReader Engine
要开始使用 ABBYY FineReader Engine,您需要创建 Engine 对象。Engine 对象是 ABBYY FineReader Engine 对象层次结构中的顶层对象,提供各种全局设置、部分处理方法以及用于创建其他对象的方法。要创建 Engine 对象,可以使用 InitializeEngine 函数。另请参阅加载 Engine 对象的其他方式 (Win) 。
C#
C++ (COM)
步骤 2. 加载此场景的设置
步骤 2. 加载此场景的设置
ABBYY FineReader Engine 支持使用 Engine 对象的 LoadPredefinedProfile 方法,加载最适合此场景的全部处理设置。此方法接收配置文件名称作为输入参数。更多信息,请参见 Working with Profiles。ABBYY FineReader Engine 为此场景提供 2 种设置方案:
如果您想更改处理设置,请使用相应的 Parameter 对象。更多信息,请参见下面的 针对特定任务的附加优化。
配置文件名称 | 说明 |
|---|---|
DocumentConversion_Accuracy | 这些设置已针对准确性进行优化:
|
DocumentConversion_Normal | 这些设置已针对处理速度进行优化:
|
C#
C++ (COM)
步骤 3. 加载并预处理图像
步骤 3. 加载并预处理图像
ABBYY FineReader Engine 提供了 FRDocument 对象,可用于处理多页文档。使用此对象可以保留文档的逻辑组织结构,保留原始文本、分栏、字体、样式等。要加载单个文档的图像并对其进行预处理,您应创建 FRDocument 对象并向其中添加图像。您可以执行以下任一操作:
- 使用 Engine 对象的 CreateFRDocumentFromImage 方法创建 FRDocument 对象。此方法会创建 FRDocument 对象并从指定文件加载图像。
- 使用 Engine 对象的 CreateFRDocument 方法创建 FRDocument 对象,然后从文件向已创建的 FRDocument 对象添加图像 (使用 FRDocument 对象的 AddImageFile、AddImageFileWithPassword 或 AddImageFileWithPasswordCallback 方法) 。
C#
C++ (COM)
使用已加载的 DocumentConversion_Normal 配置文件进行图像预处理时,不包含方向检测。如果您希望自动检测图像方向,则需要设置附加参数,并将相应对象传递给预处理函数。更多信息,请参见下面的 针对特定任务的附加优化。
步骤 4. 文档识别
步骤 4. 文档识别
要识别文档,我们建议您使用 FRDocument 对象的分析和识别方法。该对象提供了一整套用于文档分析、识别和合成的方法。最便捷的是 Process 方法,它可将文档分析、识别和合成整合到一次操作中。它还能以最高效的方式利用多处理器和多核系统的并行处理功能。不过,您也可以使用 Preprocess、Analyze、Recognize 和 Synthesize 方法,依次执行预处理、分析、识别和合成。
C#
C++ (COM)
步骤 5. 文档导出
步骤 5. 文档导出
要保存已识别的文档,您可以使用 FRDocument 对象的 Export 方法,并将 FileExportFormatEnum 常量作为其中一个参数。您可以使用相应的导出对象更改默认导出参数。更多信息,请参见下面的针对特定任务的附加优化。完成对 FRDocument 对象的操作后,请释放该对象使用的所有资源。请使用 IFRDocument::Close 方法。
C#
C++ (COM)
步骤 6. 卸载 ABBYY FineReader Engine
步骤 6. 卸载 ABBYY FineReader Engine
所需资源
特定任务的其他优化
- 扫描 - 仅限 Windows
- 扫描
介绍 ABBYY FineReader Engine 的文档扫描方案。
- 扫描
- 识别
- 调整预处理、分析、识别和合成参数
使用分析、识别和合成参数对象自定义文档处理。 - 识别手写文本
DocumentConversion\_\*\*\*配置文件不包含手写或印刷体手写文本识别功能。如果您需要识别手写文本,请将 PageAnalysisParams 对象的 DetectHandwritten 属性设置为 TRUE。 - PageProcessingParams 对象
此对象可用于自定义分析和识别参数。使用此对象,您可以指定必须检测哪些图像和文本特征 (反相图像、方向、条形码、识别语言、识别误差范围) 。 - SynthesisParamsForPage 对象
此对象包含在合成期间负责恢复页面格式的参数。 - SynthesisParamsForDocument 对象
此对象可用于自定义文档合成:恢复其结构和格式。 - MultiProcessingParams 对象 - 已在 Linux 和 Windows 上实现
处理大量图像时,并行处理会很有帮助。在这种情况下,图像打开和预处理、Layout 分析、识别及导出期间的处理负载会分配到各个处理器核心上,从而加快处理速度。
读取模式 (并行或顺序) 通过 MultiProcessingMode 属性设置。RecognitionProcessesCount 属性用于控制可启动的进程数。
- 调整预处理、分析、识别和合成参数
- 导出
- 调整导出参数
使用导出参数对象自定义文档导出。 - RTFExportParams 对象
此对象可用于自定义 RTF/DOCX/ODT 保存格式参数。 - HTMLExportParams 对象
此对象可用于自定义导出为 HTML 格式的参数。 - PPTExportParams 对象
用于自定义 PPTX 保存格式参数的对象。
- 调整导出参数
