Comment combiner le processus multilingue OCR avec Aspose.OCR

Comment combiner le processus multilingue OCR avec Aspose.OCR

La numérisation des archives mondiales, des documents d’affaires ou des formulaires de sondage signifie souvent travailler avec plusieurs langues. l’extraction manuelle est lente et non scalable. Aspose.OCR pour .NET vous permet d’automatiser la extraction du texte dans divers langages à partir de grands volumes d ́images ou de PDFs avec seulement quelques lignes de code.

Problème du monde réel

Les entreprises internationales, les bibliothèques et les services de données traitent souvent des documents mixtes-langue. la sortie manuelle et l’extraction spécifique à la langue sont tendues et trompeuses - en particulier lorsqu’elles sont évoluées jusqu’à des milliers de documents.

Vue de la solution

Aspose.OCR pour .NET prend en charge plus de 30 langues. Vous pouvez configurer les paramètres de reconnaissance par fichier ou paquet, puis automatiser l’extraction et l’exportation dans votre format préféré pour une intégration sans fil dans les flux de travail d’affaires ou de recherche.

Principaux

  • Visual Studio 2019 ou ultérieur
  • .NET 6.0 ou ultérieur (ou .Net Framework 4.6.2+)
  • Aspose.OCR pour .NET de NuGet
  • L’expérience de programmation C#
PM> Install-Package Aspose.OCR

La mise en œuvre étape par étape

Étape 1 : Installer et configurer Aspose.OCR

using Aspose.OCR;

Étape 2 : Organiser les fichiers d’entrée par langage

Organiser vos images d’entrée ou PDF par langage dans des dossiers séparés, ou utiliser une convention de nom :

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

Étape 3 : Configurer les paramètres de reconnaissance par langage

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

Étape 4: Batch Process Input Fichiers

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

Étape 5: Ajoutez le traitement des erreurs et l’automatisation

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

Étape 6 : Optimiser la vitesse et l’exactitude

  • Exécuter le traitement en parallèle (avec soin de la mémoire/CPU)
  • Utilisez des images de haute qualité pour obtenir les meilleurs résultats
  • Tune les paramètres de reconnaissance pour les fonctionnalités de layout communes dans chaque langue
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
    // per-language processing logic
});

Étape 7 : Exemple complet

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

Utiliser les cas et les applications

Digitalisation des archives mondiales

L’extraction automatique du texte des archives multilingue, des journaux ou des enregistrements d’entreprise.

Automatisation des affaires internationales

Fournir les résultats OCR des contrats de langue mixte, des factures ou des documents HR dans votre ERP ou flux de travail mondial.

Conformité multilingue et recherche

Permettre la recherche de texte complet et les vérifications de conformité sur les documents dans de nombreuses langues.

Défis communs et solutions

Défi 1 : Documents de langue mixte

Solution: Exécutez la détection et le traitement par page, ou utilisez le mode de langue AUTO si disponible.

Défi 2 : Qualité d’image variée

Solution: Standardiser le scan et exécuter la pré-traitement pour normaliser la qualité de l’image.

Défi 3 : Bottlenecks de performance

** Solution: ** Traitement en parallèle lorsque cela est possible et optimisation de l’utilisation des ressources.

Considérations de performance

  • Organiser des emplois par langage pour une efficacité des ressources
  • Mémoriser la mémoire/CPU avec des emplois parallèles
  • Valider le rendement sur chaque batch

Migliori pratiche

  • Maintenez les dossiers linguistiques organisés pour faciliter la résolution des problèmes
  • Valider un échantillon pour chaque langue
  • Mise à jour Aspose.OCR pour les dernières améliorations linguistiques
  • Sécuriser les données entrées et sorties

Scénarios avancés

Scénario 1: Exporter des résultats multilingue à JSON

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

Scénario 2: Détection automatique de la langue (si soutenue)

settings.Language = Language.Auto;

Conclusion

Aspose.OCR pour .NET vous permet d’automatiser l’extraction de texte à partir de collections d’images diverses et multilingues – accélérant la numérisation mondiale et rendant vos archives recherchables, découvertables et prêtes à l’intégration du flux de travail.

Pour une liste complète des langues soutenues et des conseils avancés, visitez le Aspose.OCR pour la référence API .NET .

 Français