Aspose.OCR FOSS for .NET — 故障排除
本页列出了在集成 Aspose.OCR FOSS for .NET 时最可能出现的错误和限制,并提供每个问题背后的真实原因。
Recognize() 抛出的异常
AsposeOcr.Recognize() 在任何模型运行之前会验证其输入。以下检查按顺序可能失败:
| Exception | 原因 | 修复 |
|---|---|---|
ArgumentNullException | 传递给 Recognize() 的 OcrInput 是 null | 在调用 Recognize() 之前,始终先构造一个 OcrInput |
NotSupportedException | OcrInput 是使用除 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.SingleImageandInputType.PDF一次OcrInput. 不受支持 — 请参见 如何批量处理多张图像.