Kaip sujungti daugiakalbę OCR su Aspose.OCR
Globalių archyvų, verslo dokumentų ar apklausos formų skaitmeninimas dažnai reiškia dirbti su keliomis kalbomis. Manual extraction yra lėtas ir ne skalavimo. Aspose.OCR .NET leidžia automatuoti teksto ekstrakciją įvairiais kalba iš didelių skaičių vaizdų arba PDF su tik keliais kodo eilutėmis.
Realaus pasaulio problemos
Tarptautinės bendrovės, bibliotekos ir duomenų paslaugos dažnai susiduria su mišriomis kalbomis susijusiais dokumentais. rankiniu būdu išdėstyti ir kalbų-specifinė ekstrakcija yra nuobodu ir klaidų priežastis - ypač kai skiriama iki tūkstančių dokumentų.
Sprendimo apžvalga
Aspose.OCR .NET palaiko daugiau nei 30 kalbų. galite konfigūruoti atpažinimo nustatymus pagal failą ar rinkinį, tada automatiškai ištraukti ir eksportuoti į savo pageidaujamą formatą, kad būtų lengvai integruota į verslo ar mokslinių tyrimų darbo srautus.
Prerequisites
- „Visual Studio 2019“ arba vėliau
- .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
- ASPOSE.OCR už .NET iš NuGet
- C# programavimo patirtis
PM> Install-Package Aspose.OCR
Žingsnis po žingsnio įgyvendinimas
1 žingsnis: Įdiegti ir konfigūruoti Aspose.OCR
using Aspose.OCR;
2 žingsnis: Įveskite įrašus pagal kalbą
Organizuokite savo įvesties nuotraukas ar PDF pagal kalbą atskirose aplankose arba naudokite pavadinimo konvenciją:
// Example folders: ./input/en, ./input/fr, ./input/zh
3 žingsnis: nustatyti atpažinimo nustatymus pagal kalbą
Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
{ "en", Language.English },
{ "fr", Language.French },
{ "zh", Language.ChineseSimplified }
};
4 žingsnis: Batch procesas įvesties failus
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 žingsnis: klaidų tvarkymas ir automatizavimas
try
{
// batch processing code
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
6 žingsnis: optimizuokite greitį ir tikslumą
- Atlikite apdorojimą lygiagrečiai (su atminties / CPU priežiūra)
- Naudokite aukštos kokybės vaizdus geriausiems rezultatams
- Tune atpažinimo nustatymai bendriems dizaino bruožams kiekvienoje kalba
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
// per-language processing logic
});
7 žingsnis: pilnas pavyzdys
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}");
}
}
}
Naudokite atvejus ir paraiškas
Pasaulio archyvų skaitmeninimas
Automatinis teksto ištraukimas iš daugiakalbių archyvų, laikraščių ar įmonių įrašų.
Tarptautinė verslo automatizacija
Sudarykite OCR rezultatus iš mišrių kalbų sutarčių, sąskaitų ar žmogiškųjų išteklių dokumentų į jūsų pasaulinį ERP ar darbo srautą.
Daugiakalbės atitikties ir paieškos
Galite atlikti visą teksto paiešką ir atitikties patikrinimus per dokumentus daugelyje kalbų.
Bendrieji iššūkiai ir sprendimai
1 iššūkis: mišrių kalbų dokumentai
Išsprendimas: Atlikite aptikimą ir apdorojimą per puslapį arba naudokite AUTO kalbos režimą, jei yra.
2 iššūkis: įvairaus vaizdo kokybė
Išsprendimas: Standartizuokite skenavimą ir paleiskite išankstinį apdorojimą, kad būtų normalizuota vaizdo kokybė.
Iššūkis 3: Performance Bottlenecks
Išsprendimas: Procesas, kai įmanoma, lygiagrečiai ir optimizuojamas išteklių naudojimas.
Veiksmingumo apžvalgos
- Organizuokite darbo vietų rinkinį pagal kalbą išteklių efektyvumui
- Atminties / CPU stebėjimas su lygiagrečių darbų
- Įvertinkite išleidimą kiekvienoje partijoje
Geriausios praktikos
- Laikykite kalbos lapas organizuotas, kad būtų lengva išspręsti problemas
- Validuokite kiekvienos kalbos mėginių rinkinį
- Atnaujinkite Aspose.OCR naujausiems kalbos patobulinimams
- Saugokite tiek įvesties, tiek išeities duomenis
Išplėstiniai scenarijai
1 scenarijus: eksportuoti daugiakalbius rezultatus į JSON
foreach (RecognitionResult result in results)
{
result.Save(output.Replace(".txt", ".json"), SaveFormat.Json);
}
2 scenarijus: Automatiškai aptikti kalbą (jei palaikoma)
settings.Language = Language.Auto;
Conclusion
Aspose.OCR .NET leidžia automatizuoti teksto ekstrakciją iš įvairių, daugiakalbių vaizdo kolekcijų – pagreitinti pasaulinį skaitmeninimą ir padaryti jūsų archyvus paieškos, atradimo ir pasiruošimo darbo srauto integracijai.
Norėdami gauti išsamią remiamų kalbų ir pažangių patarimų sąrašą, apsilankykite ASPOSE.OCR už .NET API nuorodą .