Passer au contenu du pied de page
UTILISATION D'IRONOCR

Intégration OCR C# GitHub : Construire des applications de reconnaissance de texte avec IronOCR

IronOCR simplifie l'intégration OCR dans les projets C# GitHub en fournissant une solution à DLL unique avec une précision de 99,8 %, un prétraitement intégré et la prise en charge de plus de 125 langues, éliminant ainsi la configuration complexe requise par les implémentations Tesseract brutes.

Commencez avec IronOCR maintenant.
green arrow pointer

Si vous êtes un développeur C# qui explore Tesseract OCR sur GitHub, il y a de fortes chances que vous recherchiez plus que du simple code. Vous voulez une bibliothèque qui fonctionne réellement dès le départ, qui vient avec des exemples exécutables, et qui possède une communauté active derrière elle. Une intégration fiable et un contrôle de version solide sont tout aussi importants.

C'est là qu'intervient IronOCR . Dans ce guide, je vous expliquerai comment intégrer IronOCR à vos projets GitHub afin de gérer facilement la reconnaissance de texte dans les images et les PDF. Que votre objectif soit de récupérer du texte brut, d'extraire des mots et des lignes structurés, ou même de générer des PDF consultables pour l'archivage, IronOCR répond à tous vos besoins. Les fonctionnalités complètes de la bibliothèque prennent en charge tout, de la lecture des codes-barres à la reconnaissance optique de caractères multilingue .

Comment débuter avec IronOCR et GitHub ?

IronOCR se distingue comme une solution OCR complète qui fonctionne de manière transparente avec les flux de travail de développement basés sur GitHub et les projets .NET Core. Contrairement aux implémentations brutes de Tesseract qui nécessitent une configuration complexe, IronOCR fournit une API raffinée qui vous permet de démarrer en quelques minutes. Pour ceux qui découvrent les concepts de reconnaissance optique de caractères, la documentation complète d'IronOCR couvre tout, de l'extraction de texte basique au traitement d'images avancé. La bibliothèque intègre une prise en charge des filtres d'image et des techniques d'optimisation OCR .

Quelle méthode d'installation dois-je utiliser ?

Commencez par installer IronOCR via le gestionnaire de paquets NuGet :

Install-Package IronOcr

La fenêtre du Gestionnaire de packages NuGet dans Visual Studio affiche les résultats de la recherche du package IronOCR avec différents modules linguistiques disponibles pour l'installation.

NuGet Installer avec NuGet

PM >  Install-Package IronOcr

Consultez IronOCR sur NuGet pour une installation rapide. Avec plus de 10 millions de téléchargements, il transforme le développement PDF avec C#. Vous pouvez également télécharger le DLL ou l'installateur Windows.

Pour les scénarios d'installation avancés, consultez le guide des packages NuGet . Si vous déployez sur des plateformes spécifiques, consultez les guides pour Windows , Linux , macOS ou même les conteneurs Docker .

Où puis-je trouver des exemples de code ?

IronOCR maintient plusieurs dépôts GitHub avec des exemples et des tutoriels. Le dépôt d'exemples officiels d'IronOCR offre des implémentations réelles, tandis que le dépôt de tutoriels Image to Text démontre des cas pratiques que vous pouvez cloner et modifier. Ces dépôts illustrent l'OCR avec lecture de codes-barres, le support multi-langues, et le traitement de PDF. Grâce aux mises à jour fréquentes des packages sur NuGet, vous aurez toujours accès aux dernières versions stables. La section des démonstrations propose des exemples interactifs supplémentaires.

Diagramme de flux illustrant le processus de reconnaissance optique de caractères (OCR) : Dépôt GitHub OCR → Projet IronOCR → Traitement OCR → Texte extrait

Comment créer mon premier projet OCR sur GitHub ?

Construisons une application OCR complète adaptée au partage sur GitHub. Dans Visual Studio (ou votre EDI préféré), créez une nouvelle application console avec cette structure de projet qui suit les meilleures pratiques de développement OCR :

Quelle structure de projet dois-je utiliser ?

MyOcrProject/
├── src/
│   └── OcrProcessor.cs
├── images/
│   └── sample-invoice.jpg
├── .gitignore
├── README.md
└── MyOcrProject.csproj

Cette structure prend en charge différents formats d'entrée, notamment JPG, PNG, TIFF et BMP . Pour le traitement des fichiers TIFF ou GIF multipages , IronOCR les gère automatiquement.

Comment implémenter le code de traitement OCR ?

Voici un exemple complet de code C# d'un processeur OCR qui illustre les principales fonctionnalités d'IronOCR, notamment le prétraitement d'images , l'extraction de texte et la détection de codes-barres :

using IronOcr;
using System;
using System.IO;
namespace MyOcrProject
{
    public class OcrProcessor
    {
        private readonly IronTesseract _ocr;
        public OcrProcessor()
        {
            _ocr = new IronTesseract();
            // Configure for optimal accuracy
            _ocr.Configuration.ReadBarCodes = true;
            _ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
            _ocr.Language = OcrLanguage.English;
        }
        public void ProcessDocument(string imagePath)
        {
            using var input = new OcrInput();
            // Load and preprocess the image
            input.LoadImage(imagePath);
            input.Deskew();  // Straighten rotated images
            input.DeNoise(); // Remove digital noise
            input.EnhanceResolution(225); // Optimize DPI for OCR
            // Perform OCR
            var result = _ocr.Read(input);
            // Output results
            Console.WriteLine($"Confidence: {result.Confidence}%");
            Console.WriteLine($"Text Found:\n{result.Text}");
            // Process any barcodes found
            foreach (var barcode in result.Barcodes)
            {
                Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
            }
            // Save as searchable PDF
            result.SaveAsSearchablePdf("output.pdf");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var processor = new OcrProcessor();
            processor.ProcessDocument("images/sample-invoice.jpg");
        }
    }
}
using IronOcr;
using System;
using System.IO;
namespace MyOcrProject
{
    public class OcrProcessor
    {
        private readonly IronTesseract _ocr;
        public OcrProcessor()
        {
            _ocr = new IronTesseract();
            // Configure for optimal accuracy
            _ocr.Configuration.ReadBarCodes = true;
            _ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
            _ocr.Language = OcrLanguage.English;
        }
        public void ProcessDocument(string imagePath)
        {
            using var input = new OcrInput();
            // Load and preprocess the image
            input.LoadImage(imagePath);
            input.Deskew();  // Straighten rotated images
            input.DeNoise(); // Remove digital noise
            input.EnhanceResolution(225); // Optimize DPI for OCR
            // Perform OCR
            var result = _ocr.Read(input);
            // Output results
            Console.WriteLine($"Confidence: {result.Confidence}%");
            Console.WriteLine($"Text Found:\n{result.Text}");
            // Process any barcodes found
            foreach (var barcode in result.Barcodes)
            {
                Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
            }
            // Save as searchable PDF
            result.SaveAsSearchablePdf("output.pdf");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var processor = new OcrProcessor();
            processor.ProcessDocument("images/sample-invoice.jpg");
        }
    }
}
Imports IronOcr
Imports System
Imports System.IO

Namespace MyOcrProject
    Public Class OcrProcessor
        Private ReadOnly _ocr As IronTesseract

        Public Sub New()
            _ocr = New IronTesseract()
            ' Configure for optimal accuracy
            _ocr.Configuration.ReadBarCodes = True
            _ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto
            _ocr.Language = OcrLanguage.English
        End Sub

        Public Sub ProcessDocument(imagePath As String)
            Using input As New OcrInput()
                ' Load and preprocess the image
                input.LoadImage(imagePath)
                input.Deskew() ' Straighten rotated images
                input.DeNoise() ' Remove digital noise
                input.EnhanceResolution(225) ' Optimize DPI for OCR
                ' Perform OCR
                Dim result = _ocr.Read(input)
                ' Output results
                Console.WriteLine($"Confidence: {result.Confidence}%")
                Console.WriteLine($"Text Found:{Environment.NewLine}{result.Text}")
                ' Process any barcodes found
                For Each barcode In result.Barcodes
                    Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})")
                Next
                ' Save as searchable PDF
                result.SaveAsSearchablePdf("output.pdf")
            End Using
        End Sub
    End Class

    Module Program
        Sub Main(args As String())
            Dim processor As New OcrProcessor()
            processor.ProcessDocument("images/sample-invoice.jpg")
        End Sub
    End Module
End Namespace
$vbLabelText   $csharpLabel

Cet exemple complet présente plusieurs capacités d'IronOCR. Le constructeur configure le moteur OCR avec la lecture de codes-barres activée et la segmentation automatique des pages. La méthode ProcessDocument illustre le prétraitement d'images par le biais du redressement (correction de la rotation), du débruitage (suppression des artefacts) et de l'amélioration de la résolution . Après traitement, il extrait du texte en anglais avec des scores de confiance, identifie les codes-barres, et génère un PDF interrogeable.

Pour les scénarios avancés, vous pouvez tirer parti de la classe OcrInput pour un contrôle accru, utiliser le traitement asynchrone pour de meilleures performances ou implémenter un suivi de la progression pour les opérations de longue durée. La classe OcrResult fournit des données de sortie détaillées, notamment les positions du texte et les résultats de la reconnaissance optique de caractères (OCR) .

Les développeurs peuvent également configurer facilement IronOCR pour lire d'autres langues, comme le chinois, l'espagnol ou le français, ce qui en fait un choix polyvalent pour les projets GitHub multilingues. Pour plus d'informations sur l'installation de modules linguistiques supplémentaires, veuillez consulter le guide des 125 langues internationales . Vous pouvez même utiliser des fichiers de langue personnalisés ou entraîner des polices personnalisées .

! Écran partagé affichant une démonstration de reconnaissance optique de caractères (OCR) : à gauche, du texte Lorem Ipsum déformé sur fond blanc ; à droite, la console de débogage de Visual Studio avec le texte extrait et un score de confiance de 87,34 %.

Que dois-je inclure dans mon fichier .gitignore ?

Pour votre fichier .gitignore, incluez :

# IronOCR runtime files
runtimes/
# Test images and outputs
*.pdf
test-images/
output/
# License keys
appsettings.*.json

Apprenez-en davantage sur le dossier d'exécution d'IronOCR et la gestion appropriée des clés de licence .

Pourquoi choisir IronOCR pour mes projets GitHub ?

IronOCR offre des avantages distincts pour les développeurs qui maintiennent des projets OCR sur GitHub. La bibliothèque atteint une précision de 99,8 % dès le départ sans nécessiter de formation manuelle ou de fichiers de configuration complexes qui encombrent les dépôts. Avec le support de plus de 125 langues, votre projet GitHub peut servir des utilisateurs internationaux sans modification. Les fonctionnalités de compatibilité garantissent un déploiement multiplateforme sur Windows, Linux, macOS et les plateformes cloud comme Azure et AWS .

Qu'est-ce qui différencie IronOCR des autres solutions OCR ?

IronOCR est suffisamment flexible pour reconnaître des mots individuels, des lignes et des paragraphes entiers, vous donnant le contrôle sur le niveau de détail que vous extrayez de chaque scan. La bibliothèque excelle dans le traitement de types de documents spécialisés, notamment les plaques d'immatriculation , les passeports , les chèques MICR , les textes manuscrits , les captures d'écran , les documents numérisés et même les tableaux contenus dans les documents .

La licence commerciale offre une clarté légale pour les dépôts publics. Vous êtes explicitement autorisé à inclure IronOCR dans des applications commerciales. Les filtres de prétraitement d'image intégrés comprennent des options avancées telles que la correction des couleurs , l'amélioration de la qualité et le puissant assistant de filtres qui trouve automatiquement les paramètres optimaux.

Pourquoi l'architecture à DLL unique est-elle importante ?

L'architecture à un seul DLL d'IronOCR signifie que les contributeurs peuvent cloner votre dépôt et commencer à développer immédiatement, sans lutter contre les dépendances natives ou les configurations spécifiques à une plateforme qui affectent d'autres solutions OCR. C'est cette simplicité qui explique pourquoi les développeurs choisissent IronOCR plutôt que Tesseract brut . La bibliothèque inclut Tesseract 5 avec de nombreuses améliorations de performances et la prise en charge du multithreading .

Quelles sont les meilleures pratiques de contrôle de version pour les projets OCR ?

Lors de la gestion de projets OCR sur GitHub, utilisez Git LFS pour les images de test volumineuses. Pour la gestion des flux PDF ou des flux d'images , envisagez d'utiliser des objets System.Drawing pour une meilleure gestion de la mémoire.

Comment gérer les fichiers volumineux avec Git ?

git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
The provided C# code appears to be a set of Git commands rather than C# code. These commands are used to track certain file types with Git LFS (Large File Storage) and to add the `.gitattributes` file to the staging area in Git.

Since this is not C# code, it cannot be directly converted to VB.NET. If you have any C# code that you would like to convert to VB.NET, please provide it, and I will be happy to assist with the conversion.
$vbLabelText   $csharpLabel

Ceci est particulièrement important lors de la manipulation d'images haute résolution ou de fichiers TIFF multipages . Pour les numérisations de faible qualité , le prétraitement d'IronOCR peut améliorer considérablement les résultats.

Comment gérer les clés de licence et la documentation ?

Stockez les clés de licence IronOCR en toute sécurité en utilisant des variables d'environnement ou des secrets utilisateurs, sans jamais les valider directement. Suivez le guide des clés de licence IronOCR pour une mise en œuvre correcte. Vous pouvez également configurer les licences dans le fichier web.config pour les applications ASP.NET. Documentez les formats d'image pris en charge et la précision attendue dans votre README. Incluez des images d'exemple dans un dossier de données de test pour que les contributeurs puissent vérifier la fonctionnalité OCR. Pour le développement multiplateforme, référez-vous au guide de configuration IronOCR pour Linux ou aux instructions d'installation pour macOS. Les développeurs d'applications mobiles doivent consulter le guide Android et le guide iOS .

Pour les fonctionnalités avancées, documentez l'utilisation de la vision par ordinateur pour la détection de texte, la détection de rotation de page , l'exportation hOCR et la configuration du délai d'expiration pour les opérations de longue durée. Envisagez la mise en œuvre de jetons d'annulation pour les opérations annulables.

Quels sont les conseils de dépannage courants ?

Pourquoi la reconnaissance optique de caractères (OCR) ne fonctionne-t-elle pas sous Windows ?

Parmi les problèmes d'installation courants, on note l'absence des composants redistribuables Visual C++ sous Windows. IronOCR requiert la version 2019. Pour obtenir des instructions détaillées, consultez le guide de dépannage de Visual C++ Redistributable . Pour les déploiements Linux, assurez-vous que libgdiplus est installé . Si la reconnaissance de texte semble médiocre, vérifiez que vos images ont une résolution d'au moins 200 DPI en utilisant le guide des paramètres DPI . La communauté OCR C# sur Stack Overflow offre également des solutions utiles pour les problèmes courants des projets GitHub.

Pour des problèmes spécifiques, consultez les guides sur le dépannage général , le déploiement d'Azure Functions , les problèmes liés à AWS Lambda ou les alternatives à System.Drawing pour .NET 7+. L' utilitaire IronOCR peut aider à diagnostiquer les problèmes de configuration.

Où puis-je obtenir de l'aide supplémentaire ?

Pour un dépannage détaillé, consultez le guide de dépannage IronOCR. L'équipe de support d'IronOCR fournit une assistance rapide aux utilisateurs licenciés travaillant sur des applications OCR hébergées sur GitHub. Consultez le journal des modifications du produit pour connaître les dernières mises à jour et la documentation de référence de l'API pour une documentation complète.

Quelles sont les prochaines étapes?

IronOCR simplifie l'implémentation OCR dans les projets C# GitHub grâce à son API intuitive, son prétraitement complet et sa précision fiable. Commencez avec les exemples de code ci-dessus, explorez les dépôts officiels et construisez des applications de traitement de documents puissantes qui tirent parti des fonctionnalités collaboratives de GitHub. Que vous développiez des applications MAUI , traitiez des documents spécialisés ou implémentiez la reconnaissance optique de caractères (OCR) en une seule ligne de code , IronOCR vous fournit les outils dont vous avez besoin.

Téléchargez l'essai gratuit d'IronOCR pour le déploiement commercial. Explorez les options de licence, y compris les extensions et les mises à niveau, pour répondre aux besoins de votre équipe.

Questions Fréquemment Posées

Quel est le principal objectif du tutoriel OCR C# GitHub ?

Le principal objectif du tutoriel OCR C# GitHub est de guider les développeurs dans l'implémentation de la reconnaissance de texte dans leurs projets GitHub en utilisant IronOCR. Il comprend des exemples de code et des conseils sur le contrôle de version.

Comment IronOCR peut-il améliorer mes projets C# sur GitHub ?

IronOCR peut améliorer vos projets C# sur GitHub en fournissant des capacités puissantes de reconnaissance de texte, vous permettant d'extraire et de manipuler le texte des images avec une grande précision.

Quels sont les avantages de l'utilisation d'IronOCR pour la reconnaissance de texte ?

IronOCR offre plusieurs avantages pour la reconnaissance de texte, y compris la facilité d'utilisation, une grande précision et une intégration transparente dans les projets C#, ce qui en fait un excellent choix pour les développeurs travaillant avec des données textuelles basées sur des images.

Existe-t-il des exemples de code disponibles dans le tutoriel OCR C# GitHub ?

Oui, le tutoriel OCR C# GitHub inclut des exemples de code qui démontrent comment implémenter la reconnaissance de texte en utilisant IronOCR dans vos projets.

Quel genre de conseils de contrôle de version sont fournis dans le tutoriel ?

Le tutoriel fournit des conseils de contrôle de version pour aider à gérer efficacement les changements dans vos projets lors de l'intégration d'IronOCR, assurant une collaboration fluide et une maintenance des projets.

Puis-je utiliser IronOCR pour des applications de reconnaissance de texte en temps réel ?

Oui, IronOCR peut être utilisé pour des applications de reconnaissance de texte en temps réel, grâce à ses capacités de traitement efficaces et son support pour divers formats d'image.

Quels formats d'image IronOCR prend-il en charge pour la reconnaissance de texte ?

IronOCR prend en charge une large gamme de formats d'image pour la reconnaissance de texte, y compris JPEG, PNG, BMP, GIF et TIFF, garantissant une compatibilité avec la plupart des sources d'image.

Y a-t-il une version d'essai d'IronOCR disponible pour les tests ?

Oui, une version d'essai d'IronOCR est disponible, permettant aux développeurs de tester ses fonctionnalités et ses performances dans leurs projets avant de s'engager à un achat.

Comment IronOCR gère-t-il différentes langues dans la reconnaissance de texte ?

IronOCR prend en charge plusieurs langues pour la reconnaissance de texte, permettant aux développeurs d'extraire du texte à partir d'images dans diverses langues avec facilité.

Quelles sont les exigences système pour utiliser IronOCR dans les projets C# ?

IronOCR est compatible avec .NET Framework et .NET Core, et peut être facilement intégré dans les projets C# sans nécessiter de ressources système étendues.

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