Come accumulare il processo multilingue OCR con Aspose.OCR
Digitalizzare archivi globali, documenti aziendali o moduli di sondaggio spesso significa lavorare con più lingue. l’estrazione manuale è lenta e non scalabile. Aspose.OCR per .NET consente di automatizzare la estrazione del testo in vari linguaggi da grandi volumi di immagini o PDF con solo poche righe di codice.
Il problema del mondo reale
Le aziende internazionali, le biblioteche e i servizi di dati si occupano spesso di documenti in lingua mista.La sorta manuale e l’estrazione specifica della lingua sono tedi e errori - specialmente quando si scalano fino a migliaia di Documenti.
Soluzione Overview
Aspose.OCR per .NET supporta più di 30 lingue.Puoi configurare le impostazioni di riconoscimento per file o pacch, quindi automatizzare l’estrazione ed esportazione al tuo formato preferito per integrazione senza segni nei flussi di lavoro aziendali o di ricerca.
Prerequisiti
- Visual Studio 2019 o successivo
- .NET 6.0 o successivo (o .Net Framework 4.6.2+)
- Aspose.OCR per .NET da NuGet
- L’esperienza di programmazione C#
PM> Install-Package Aspose.OCR
Implementazione passo dopo passo
Passo 1: Installare e configurare Aspose.OCR
using Aspose.OCR;
Passo 2: Organizzare i file di input per lingua
Organizzare le immagini o i PDF di input per lingua in cartelle separate, o utilizzare una convenzione di nomina:
// Example folders: ./input/en, ./input/fr, ./input/zh
Passo 3: Configurare le impostazioni di riconoscimento per lingua
Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
{ "en", Language.English },
{ "fr", Language.French },
{ "zh", Language.ChineseSimplified }
};
Passo 4: Batch Process Input File
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);
}
}
Passo 5: Aggiungi gestione degli errori e automazione
try
{
// batch processing code
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
Passo 6: Ottimizzare la velocità e l’accuratezza
- Eseguire il trattamento in parallelo (con cura della memoria/CPU)
- Utilizzare immagini di alta qualità per i migliori risultati
- Tune le impostazioni di riconoscimento per le caratteristiche di layout comuni in ogni lingua
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
// per-language processing logic
});
Passo 7 - Esempio completo
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}");
}
}
}
Utilizzare casi e applicazioni
Digitalizzazione archivio globale
L’estrazione automatica del testo da archivi multilingue, giornali o registri aziendali.
Automazione aziendale internazionale
Feed OCR risultati da contratti di lingua mista, fatturati o documenti di risorse umane nel vostro ERP globale o flusso di lavoro.
Conformità multilingue e ricerca
Permette la ricerca di testo completo e verifiche di conformità su documenti in molte lingue.
Sfide e soluzioni comuni
Titolo originale: Mixed Language Documents
Soluzione: Eseguire la rilevazione e il trattamento per pagina, o utilizzare il modo linguistico AUTO se disponibile.
Titolo: Differenza nella qualità dell’immagine
Soluzione: Standardizzare la scansione e eseguire la pre-processione per normalizzare la qualità dell’immagine.
Sito ufficiale: Performance Bottlenecks
**Soluzione: ** Processare in parallelo se possibile, e ottimizzare l’utilizzo delle risorse.
Considerazioni di prestazioni
- Organizzare lavori di batch per lingua per efficienza delle risorse
- Monitorare la memoria/CPU con lavori paralleli
- Validare la produzione su ogni pacchetto
Migliori pratiche
- Mantenere le cartelle linguistiche organizzate per facile risoluzione dei problemi
- Validare un pacchetto di campioni per ogni lingua
- Aggiornare Aspose.OCR per le ultime miglioramenti linguistici
- Assicurare entrambi i dati di input e output
Scenari avanzati
Scenario 1: Esportare risultati multilingue a JSON
foreach (RecognitionResult result in results)
{
result.Save(output.Replace(".txt", ".json"), SaveFormat.Json);
}
Scenario 2: rileva il linguaggio automaticamente (se supportato)
settings.Language = Language.Auto;
conclusione
Aspose.OCR per .NET ti consente di automatizzare l’estrazione di testo da collezioni di immagini diverse e multilingue – accelerando la digitalizzazione globale e rendendo i tuoi archivi ricercabili, scoperti e pronti per la integrazione del flusso di lavoro.
Per una lista completa di lingue supportate e suggerimenti avanzati, visitare il Aspose.OCR per .NET API Reference .