Как да комбинирате многоезична 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

Стъпка по стъпка изпълнение

Стъпка 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}");
        }
    }
}

Използване на случаи и приложения

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

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

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

Предоставяте резултатите от OCR от смесени езикови договори, фактури или HR документи в вашия глобален ERP или работен поток.

Многоезично съответствие и търсене

Осигуряване на пълно текстово търсене и проверка на съответствието на документи на много езици.

Съвместни предизвикателства и решения

Предизвикателство 1: Смесени езикови документи

Решение: Извършете разкриване и обработка на страница, или използвайте режим на AUTO език, ако е налице.

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

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

Предизвикателство 3: Performance Bottlenecks

Решението: Процесира се паралелно, когато е възможно, и оптимизира използването на ресурсите.

Преглед на изпълнението

  • Организиране на работни места по език за ефективност на ресурсите
  • Мониторинг на паметта/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 Референт .

 Български