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 .