Aspose.OCR FOSS for .NET — 故障排除

Aspose.OCR FOSS for .NET — 故障排除

本页列出了在集成 Aspose.OCR FOSS for .NET 时最可能出现的错误和限制,并提供每个问题背后的真实原因。

Recognize() 抛出的异常

AsposeOcr.Recognize() 在任何模型运行之前会验证其输入。以下检查按顺序可能失败:

Exception原因修复
ArgumentNullException传递给 Recognize() 的 OcrInput 是 null在调用 Recognize() 之前,始终先构造一个 OcrInput
NotSupportedExceptionOcrInput 是使用除 SingleImage 或 PDF 之外的 InputType 构造的只有 InputType.SingleImage 和 InputType.PDF 是有效的
FileNotFoundException通过 OcrInput.Add() 添加的路径在磁盘上不存在在调用 Add() 之前验证每个路径——缺少文件会导致整个调用失败,而不仅仅是该文件

识别未返回文本

如果 RecognitionResult.RecognitionText 为空且 RecognitionLinesResult 没有条目,则检测器在图像中未发现文本行区域。这是预期的——而非错误——情况包括:

  • 图像中没有可辨认的文字,或文字过小、倾斜、或对比度低,导致检测器无法将其识别为区域
  • 非拉丁文字:嵌入的识别模型仅支持拉丁文字及其变音字符
  • 在后处理期间被过滤掉的检测区域的图像(文本概率分数非常低)

未提供置信度分数来区分“未检测到”和“检测到但不确定”——请参见 范围与限制.

识别运行但结果看起来错误

  • 旋转或倾斜的文本。 没有自动去倾斜或旋转校正功能。请在调用前预先旋转源图像。 Recognize().
  • 表格或表单布局显得杂乱。 检测器仅返回轴对齐的线条矩形——它不具备列、表格或除行位置之外的阅读顺序概念。布局的重建由调用方负责。
  • PDF 文本位置看起来有偏移。 PDF 页面在内部始终以 150 DPI 渲染;矩形坐标在 RecognitionResult.LinesResult.Line 位于该渲染图像的像素空间,而非 PDF 的点空间。

平台和构建问题

  • PlatformNotSupportedException 或在 Linux/macOS 上运行时使用类似的方式。 图像处理依赖于 System.Drawing.Common,它仅在 .NET 6 及更高版本的 Windows 上可用。该库的图像处理路径仅在 Windows 上运行。
  • 构建在目标平台时失败。 net9.0/net10.0. 构建这些目标需要 .NET 10 SDK — 请参见 如何从源码构建.
  • Mixing InputType.SingleImage and InputType.PDF 一次 OcrInput. 不受支持 — 请参见 如何批量处理多张图像.

另请参阅

 中文