功能概述

功能概览

本页介绍库的识别 API 以及在本指南其他地方深入覆盖的功能。AsposeOcr 是整个库的入口点。其 Recognize() 方法接受一个 OcrInput 并返回一个 OcrOutput —— 一个 RecognitionResult 列表,每个对应于图像或 PDF 页面。


单图像和 PDF 识别

OcrInput 使用 InputType 构造——对光栅图像使用 InputType.SingleImage,对 PDF 文档使用 InputType.PDF。文件通过 OcrInput.Add() 入队。释放 OcrInput 只会清除其持有的已入队文件路径。

using Aspose.OCR;

var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);

识别结果

每个 RecognitionResult 公开 RecognitionText(完整的已识别页面文本)和 RecognitionLinesResult(一个 RecognitionResult.LinesResult 列表,每个包含 TextInLine 和一个以 Line 为单位的 System.Drawing.Rectangle 边界框)。

foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);
    foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
    {
        Console.WriteLine($"{line.Line}: {line.TextInLine}");
    }
}

批量处理

OcrInput 接受多个相同输入类型的文件。OcrOutput 保持文件添加的顺序,每个文件(或每个 PDF 页面)对应一个 RecognitionResult。

using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);

技巧与最佳实践

  • 在识别完成后释放 OcrInput(或将其包装在 using 语句中),以释放底层资源。
  • 仅支持 InputType.SingleImage 和 InputType.PDF — 任何其他输入类型都会抛出 NotSupportedException。
  • 识别仅限拉丁字母脚本;没有语言选择参数。
  • PDF 页面在识别前会在内部渲染,因此无需单独的 PDF 转图像转换步骤。

常见问题

问题原因修复
NotSupportedException 在 Recognize()一个 OcrInput 被构造时使用了不受支持的 InputType仅使用 InputType.SingleImage 或 InputType.PDF
FileNotFoundException 在 Recognize()通过 OcrInput.Add() 添加的路径不存在在调用 Add() 之前验证文件路径
空的 RecognitionLinesResult未在该图像或页面中检测到文本行确认源图像包含可读的、未旋转的拉丁文字

FAQ

什么语言被 Aspose.OCR 针对 .NET 的 FOSS 识别?

拉丁字母文本。嵌入的识别模型不覆盖非拉丁字母脚本。

它需要互联网连接吗?

不。所有三个 ONNX 模型(检测、细化、识别)均嵌入在程序集内,并通过 Microsoft.ML.OnnxRuntime 本地运行。

我可以在一次调用中识别多个文件吗?

是的 — 在调用 AsposeOcr.Recognize() 之前,将多个文件添加到同一个 OcrInput。返回的 OcrOutput 保持它们的顺序。

它可以运行在哪些平台上?

它面向 .NET Standard 2.0、.NET Framework 4.8 和 .NET 8.0+。图像处理需要 Windows,因为它依赖于 System.Drawing.Common。


API Reference 概述

类/方法描述
AsposeOcr.Recognize(OcrInput)入口点:识别文本并返回一个 OcrOutput
OcrInput.Add(string)将文件路径加入识别队列
InputType枚举: SingleImage 或 PDF
RecognitionResult.RecognitionText完整识别的页面文本
RecognitionResult.RecognitionLinesResult包含边界框的已识别行列表
RecognitionResult.LinesResult.TextInLine单行识别文本
RecognitionResult.LinesResult.Line单行像素坐标边界框

另请参阅

 中文