Как совместить многоязычный OCR с Aspose.OCR

Как совместить многоязычный OCR с Aspose.OCR

Дигитализация глобальных архивов, бизнес-документов или анкетных форм часто означает работу с несколькими языками. Ручное извлечение является медленным и не скалируемым. Aspose.OCR для .NET позволяет автоматизировать экстракцию текста на разных языках из больших объемов изображений или PDF-файлов только с нескольких строк кода.

Реальные мировые проблемы

Международные компании, библиотеки и сервисы данных часто справляются с смешанными языковыми документами. Ручное сортирование и язык-специфическое извлечение являются скучными и ошибочными – особенно при масштабировании до тысяч документов.

Решение обзор

Aspose.OCR для .NET поддерживает более 30 языков. Вы можете настроить распознавательные настройки по файлу или комплекту, а затем автоматизировать экстракцию и экспорт в свой предпочтительный формат для беспрепятственной интеграции в бизнес или исследовательские рабочие потоки.

Предупреждения

  • Visual Studio 2019 или позднее
  • .NET 6.0 или более поздний (или .Net Framework 4.6.2+)
  • ASPOSE.OCR для .NET от NuGet
  • Опыт программирования C#
PM> Install-Package Aspose.OCR

Step-by-Step реализация

Шаг 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: Процесс загрузки файлов

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)
  • Используйте качественные изображения для лучших результатов
  • Настройки распознавания тонны для общего расположения функций на каждом языке
// 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}");
        }
    }
}

Используйте случаи и приложения

Глобальная цифровизация архивов

Автоматическое извлечение текста из многоязычных архивов, газет или корпоративных записей.

Международная бизнес-автоматизация

ОКР хранит результаты из смешанных языковых контрактов, счетов или HR-документов в ваш глобальный ERP или рабочий поток.

Многоязычное соответствие и поиск

Возможность полного поиска текста и проверки соответствия документов на многих языках.

Общие вызовы и решения

Проблема 1: Смешанные языковые документы

Решение: Проводить обнаружение и обработку на странице или использовать режим языка AUTO, если доступен.

Проблема 2: Разное качество изображения

Решение: Стандартное сканирование и проведение предварительной обработки для нормализации качества изображения.

Третий вызов: Bottlenecks Performance

**Решение: ** Обработка параллельно, где это возможно, и оптимизация использования ресурсов.

Рассмотрим производительность

  • Организация рабочих мест по языку для ресурсной эффективности
  • Контроль памяти/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 для .NET позволяет автоматизировать экстракцию текста из разнообразных, многоязычных коллекций изображений — ускоряя глобальную цифровизацию и делая ваши архивы поисковыми, открытыми и готовы к интеграции в рабочий поток.

Для полного перечня поддерживаемых языков и передовых советов посетите ASPOSE.OCR для .NET API .

 Русский