Hogyan készítsünk többnyelvű OCR-t az Aspose.OCR-vel

Hogyan készítsünk többnyelvű OCR-t az Aspose.OCR-vel

A globális archívumok, üzleti dokumentációk vagy felmérési űrlapok digitalizálása gyakran többnyelvű munkát jelent. A kézi kivonat lassú és nem méretezhető. Az Aspose.OCR for .NET lehetővé teszi, hogy a szöveg kivonását különböző nyelveken automatizálja a nagy mennyiségű képből vagy PDF-ből, csak néhány kódvonalon.

Valódi problémák

Nemzetközi cégek, könyvtárak és adatszolgáltatások gyakran foglalkoznak a vegyes nyelvű dokumentumokkal.A kézi sorozás és a nyelv-specifikus kivonat szomorú és hibás - különösen akkor, ha több ezer dokumentuma van.

megoldás áttekintése

Az ASPOSE.OCR for .NET több mint 30 nyelvet támogat. felismerési beállításokat állíthat be fájlonként vagy töredékenként, majd automatikusan kivonhatja és exportálhatja a kedvenc formátumba az üzleti vagy kutatási munkafolyamatokba való szűk integrációhoz.

előfeltételek

  • Visual Studio 2019 vagy újabb
  • .NET 6.0 vagy újabb (vagy .Net Framework 4.6.2+)
  • ASPOSE.OCR for .NET a NuGet-ről
  • Alapvető C# programozási tapasztalat
PM> Install-Package Aspose.OCR

lépésről lépésre megvalósítás

1. lépés: Az Aspose.OCR telepítése és konfigurálása

using Aspose.OCR;

2. lépés: Szervezze a beviteli fájlokat nyelven

Szervezze be a beviteli képeket vagy PDF-eket nyelv szerint külön mappákban, vagy használjon egy megnevezési egyezményt:

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

3. lépés: A felismerési beállítások beállítása nyelvenként

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

4. lépés: Batch Process Input fájlok

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. lépés: Hibaelhárítás és automatizálás

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

6. lépés: A sebesség és a pontosság optimalizálása

  • A feldolgozás futtatása párhuzamosan (memória/CPU gondozással)
  • Használjon kiváló minőségű képeket a legjobb eredményekért
  • Tune felismerési beállítások a közös elrendezési funkciók minden nyelven
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
    // per-language processing logic
});

7. lépés: Teljes példa

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

Esetek és alkalmazások használata

Globális archívum digitalizáció

A szöveg automatikus kivonása többnyelvű archívumok, újságok vagy vállalati rekordokból.

Nemzetközi üzleti automatizálás

Feed OCR eredményeket vegyes nyelvű szerződések, számlák, vagy HR dokumentumok a globális ERP vagy munkafolyamat.

Többnyelvű megfelelés és keresés

Lehetővé teszi a teljes szöveges keresést és a megfelelőségi ellenőrzéseket a dokumentumokon keresztül sok nyelven.

Közös kihívások és megoldások

1. kihívás: vegyes nyelvű dokumentumok

** Megoldás:** A felderítés és a feldolgozás oldalonként történik, vagy az AUTO nyelvi üzemmód használatával rendelkezésre áll.

2. kihívás: változó képminőség

** Megoldás:** A szkennelés szabványosítása és az előfeldolgozás elvégzése a képminőség normalizálása érdekében.

3. kihívás: Bottlenecks teljesítmény

** Megoldás:** A lehetőség szerint párhuzamosan feldolgozza, és optimalizálja az erőforrás felhasználását.

A teljesítmény megfontolása

  • Az erőforrás-hatékonyság céljából nyelven szerzett munkahelyek szervezése
  • Memória/CPU monitor párhuzamos munkákkal
  • Validálja a teljesítményt minden egyes csomagban

Legjobb gyakorlatok

  • Tartsa a nyelvi mappákat szervezett a könnyű problémamegoldáshoz
  • Validáljon egy mintacsomagot minden nyelvre
  • Az Aspose.OCR frissítése a legfrissebb nyelvi fejlesztésekhez
  • Biztosítsa mind a belépési és a kimeneti adatokat

fejlett forgatókönyvek

1. forgatókönyv: Többnyelvű eredmények exportálása a JSON-ra

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

2. forgatókönyv: Automatikus nyelvi felismerés (ha támogatott)

settings.Language = Language.Auto;

következtetések

Az Aspose.OCR for .NET lehetővé teszi a változatos, többnyelvű képgyűjtemények szövegkivonatának automatizálását – gyorsítva a globális digitalizációt, és archívumait kereshetővé, feltárhatóvá és munkafolyamat-integrációra készítheti.

A támogatott nyelvek és a fejlett tippek teljes listájára látogasson el a Az ASPOSE.OCR a .NET API referenciájához .

 Magyar