如何将多语言 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 参考 .

 中文