Comment lire un chèque MICR en utilisant IronOCR en C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

Le traitement manuel des chèques est lent et sujet aux erreurs. IronOCR rationalise ce flux de travail grâce à un moteur spécialisé qui lit avec précision la ligne MICR (Magnetic Ink Character Recognition), ce qui vous permet d'automatiser l'extraction des numéros de routage, des numéros de compte et d'autres données critiques.

Démarrage rapide : Lecture OCR MICR à partir d'une image de chèque

Utilisez IronOcr pour saisir rapidement la ligne de codage magnétique - il suffit de définir le Language sur MICR, de spécifier la région rectangulaire où le texte MICR apparaît, d'exécuter Read(), et d'obtenir immédiatement la chaîne result.Text. Idéal pour les développeurs qui souhaitent une extraction de données financières fiable avec une configuration minimale.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronOCR avec le gestionnaire de packages NuGet

    PM > Install-Package IronOcr

  2. Copiez et exécutez cet extrait de code.

    string micrText = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.MICR }.Read(new IronOcr.OcrInput().LoadImage("micr.png", new System.Drawing.Rectangle(125, 240, 310, 15))).Text;
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Comment lire les données MICR d'une image de chèque?

La lecture d'une ligne MICR avec IronOCR est simple et intuitive. Commencez par définir la propriété Language de l'instance IronTesseract sur OcrLanguage.Micr. Pour s'assurer que le moteur lit la bonne zone, spécifiez l'emplacement de la ligne MICR en définissant une limite rectangulaire sur le OcrInput.

Pour ce faire, il convient de sélectionner les coordonnées x et y, ainsi que la hauteur et la largeur du rectangle de la boîte englobante, puis de transmettre le rectangle en tant que deuxième paramètre lors de l'appel de la méthode Load. L'appel de la méthode Read ne traite alors que cette région définie. Cette combinaison du paramètre de langue MICR et d'une région spécifique garantit qu'IronOCR extrait avec précision les informations financières pertinentes.

La technologie MICR utilise une encre magnétique spéciale et une police de caractères unique (E-13B en Amérique du Nord) qui contient exactement 14 caractères : les chiffres de 0 à 9 et quatre symboles spéciaux. Ces symboles comprennent le symbole de transit (⑆), qui marque les limites des numéros de routage ; le symbole on-us (⑈), qui sépare le numéro de compte des autres données ; le symbole du montant (⑊), utilisé pour les montants encodés ; et le symbole du tiret (⑉), qui sert de séparateur. Les propriétés magnétiques de cette encre permettent une lecture fiable même lorsque les chèques sont pliés, estampillés ou légèrement endommagés, ce qui rend le MICR idéal pour le traitement de chèques en grande quantité.

À quoi ressemble un chèque MICR?

Echantillon de chèque montrant la ligne MICR avec le numéro d'acheminement, le numéro de compte et le numéro de chèque étiqueté pour la démonstration de la lecture MICR

Quelles sont les informations contenues dans la ligne MICR?

Numéro de chèque : Ce numéro identifie de manière unique le chèque spécifique figurant dans le chéquier du titulaire du compte. Il sert de référence claire pour le suivi des paiements individuels et la tenue des registres de transactions. Dans les systèmes de traitement automatisés, le numéro de chèque permet d'éviter les doubles traitements et facilite les procédures de rapprochement.

Numéro de routage : Ce code à neuf chiffres, entouré du symbole de transit ⑆, identifie l'établissement financier qui détient le compte. Il s'agit de la première information utilisée par une chambre de compensation pour acheminer le chèque vers la banque compétente pour paiement. Le numéro de routage suit un format spécifique : les quatre premiers chiffres identifient le symbole de routage de la Réserve fédérale, les quatre suivants identifient l'institution et le dernier chiffre est une somme de contrôle pour la validation.

Numéro de compte : Il identifie le compte client spécifique à partir duquel les fonds seront prélevés. La longueur du mot de passe peut varier d'une banque à l'autre, mais elle est généralement comprise entre 10 et 12 chiffres. Les banques peuvent inclure des codes internes ou des identifiants d'agence dans la structure du numéro de compte.

De quel code ai-je besoin pour extraire les données MICR?

:path=/static-assets/ocr/content-code-examples/how-to/read-micr-cheque.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Create a new instance of IronTesseract for performing OCR operations
IronTesseract ocr = new IronTesseract();

// Set the OCR language to MICR to recognize magnetic ink characters
// Must have MICR (IronOcr.Languages.MICR) installed beforehand
ocr.Language = OcrLanguage.MICR;

