Passer au contenu du pied de page
UTILISATION D'IRONOCR

OCR C# GitHub : Implémenter la reconnaissance de texte avec IronOCR

Les recherches de solutions OCR sur GitHub aboutissent souvent à une documentation fragmentée, à des configurations Tesseract complexes et à des projets qui n'ont pas été mis à jour depuis longtemps. Pour les développeurs C# qui ont besoin d'une extraction de texte fiable à partir d'images et de PDF, la navigation dans le paysage des référentiels peut prendre des heures qui seraient mieux employées à coder. De nombreux projets de reconnaissance optique de caractères open-source nécessitent une gestion manuelle des binaires, des téléchargements de fichiers de données d'essai et un dépannage du système Windows.

Ce tutoriel montre comment mettre en œuvre la fonctionnalité OCR dans les projets C# à l'aide d'IronOCR, une bibliothèque raffinée qui élimine les maux de tête de configuration communs avec les implémentations brutes de Tesseract. Qu'il s'agisse de construire des pipelines de traitement de documents ou d'ajouter la reconnaissance de texte à des applications existantes, ce guide fournit des exemples de code de travail prêts pour les projets GitHub OCR C#.

Qu'est-ce qui rend IronOcr idéal pour les projets de code C# basés sur GitHub?

IronOCR propose une bibliothèque .NET gérée et distribuée via NuGet, ce qui facilite son intégration dans n'importe quel dépôt GitHub. Contrairement aux wrappers OCR Tesseract open-source qui nécessitent une gestion manuelle des binaires et de la configuration des tessdata, IronOcr gère ces dépendances en interne et fonctionne dès la sortie de la boîte.

La bibliothèque gère des référentiels d'exemples officiels sur GitHub que les développeurs peuvent cloner et référencer. Ces tutoriels présentent des mises en œuvre concrètes, notamment la conversion image-texte, la prise en charge de plusieurs langues et le traitement des PDF. Les contributeurs peuvent tester les fonctionnalités immédiatement après le clonage.

Pour commencer dans Visual Studio, installez IronOCR via le gestionnaire de paquets NuGet :

Install-Package IronOcr
Install-Package IronOcr
SHELL

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOcr : Image 1 - Installation

Une fois installé, ce paquet unique comprend tout ce qui est nécessaire aux opérations d'OCR dans les environnements Windows, Linux et macOS. La bibliothèque prend en charge .NET Framework 4.6.2+, .NET Core et .NET 5-10 pour une compatibilité maximale.

Comment extraire du texte à partir de formats d'image en C#?

L'exemple suivant présente une extraction de texte de base à l'aide de la classe IronTesseract d'IronOcr. Ce moteur OCR lit différents formats d'images, notamment PNG, JPG, JPEG, BMP, GIF et TIFF :

