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 .