- 对扫描图像或照片进行预处理
- 以结构化方式提取文档中的所有数据
- 导出为结构化格式
场景实现
本主题中提供的代码示例仅适用于 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 方法,加载最适合此场景的全部处理设置。此方法接收配置文件名称作为输入参数。更多信息,请参见使用配置文件。此场景的设置可通过预定义配置文件 DataExtraction 获取:如果您希望更改处理设置,请使用相应的参数对象。更多信息,请参见下方的其他优化部分。
- 版面分析和识别优先保证准确率而非速度。
- 检测图像中的所有文本,包括手写文本和质量较低的小文本区域。
- 检测表格、复选标记和条形码。
- 对文档的逻辑结构进行完整重建。
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)
步骤 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 的文档扫描场景。
- 扫描
- 识别
- 调整预处理、分析、识别和合成参数
使用分析、识别和合成参数对象自定义文档处理。 - PageProcessingParams Object
此对象可用于自定义分析和识别参数。使用此对象,您可以指定需要检测的图像和文本特征 (反相图像、方向、条形码、识别语言、识别误差范围) 。 - SynthesisParamsForPage Object
此对象包含在合成期间负责还原页面格式的参数。 - SynthesisParamsForDocument Object
此对象可用于自定义文档合成,即还原文档的结构和格式。 - MultiProcessingParams Object - 已针对 Linux 和 Windows 实现
在处理大量图像时,同时处理会很有帮助。在这种情况下,处理负载会在图像打开和预处理、版面分析、识别和导出期间分配到各个处理器核心上,从而加快处理速度。
读取模式 (同时或连续) 通过MultiProcessingMode属性设置。RecognitionProcessesCount属性控制可启动的进程数。
- 调整预处理、分析、识别和合成参数
- 导出
- 调整导出参数
使用导出参数对象自定义文档导出。 - XMLExportParams Object
此对象提供导出为 XML 格式所需的设置。 - JsonExportParams Object
此对象提供导出为 JSON 格式所需的设置。
- 调整导出参数
