如何将多语言 OCR 与 Aspose.OCR 组合
如何将多语言 OCR 与 Aspose.OCR 组合
数字化全球档案、商业文件或调查表格往往意味着使用多种语言工作。 手动提取是缓慢而不可扩展的. .NET 的 Aspose.OCR 允许您自动从大量图像或 PDF 中以几行代码进行各种语言的文本提交。
现实世界问题
国际公司、图书馆和数据服务经常处理混合语言文档,手动分类和语言特定的提取是无聊的,有错误的 - 特别是当扩展到成千上万的文件时。
解决方案概述
Aspose.OCR for .NET 支持 30 多种语言. 您可以根据文件或组件设置识别设置,然后自动提取和出口到您最喜欢的格式,以便无缝融入业务或研究工作流。
原則
- Visual Studio 2019 或以后
- .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
- Aspose.OCR 为 .NET 从 NuGet
- 基本的C#编程经验
PM> Install-Package Aspose.OCR
步骤实施
步骤 1: 安装和设置 Aspose.OCR
using Aspose.OCR;
步骤2:按语言组织输入文件
根据语言,将输入图像或 PDF 编辑到单独的文件夹中,或者使用命名协议:
// Example folders: ./input/en, ./input/fr, ./input/zh
步骤3:按语言设置识别设置
Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
{ "en", Language.English },
{ "fr", Language.French },
{ "zh", Language.ChineseSimplified }
};
步骤4:Batch Process 输入文件
foreach (var pair in langFolders)
{
string folder = "./input/" + pair.Key;
RecognitionSettings settings = new RecognitionSettings();
settings.Language = pair.Value;
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in Directory.GetFiles(folder, "*.png"))
{
input.Add(file);
}
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
string output = Path.Combine("./output/", pair.Key + "_" + Path.GetFileNameWithoutExtension(result.FileName) + ".txt");
result.Save(output, SaveFormat.Text);
}
}
步骤5:添加错误处理和自动化
try
{
// batch processing code
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
步骤6:优化速度和准确性
- 同时运行处理(以记忆/CPU的照顾)
- 使用高品质的图像以获得最佳结果
- Tune 识别设置为每个语言的常见配置功能
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
// per-language processing logic
});
步骤7:完整的例子
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
{ "en", Language.English },
{ "fr", Language.French },
{ "zh", Language.ChineseSimplified }
};
foreach (var pair in langFolders)
{
string folder = "./input/" + pair.Key;
RecognitionSettings settings = new RecognitionSettings();
settings.Language = pair.Value;
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in Directory.GetFiles(folder, "*.png"))
{
input.Add(file);
}
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
string output = Path.Combine("./output/", pair.Key + "_" + Path.GetFileNameWithoutExtension(result.FileName) + ".txt");
result.Save(output, SaveFormat.Text);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
使用案例和应用程序
全球档案数字化
自动从多语言档案、报纸或企业记录中提取文本。
国际商业自动化
提供来自混合语言合同、发票或人力资源文件的 OCR 结果,进入您的全球 ERP 或工作流。
多语言遵守与搜索
允许在多种语言的文件中进行完整的文本搜索和遵守检查。
共同挑战与解决方案
挑战1:混合语言文档
** 解决方案:** 每页进行检测和处理,或者使用 AUTO 语言模式,如果可用。
挑战2:不同图像质量
** 解决方案:** 标准化扫描,并运行预处理以正常化图像质量。
挑战3:性能瓶装
**解决方案:在可能的情况下同时处理,并优化资源使用。
绩效考虑
- 根據語言組織資源效率的集合工作
- 监控内存/CPU与平行工作
- 在每个包中验证输出
最佳实践
- 保持语言文件夹安排,以便轻松解决问题
- 验证每个语言的样品包
- 更新 Aspose.OCR 最新语言改进
- 保证输入和输出数据
先进的场景
场景1:向JSON出口多语言结果
foreach (RecognitionResult result in results)
{
result.Save(output.Replace(".txt", ".json"), SaveFormat.Json);
}
场景2:自动检测语言(支持)
settings.Language = Language.Auto;
结论
Aspose.OCR for .NET 允许您自动从多种多语言图像收藏中提取文本 - 加速全球数字化,使您的档案可搜索、可发现和准备工作流集成。
有关支持的语言和先进提示的完整列表,请参观 ASPOSE.OCR 为 .NET API 参考 .