如何通过 Aspose.OCR 从扫描图像中提取文本
如何通过 Aspose.OCR 从扫描图像中提取文本
扫描合同、协议、书页或旧记录通常会产生图像文件,而不是可编辑的文本。
现实世界问题
纸质文件、书籍和档案经常被存储为图像,用于数字工作流、遵守或研究的内容可以缓慢、昂贵、如果手动完成,可能会出现错误。
解决方案概述
Aspose.OCR Scan to Text for .NET 将印刷页面的图像转换为可用的文本,处理单列、多列和复杂的布局。
原則
确保你有:
- Visual Studio 2019 或以后
- .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
- Aspose.OCR 为 .NET 从 NuGet
- 基本的C#知识
PM> Install-Package Aspose.OCR
步骤实施
步骤 1: 安装和设置 Aspose.OCR
添加 NuGet 包和参考 Aspose.OCR:
using Aspose.OCR;
步骤2:添加扫描图像
加载单或多个图像文件进行处理。
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("contract_page1.png");
input.Add("agreement_page2.jpg");
步骤3:设置识别设置
按需要编写文档语言和布局。
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
// For complex or multi-column layouts:
settings.DetectAreasMode = DetectAreasMode.DOCUMENT;
步骤4:运行认可过程
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
步骤5:保存或处理提取的文本
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("scanned_text.txt", SaveFormat.Text);
// Save to Word or PDF as needed
result.Save("scanned_text.docx", SaveFormat.Docx);
result.Save("scanned_text.pdf", SaveFormat.Pdf);
}
步骤6:添加错误处理
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
// Use results...
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
步骤7:优化文档配置
- 对于书籍或文章,请使用 DetectAreasMode.DOCUMENT 或尝试 DetektAreaModa.AUTO。
- 提前处理图像(草,草)以获得最佳准确性
- 用于大档案的集成过程
foreach (string file in Directory.GetFiles("./scans", "*.jpg"))
{
input.Add(file);
}
步骤8:完整的例子
using Aspose.OCR;
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("contract_page1.png");
input.Add("agreement_page2.jpg");
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("scanned_text.txt", SaveFormat.Text);
result.Save("scanned_text.docx", SaveFormat.Docx);
result.Save("scanned_text.pdf", SaveFormat.Pdf);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
使用案例和应用程序
合同和协议数字化
快速数字化法律或商业文件搜索,存档和数字工作流。
图书和档案处理
将书页或历史记录转换为可搜索、可编辑的格式。
符合和数据提取
允许自动遵守检查、审计或从遗产文件中提取文本。
共同挑战与解决方案
挑战1:低质量扫描或破碎的文本
** 解决方案:** 使用预处理或改进图像,以获得更好的 OCR 准确性。
挑战2:多列或复杂配置
** 解决方案:** 调整 DetectAreasMode 并测试最佳配置处理。
挑战3:Batch数字化
** 解决方案:** 使用集合处理和资源管理用于大规模工作。
绩效考虑
- 快速和可扩展的Batch过程
- 使用优质源图像
- 使用后使用 OCR 物品
最佳实践
- 在自动化或存档之前始终验证提取的文本
- 使用文件类型的正确识别设置
- 备份原始扫描参考
- 测试 OCR 结果在生产前的样品包
先进的场景
场景1:多语言文档提取
settings.Language = Language.French;
场景2:出口到JSON进行集成
foreach (RecognitionResult result in results)
{
result.Save("scanned_text.json", SaveFormat.Json);
}
结论
Aspose.OCR Scan to Text for .NET 是将扫描图像和纸质文件转换为可用、可编辑的文本的最快方式,适合法律、学术或企业项目。
查看更多示例和技术细节 ASPOSE.OCR 为 .NET API 参考 .