Jak łączyć proces wielojęzyczny OCR z Aspose.OCR

Jak łączyć proces wielojęzyczny OCR z Aspose.OCR

Digitalizacja globalnych archiwów, dokumentów biznesowych lub formularzy ankietowych często oznacza pracę z wieloma językami. ręczna ekstrakcja jest powolna i nie skalowalna. Aspose.OCR dla .NET pozwala na automatyzację wydobycia tekstu w różnych językach z dużych objęć obrazów lub plików PDF za pomocą zaledwie kilku linii kodu.

Problem świata rzeczywistego

Międzynarodowe firmy, biblioteki i usługi danych często zajmują się dokumentami mieszanymi w języku. ręczne sortowanie i ekstrakcje językowe są nudne i błędne - szczególnie przy skali do tysięcy dokumentów.

Przegląd rozwiązania

Aspose.OCR dla .NET obsługuje ponad 30 języków. można skonfigurować ustawienia rozpoznawania według pliku lub zestawu, a następnie automatycznie ekstrakcję i eksport do preferowanego formatu, aby bezprzewodowo zintegrować się w biznesie lub badaniach.

Warunki

  • Visual Studio 2019 lub później
  • .NET 6.0 lub nowszy (lub .Net Framework 4.6.2+)
  • Aspose.OCR dla .NET od NuGet
  • Podstawowe doświadczenie w programowaniu C#
PM> Install-Package Aspose.OCR

Wdrażanie krok po kroku

Krok 1: Instalacja i konfiguracja Aspose.OCR

using Aspose.OCR;

Krok 2: Zorganizuj pliki wejściowe według języka

Zorganizuj swoje wstępne obrazy lub pliki PDF według języka w oddzielnych folderach lub użyj konwencji nazwiska:

// Example folders: ./input/en, ./input/fr, ./input/zh

Krok 3: Konfiguruj ustawienia rozpoznawania według języka

Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
    { "en", Language.English },
    { "fr", Language.French },
    { "zh", Language.ChineseSimplified }
};

Krok 4: Wprowadzanie plików procesowych

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);
    }
}

Krok 5: Dodaj rozwiązywanie błędów i automatyzację

try
{
    // batch processing code
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

Krok 6: Optymalizacja dla prędkości i dokładności

  • Przeprowadzanie przetwarzania równolegle (z opieką nad pamięcią / CPU)
  • Wykorzystaj wysokiej jakości obrazy dla najlepszych wyników
  • Tune rozpoznawanie ustawień dla wspólnych funkcji układu w każdym języku
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
    // per-language processing logic
});

Krok 7: Pełny przykład

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}");
        }
    }
}

Korzystanie z przypadków i aplikacji

Globalna cyfryzacja archiwów

Automatyczna ekstrakcja tekstu z wielojęzycznych archiwów, gazet lub rekordów korporacyjnych.

Międzynarodowa automatyzacja biznesowa

Dostarczanie wyników OCR z umów mieszanych języków, faktur lub dokumentów HR do globalnego ERP lub przepływu pracy.

Wielojęzyczna zgodność i wyszukiwanie

Umożliwia pełne wyszukiwanie i sprawdzanie zgodności dokumentów w wielu językach.

Wspólne wyzwania i rozwiązania

Wyzwanie 1: Dokumenty językowe mieszane

Rozwiązanie: Wykonywanie wykrywania i przetwarzania na stronie lub używanie trybu językowego AUTO, jeśli jest to dostępne.

Wyzwanie 2: Zróżnicowanie jakości obrazu

Rozwiązanie: Standardyzuj skanowanie i wykonaj wstępne przetwarzanie w celu normalizacji jakości obrazu.

Wyzwanie 3: Performance Bottlenecks

Rozwiązanie: Proces równoległy w miarę możliwości i optymalizacja wykorzystania zasobów.

uwzględnienie wydajności

  • Zorganizuj warsztaty według języka dla efektywności zasobów
  • Monitor pamięci/CPU z równoległymi pracami
  • Potwierdzenie wydajności na każdym zestawie

Najlepsze praktyki

  • Utrzymuj foldery językowe zorganizowane dla łatwego rozwiązywania problemów
  • Validuj zestaw próbek dla każdego języka
  • Aktualizacja Aspose.OCR dla najnowszych ulepszeń językowych
  • Zabezpieczenie zarówno danych wejścia, jak i wyjścia

Zaawansowane scenariusze

Scenariusz 1: Eksportowanie wielojęzycznych wyników do JSON

foreach (RecognitionResult result in results)
{
    result.Save(output.Replace(".txt", ".json"), SaveFormat.Json);
}

Scenariusz 2: Automatyczne wykrywanie języka (jeśli jest obsługiwane)

settings.Language = Language.Auto;

konkluzja

Aspose.OCR dla .NET umożliwia automatyzację ekstrakcji tekstu z różnorodnych, wielojęzycznych kolekcji obrazów – przyspieszając globalną cyfryzację i sprawiając, że archiwum można znaleźć, odkryć i być gotowym do integracji przepływu roboczego.

Aby uzyskać pełną listę języków wspieranych i zaawansowanych wskazówek, odwiedź Aspose.OCR dla .NET API Referencje .

 Polski