// Specify the file path of the input image containing MICR text
using (var input = new OcrInput())
{
    // Specify the MICR of the image to focus on for OCR (coordinates in pixels)
    var contentArea = new Rectangle(x: 215, y: 482, width: 520, height: 20);
    input.LoadImage("micr.png", contentArea);

    // Optional: Save the cropped area for verification
    input.StampCropRectangleAndSaveAs(contentArea, Color.Aqua, "cropped.png");

    // Run the OCR engine to read the MICR text from the input image
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);

    // Transit number is the first 7 characters of the MICR string
    string transitNum = result.Text.Substring(0, 7);
    // Routing number starts from the 8th character and is 11 characters long
    string routingNum = result.Text.Substring(7, 11);
    // Account number starts from the 22nd character to the end of the string
    string accountNum = result.Text.Substring(22);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code démontre le flux de travail complet pour le traitement des chèques du MICR. Avant d'exécuter ce code, assurez-vous d'avoir installé le pack linguistique MICR via NuGet. La classe OcrInput offre de puissantes méthodes de chargement et de prétraitement des images, tandis que le paramètre Rectangle permet de cibler avec précision l'emplacement de la ligne de codage magnétique.

Quels sont les résultats auxquels je peux m'attendre ?
Console de débogage montrant les résultats de l'analyse MICR avec les numéros de transit, de routage et de compte extraits du chèque
La sortie ci-dessus montre les trois sections obtenues à partir du chèque MICR : le numéro de transit, le numéro d'acheminement et le numéro de compte. Remarquez la façon dont les symboles MICR spéciaux sont représentés dans la sortie. Il s'agit d'un comportement normal, car ces symboles ont des représentations Unicode spécifiques qui peuvent apparaître différemment dans la sortie de la console. #### Résultats de la reconnaissance optique de caractères (OCR) MICR L'objet `OcrResult` fournit des informations détaillées sur l'analyse : **Texte** : Le texte extrait de `OcrInput`. Cela inclut tous les caractères et symboles de la ligne MICR, en conservant leur séquence d'origine. **Confiance** : indique la confiance en la précision statistique d'une moyenne de chaque caractère, un étant la valeur la plus élevée et zéro la plus faible. Pour la lecture MICR, les niveaux de confiance supérieurs à 0,9 sont typiques en raison de la conception normalisée de la police. En savoir plus sur [le suivi de la confiance dans les résultats de l'OCR](https://ironsoftware.com/csharp/ocr/how-to/tesseract-result-confidence/). **Blocs, Paragraphes, Lignes et Mots** : La structure hiérarchique du texte reconnu, qui pour le MICR consiste typiquement en une seule ligne avec plusieurs segments de mots séparés par des symboles. **Données BarCode** : Lors du traitement des données MICR, IronOCR peut détecter simultanément tout [code-barres ou code QR](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/) présent sur le chèque. ### Comment vérifier que la région d'OCR est correcte ? Pour vous assurer d'avoir sélectionné les coordonnées correctes pour la ligne MICR, vous pouvez visualiser la **zone de contenu** que vous avez définie. Une façon simple de procéder consiste à dessiner le rectangle sur l'image d'entrée et à l'enregistrer comme un nouveau fichier avec `StampCropRectangleAndSaveAs` . Cela vous permet de déboguer et d'affiner les coordonnées pour des performances optimales. Pour trouver les coordonnées de votre rectangle, utilisez un éditeur d'images simple comme MS Paint. Ouvrez l'image de votre chèque, passez votre souris sur les coins supérieur gauche et inférieur droit de la ligne de codage magnétique et notez les coordonnées des pixels `(x,y)`. Vous pouvez ensuite calculer les propriétés du rectangle : `(x1, y1, largeur, hauteur)`, où `largeur = x2-x1` et `hauteur = y2-y1`. Pour des techniques de sélection de régions plus avancées, consultez [ciblage de régions OCR](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) et [zones de contenu avec PDF](https://ironsoftware.com/csharp/ocr/troubleshooting/crop-regions-rectangles/). Voici l'image résultante après avoir tracé le cadre de délimitation spécifié sur notre chèque d'exemple. #### Sortie
Ligne MICR du chèque montrant le numéro de routage, le numéro de compte et le numéro de chèque mis en évidence dans la boîte rouge
Le rectangle bleu clair confirme que nous avons correctement isolé la ligne MICR pour traitement. ### Conseils pour l'optimisation des performances Lorsque vous traitez plusieurs contrôles, pensez à mettre en œuvre le [multithreading pour améliorer les performances](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/). IronOCR gère efficacement les opérations simultanées : ```csharp // Process multiple cheques in parallel var chequeFiles = Directory.GetFiles("cheques/", "*.png"); Parallel.ForEach(chequeFiles, file => { using (var ocr = new IronTesseract { Language = OcrLanguage.MICR }) using (var input = new OcrInput()) { input.LoadImage(file, micrRegion); var result = ocr.Read(input); ProcessMicrData(result.Text); } }); ``` ### Scénarios de dépannage courants **Scans de mauvaise qualité** : si vous travaillez avec des images de contrôle de mauvaise qualité, appliquez des [filtres de prétraitement d'image](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/) pour améliorer la lisibilité. La forme distinctive de la police MICR permet de maintenir la précision même avec des images dégradées. **Reconnaissance incorrecte des caractères** : Assurez-vous que la dernière version du pack linguistique MICR est installée. La configuration linguistique spécialisée [MICR](https://ironsoftware.com/csharp/ocr/troubleshooting/financial-language-pack/) est spécifiquement formée à la reconnaissance des polices E-13B. **Positions variables de la ligne de codage magnétique** : Différentes banques peuvent positionner la ligne de codage à l'encre magnétique à des endroits légèrement différents. Envisagez de mettre en œuvre la détection dynamique des régions ou de maintenir un fichier de configuration avec des coordonnées pour différents formats de vérification. ### Traitement de documents financiers connexes Les capacités d'IronOCR vont au-delà du traitement des chèques. Explorez ces fonctionnalités connexes pour une automatisation complète des documents financiers : - [Extraire des données de factures scannées](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/) - [Traiter les documents d'identité](https://ironsoftware.com/csharp/ocr/examples/read-passport/) pour la conformité KYC - [Lire les tableaux dans les états financiers](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/) En maîtrisant la lecture des codes à barres avec IronOcr, vous avez fait le premier pas vers un traitement entièrement automatisé des documents financiers, en réduisant les erreurs de saisie manuelle et en accélérant considérablement votre flux de travail.

Questions Fréquemment Posées

Qu'est-ce que le MICR et pourquoi est-il important pour le traitement des chèques ?

MICR (Magnetic Ink Character Recognition) est une technologie qui utilise une encre magnétique spéciale et des polices de caractères uniques pour coder les informations financières sur les chèques. Le moteur MICR spécialisé d'IronOcr peut lire avec précision ces données codées, y compris les numéros de routage, les numéros de compte et les numéros de chèque, automatisant ainsi ce qui serait autrement un processus manuel lent et sujet aux erreurs.

Comment configurer le moteur OCR pour qu'il lise le texte MICR ?

Pour lire du texte MICR avec IronOcr, vous devez définir la propriété Language de l'instance IronTesseract sur OcrLanguage.MICR. Cela indique au moteur d'utiliser les algorithmes spécialisés de reconnaissance de caractères MICR conçus spécifiquement pour lire la police E-13B utilisée sur les chèques.

Puis-je préciser l'endroit exact du chèque où doivent figurer les données MICR ?

Oui, IronOcr vous permet de spécifier l'emplacement exact de la ligne de codage magnétique en définissant une limite rectangulaire sur l'entrée OcrInput. Vous définissez cela en sélectionnant les coordonnées x et y, ainsi que la hauteur et la largeur du rectangle de délimitation, puis en le transmettant en tant que deuxième paramètre lorsque vous appelez la méthode Load.

Quels sont les caractères spéciaux utilisés dans l'encodage MICR ?

Le MICR utilise 14 caractères au total : les chiffres de 0 à 9 et quatre symboles spéciaux. Ces derniers comprennent le symbole de transit (⑆) pour les limites du numéro de routage, le symbole on-us (⑈) pour séparer les numéros de compte, le symbole de montant (⑊) pour les montants encodés et le symbole du tiret (⑉) comme séparateur. IronOCR peut reconnaître tous ces caractères spécifiques au MICR.

En combien de temps puis-je extraire des données MICR d'une image de chèque ?

Avec IronOCR, vous pouvez extraire des données MICR en une seule ligne de code. Il vous suffit de créer une instance IronTesseract avec le paramètre Language défini sur MICR, de charger votre image avec la région MICR spécifiée, d'appeler Read() et d'accéder à la propriété result.Text pour obtenir immédiatement la chaîne MICR extraite.

Quels types d'informations financières peuvent être extraits de la ligne MICR ?

IronOcr peut extraire toutes les données financières critiques encodées dans la ligne MICR, y compris le numéro de routage (identifiant la banque), le numéro de compte (identifiant le compte spécifique) et le numéro de chèque (identifiant de manière unique le chèque individuel). Cette extraction automatisée rationalise le traitement des documents financiers.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 5,246,844 | Version : 2025.12 vient de sortir