using IronOcr;
// Initialize the OCR engine
var ocr = new IronTesseract();
// Load and process an image
using var input = new OcrInput("document-scan.png");
// Perform OCR and retrieve results
var result = ocr.Read(input);
// Output the extracted text to console
Console.WriteLine($"Extracted Text:\n{result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;
// Initialize the OCR engine
var ocr = new IronTesseract();
// Load and process an image
using var input = new OcrInput("document-scan.png");
// Perform OCR and retrieve results
var result = ocr.Read(input);
// Output the extracted text to console
Console.WriteLine($"Extracted Text:\n{result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La classe IronTesseract sert de moteur OCR principal, construit sur une implémentation optimisée de Tesseract 5. Après avoir créé une instance, l'objet OcrInput charge l'image cible à partir d'un disque, d'une URL ou d'un tableau d'octets. La méthode Read traite l'entrée et renvoie un OcrResult contenant le texte brut extrait ainsi qu'un pourcentage de confiance indiquant la précision de la reconnaissance. Des valeurs de confiance élevées (supérieures à 90 %) indiquent généralement que les documents sources sont propres et bien formatés.

Entrée

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOcr : Image 2 - Exemple d'entrée

Sortie

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOCR : Image 3 - Sortie de la console

L'objet OcrResult fournit un accès structuré au contenu reconnu. Au-delà du texte brut, les développeurs peuvent accéder à des mots, des lignes, des paragraphes et des caractères individuels, ainsi qu'à leur position et à leur indice de confiance. Chaque mot comprend les coordonnées du rectangle de délimitation, ce qui le rend utile pour les applications nécessitant des données précises sur l'emplacement du texte, telles que l'annotation de documents ou l'extraction de champs de formulaires.

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOcr : Image 4 - Caractéristiques

Comment le prétraitement des images améliore-t-il la précision de la reconnaissance optique des caractères ?

Les documents numérisés arrivent souvent de travers, bruyants ou à des résolutions sous-optimales. IronOCR comprend des filtres de prétraitement intégrés qui corrigent ces problèmes avant que le moteur d'OCR ne traite l'image :

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("skewed-receipt.jpg");
// Apply preprocessing filters to enhance scan quality
input.Deskew();           // Straighten rotated images
input.DeNoise();          // Remove digital artifacts
input.EnhanceResolution(225);  // Optimize DPI for OCR
var result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("skewed-receipt.jpg");
// Apply preprocessing filters to enhance scan quality
input.Deskew();           // Straighten rotated images
input.DeNoise();          // Remove digital artifacts
input.EnhanceResolution(225);  // Optimize DPI for OCR
var result = ocr.Read(input);
Console.WriteLine(result.Text);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La méthode Deskew détecte et corrige automatiquement la rotation de l'image jusqu'à 15 degrés. Le filtre DeNoise supprime les mouchetures et les artefacts communs aux documents photographiés ou aux anciens scans. EnhanceResolution met à l'échelle les images à faible DPI dans la plage 200-300 DPI, optimale pour la reconnaissance optique de caractères. Ces fonctionnalités peuvent être enchaînées et exécutées en mémoire sans nécessiter de fichiers temporaires. Dans de nombreux cas, plusieurs passages de prétraitement peuvent améliorer considérablement les résultats de la reconnaissance de texte sur des documents présentant de graves problèmes de qualité.

Pouvez-vous extraire des BarCodes et des QR Codes en même temps que du texte?

IronOCR peut simultanément reconnaître du texte et scanner des codes-barres au sein d'un même document. Ce type de double fonctionnalité s'avère précieux pour le traitement des factures, des étiquettes d'expédition et des documents d'inventaire :

using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;  // Enable barcode detection
using var input = new OcrInput("shipping-label.png");
var result = ocr.Read(input);
// Access extracted text
Console.WriteLine($"Text: {result.Text}");
// Access any barcodes found in the image
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}");
}
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;  // Enable barcode detection
using var input = new OcrInput("shipping-label.png");
var result = ocr.Read(input);
// Access extracted text
Console.WriteLine($"Text: {result.Text}");
// Access any barcodes found in the image
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Lorsque ReadBarCodes est activé et défini sur true, la détection des codes-barres s'active sans avoir d'impact significatif sur le temps de traitement. La collection Barcodes du résultat contient la valeur et le type de format pour chaque code-barres détecté, prenant en charge les formats standard tels que les codes QR, le Code 128, l'EAN-13 et l'UPC. Cette double capacité élimine le besoin de bibliothèques de lecture de codes-barres distinctes lors du traitement de documents contenant à la fois du texte lisible par l'homme et du code lisible par une machine.

Entrée

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOcr : Image 5 - Exemple d'image de code-barres

Sortie

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOcr : Image 6 - Sortie de texte de code-barres de la console

Comment générer des PDF consultables à partir d'images numérisées?

