Як об'єднати багатомовний процес 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: Персональні ботленєки

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

Виконання розглядів

  • Організація робочих місць за мовою для ефективності ресурсів
  • Моніторинг пам’яті / 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 Референт .

 Українська