Kako podijeliti multilingualni OCR proces s Aspose.OCR

Kako podijeliti multilingualni OCR proces s Aspose.OCR

Digitaliziranje globalnih arhiva, poslovnih dokumenata ili anketnih obrazaca često znači raditi na više jezika. ručna ekstrakcija je usporena i ne skala. Aspose.OCR za .NET omogućuje automatizaciju ekstrakta teksta na različitim jezicima iz velikih količina slika ili PDF-a s samo nekoliko redova koda.

Real-svjetski problem

Međunarodne tvrtke, knjižnice i usluge podataka često se bave mješovitim jezikovnim dokumentima. ručno razvrstavanje i jezično specifična ekstrakcija su dosadna i pogrešna – osobito kada se skali na tisuće dokumenata.

Pregled rješenja

Aspose.OCR za .NET podržava više od 30 jezika. možete konfigurirati postavke prepoznavanja po datoteci ili pakiranju, a zatim automatizirati ekstrakciju i izvoz u svoj omiljeni format za bespomoćnu integraciju u poslovne ili istraživačke radne tokove.

Preduzeća

  • Visual Studio 2019 ili kasnije
  • .NET 6.0 ili noviji (ili .Net Framework 4.6.2+)
  • Aspose.OCR za .NET od NuGet
  • Osnovna iskustva u programiranju C#
PM> Install-Package Aspose.OCR

Korak po korak provedba

Korak 1: Instaliranje i konfiguracija Aspose.OCR

using Aspose.OCR;

Korak 2: Organizirajte ulazne datoteke po jeziku

Organizirajte svoje ulazne slike ili PDF-ove po jeziku u odvojenim dosjeima ili koristite nazivnu konvenciju:

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

Korak 3: Konfigurirajte postavke prepoznavanja po jeziku

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

Korak 4: Batch proces ulazne datoteke

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

Korak 5: Dodajte rješavanje pogrešaka i automatizaciju

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

Korak 6: Optimizacija brzine i točnosti

  • Izvođenje obrada paralelno (s pažnjom za memoriju/CPU)
  • Koristite kvalitetne slike za najbolje rezultate
  • Tune postavke prepoznavanja za zajedničke značajke rasporeda na svakom jeziku
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
    // per-language processing logic
});

Četvrti korak: Popuniti primjer

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

Korištenje slučajeva i aplikacija

Globalna digitalizacija arhiva

Automatsko izvlačenje teksta iz multilingualnih arhiva, novina ili korporativnih zapisa.

Međunarodna poslovna automatizacija

OCR sadrži rezultate iz mješovitih ugovora, računa ili HR dokumenata u vaš globalni ERP ili radni tok.

Multilingualno usklađenost i pretraživanje

Omogućiti cjelokupno pretraživanje teksta i provjere sukladnosti preko dokumenata na mnogim jezicima.

Zajednički izazovi i rješenja

Izazov 1: Miješani jezični dokumenti

Rješenje: Provedite detekciju i obradu po stranici, ili koristite način jezika AUTO ako je dostupan.

Izazov 2: Kvaliteta različitih slika

Rješenje: Standardizirajte skeniranje i provodite pre-procesiranje kako biste normalizirali kvalitetu slike.

Sljedeći Članak Izazov 3: Bottlenecks

Rješenje: Proizvodnja paralelno gdje je to moguće i optimizacija korištenja resursa.

Razmatranje učinkovitosti

  • Organizacija radnih mjesta po jeziku za učinkovitost resursa
  • Monitor memorije/CPU s paralelnim radovima
  • Potvrdite ishod na svakoj partiji

Najbolje prakse

  • Držite jezične dosje uređene za jednostavno rješavanje problema
  • Validacija uzorka za svaki jezik
  • Update Aspose.OCR za najnovije poboljšanja jezika
  • Osigurajte i ulazne i izlazne podatke

Napredni scenariji

Scenarij 1: Izvoz multilingualnih rezultata na JSON

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

Scenarij 2: Otkrijte jezik automatski (ako je podržan)

settings.Language = Language.Auto;

zaključak

Aspose.OCR za .NET omogućuje vam automatizaciju ekstrakcije teksta iz raznolikih, multilingualnih zbirki slika – ubrzavajući globalnu digitalizacija i čineći vaše arhive tražljivim, otkrivenim i spremnim za integraciju radnog toka.

Za potpuni popis podržanih jezika i naprednih savjeta, posjetite Aspose.OCR za .NET API reference .

 Hrvatski