La conversion de documents numérisés en PDF consultables permet la sélection et la copie de texte, ainsi que la recherche en texte intégral. Ce projet fonctionne avec différents formats d'image en entrée :

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-contract.tiff");
var result = ocr.Read(input);
// Export as searchable PDF - create new document from scan
result.SaveAsSearchablePdf("contract-searchable.pdf");
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-contract.tiff");
var result = ocr.Read(input);
// Export as searchable PDF - create new document from scan
result.SaveAsSearchablePdf("contract-searchable.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La méthode SaveAsSearchablePdf incorpore une couche de texte invisible correspondant au contenu reconnu, préservant l'apparence du document original tout en permettant les opérations de texte. Cela permet de créer des documents conformes à la norme PDF/A qui conviennent aux systèmes d'archivage et de gestion des documents d'entreprise. Vous pouvez également exporter les résultats au format JSON pour les intégrer à d'autres systèmes.

Quelles sont les meilleures pratiques pour l'OCR dans les projets GitHub ?

Lorsque vous maintenez des projets OCR sur GitHub, tenez compte de ces recommandations pour votre dépôt :

  • <Utiliser Git LFS pour les grandes images de test afin d'éviter de gonfler la taille du référentiel
  • Store license keys in environment variables or GitHub Secrets, never in committed C# code-refer to the license key configuration guide
  • <Inclure des exemples d'images dans un dossier de données de test dédié afin que les contributeurs puissent vérifier la fonctionnalité de l'OCR
  • Documenter les formats d'image pris en charge dans les fichiers README afin d'établir des attentes claires et de répondre aux questions les plus courantes
  • <Construire et exécuter des tests dans les pipelines CI pour s'assurer que la bibliothèque fonctionne correctement avec chaque version

Pour les flux de travail des actions GitHub, IronOCR fonctionne dans des environnements conteneurisés sur Windows et Linux. Reportez-vous au guide de déploiement Linux pour plus de détails sur la configuration lorsque vous ciblez des exécutants non Windows.

IronOcr prend également en charge plusieurs langues, notamment l'anglais, l'espagnol, le français, le chinois et plus de 120 autres langues. Téléchargez des packs de langues via NuGet pour activer la reconnaissance de texte pour les langues autres que l'anglais. Ceci offre un accès gratuit à l'OCR pour presque toutes les langues dont votre système a besoin.

Conclusion

IronOCR rationalise la mise en œuvre de l'OCR dans les projets C# GitHub grâce à son API intuitive, au prétraitement automatique des images et à une prise en charge multiplateforme fiable. Les exemples de code ci-dessus constituent une base pour la création d'applications de traitement de documents qui s'intègrent harmonieusement aux flux de développement basés sur GitHub. La bibliothèque fonctionne avec .NET Framework, .NET Core et les versions modernes de .NET, offrant une large compatibilité pour tout type de projet.

Lancer un essai gratuit pour découvrir toutes les fonctionnalités, ou voir les options de licence pour un déploiement en production.

OCR C# GitHub : Mettre en œuvre la reconnaissance de texte avec IronOcr : Image 7 - Licences

Questions Fréquemment Posées

Qu'est-ce qu'IronOCR ?

IronOCR est une puissante bibliothèque de reconnaissance optique de caractères (OCR) pour C# qui simplifie l'extraction de texte à partir d'images et de PDF.

Pourquoi les développeurs devraient-ils choisir IronOCR plutôt que les solutions OCR de GitHub ?

IronOCR fournit des fonctionnalités d'OCR fiables et à jour sans nécessiter de configurations complexes ou de gestion manuelle des binaires, contrairement à de nombreux projets GitHub fragmentés.

IronOCR peut-il traiter à la fois des images et des documents PDF ?

Oui, IronOCR est conçu pour extraire efficacement du texte à partir d'images et de documents PDF.

Dois-je gérer des fichiers tessdata lorsque j'utilise IronOcr ?

Non, IronOCR élimine la nécessité de gérer manuellement les fichiers de données de test, simplifiant ainsi le processus de mise en œuvre de l'OCR.

IronOCR est-il compatible avec les systèmes Windows ?

Oui, IronOcr est entièrement compatible avec les systèmes Windows, offrant une expérience d'installation et d'utilisation transparente sans dépannage important.

Comment IronOCR améliore-t-il le flux de travail du développeur ?

IronOcr rationalise le processus d'intégration de la ROC, permettant aux développeurs de se concentrer davantage sur le codage plutôt que de s'occuper d'une documentation et de configurations fragmentées.

Pour quel langage de programmation IronOCR est-il conçu ?

IronOCR est spécifiquement conçu pour les développeurs C#, offrant une solution d'OCR robuste et adaptée à l'écosystème du langage.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite