Passer au contenu du pied de page
UTILISATION D'IRONOCR

Comment OCR un PDF : Extraire du texte à partir de documents scannés avec C# .NET OCR PDF

Les documents PDF numérisés présentent un défi commun pour les développeurs .NET : le texte n'existe que sous forme d'images, ce qui rend impossible la recherche, la copie ou le traitement programmatique. La technologie de reconnaissance optique de caractères (ROC) résout ce problème en convertissant les images numérisées et les fichiers d'images en données modifiables et consultables. Elle transforme les documents papier numérisés, les images capturées par un appareil photo numérique ou tout fichier PDF consultable en texte lisible par une machine. Qu'il s'agisse de numériser des archives papier, d'automatiser l'extraction de données ou de créer des applications de traitement de documents alimentées par l'IA, il est essentiel de pouvoir convertir des fichiers PDF à l'aide de la reconnaissance optique de caractères. IronOCR est une puissante bibliothèque d'OCR pour .NET qui offre une approche rationalisée de l'OCR des PDF en C#. Construite sur le moteur OCR Tesseract avec une précision accrue, cette bibliothèque de reconnaissance optique de caractères .NET vous permet d'extraire du texte à partir de n'importe quel document PDF avec seulement quelques lignes de code.

IronOCR est une puissante bibliothèque OCR .NET qui fournit une approche rationalisée de l'OCR PDF en C#. Construite sur le moteur OCR Tesseract avec une précision accrue, cette bibliothèque de reconnaissance optique de caractères .NET vous permet d'extraire du texte à partir de n'importe quel document PDF avec seulement quelques lignes de code.

Comment puis-je effectuer l'OCR sur un PDF en C#?

Commencez par installer la bibliothèque IronOCR via le gestionnaire de paquets NuGet pour ajouter ce puissant moteur de reconnaissance optique des caractères à votre système :

Install-Package IronOcr

L'exemple suivant montre comment charger un fichier PDF et reconnaître le texte d'un document numérisé entier :

using IronOcr;
// Initialize the OCR engine
IronTesseract ocr = new IronTesseract();
// Load the PDF and perform OCR
using var pdfInput = new OcrPdfInput("scanned-report.pdf");
OcrResult result = ocr.Read(pdfInput);
// Output the extracted text
string extractedText = result.Text;
Console.WriteLine(extractedText);
using IronOcr;
// Initialize the OCR engine
IronTesseract ocr = new IronTesseract();
// Load the PDF and perform OCR
using var pdfInput = new OcrPdfInput("scanned-report.pdf");
OcrResult result = ocr.Read(pdfInput);
// Output the extracted text
string extractedText = result.Text;
Console.WriteLine(extractedText);
$vbLabelText   $csharpLabel

La classe IronTesseract sert de moteur d'OCR principal, enveloppant Tesseract 5 avec des optimisations pour les applications .NET Core et .NET Framework. L'objet OcrPdfInput gère le chargement des PDF et le rendu des pages en interne, ce qui élimine la nécessité de convertir manuellement les formats d'image. Lorsque vous appelez la méthode Read, le processus OCR analyse chaque page et renvoie un OcrResult contenant le texte extrait sous forme de chaîne, ainsi que des données structurées sur les paragraphes, les lignes, les mots et leur position. Les utilisateurs peuvent ensuite enregistrer le résultat dans un fichier TXT, un dossier cible, des documents Word ou utiliser l'API pour traiter les données de manière plus approfondie.

Entrée

How to OCR a PDF : Extraire du texte à partir de documents scannés avec C# .NET OCR PDF : Image 1 - Exemple d'entrée PDF

Sortie

How to OCR a PDF : Extraire du texte à partir de documents scannés avec C# .NET OCR PDF : Image 2 - Sortie de la console

Comment lire des pages spécifiques d'un PDF?

Le traitement de documents textuels volumineux devient plus efficace lorsque vous ne ciblez que les pages dont vous avez besoin. Passez une liste d'indices de page au paramètre PageIndices pour convertir les pages PDF numérisées de manière sélective :

using IronOcr;
using System.Collections.Generic;
IronTesseract ocr = new IronTesseract();
// Specify pages to process (zero-based indexing)
List<int> targetPages = new List<int>() { 0, 2, 4 };
using var pdfInput = new OcrPdfInput("lengthy-document.pdf", PageIndices: targetPages);
OcrResult result = ocr.Read(pdfInput);
// Save or process the OCR results
Console.WriteLine(result.Text);
using IronOcr;
using System.Collections.Generic;
IronTesseract ocr = new IronTesseract();
// Specify pages to process (zero-based indexing)
List<int> targetPages = new List<int>() { 0, 2, 4 };
using var pdfInput = new OcrPdfInput("lengthy-document.pdf", PageIndices: targetPages);
OcrResult result = ocr.Read(pdfInput);
// Save or process the OCR results
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

Notez qu'IronOcr utilise une indexation basée sur le zéro, la page 0 représente donc la première page de votre document PDF. Cette approche sélective permet de réduire le temps de traitement et la consommation de mémoire lorsque l'on travaille avec des documents numérisés de plusieurs pages dont seules certaines sections contiennent des données pertinentes pouvant faire l'objet d'une recherche.

Comment puis-je extraire des données d'une région spécifique ? Le traitement des factures, la numérisation des formulaires et l'analyse des documents nécessitent souvent l'extraction de texte à partir de zones définies plutôt que de pages entières. Cet outil d'OCR vous permet de créer des analyses ciblées à l'aide du paramètre `ContentAreas`, qui accepte un tableau de rectangles spécifiant les régions à traiter : ```csharp using IronOcr; using IronSoftware.Drawing; using System; IronTesseract ocr = new IronTesseract(); // Define the scan region (x, y, width, height in pixels) Rectangle[] invoiceFields = { new Rectangle(130, 290, 250, 50) // Invoice number area }; using var pdfInput = new OcrPdfInput("invoice.pdf", ContentAreas: invoiceFields); OcrResult result = ocr.Read(pdfInput); // Extract and output the structured data Console.WriteLine(result.Text); ``` Le constructeur du `Rectangle` accepte quatre paramètres : La position X, la position Y, la largeur et la hauteur, toutes mesurées en pixels à partir du coin supérieur gauche de la page. Cette approche ciblée de la reconnaissance de texte améliore considérablement la vitesse et la précision en concentrant le moteur d'OCR sur des zones de contenu spécifiques plutôt que de traiter des éléments d'arrière-plan non pertinents. Pour le traitement des factures par lots, combinez l'extraction de régions avec l'itération dans les pages de résultats pour créer des données structurées modifiables à partir de plusieurs fichiers PDF. ### Entrée [How to OCR a PDF : Extraire du texte à partir de documents scannés avec C# .NET OCR PDF : Image 3 - Exemple de facture](/static-assets/ocr/blog/net-ocr-pdf/net-ocr-pdf-3.webp) ### Sortie [How to OCR a PDF : Extraire du texte à partir de documents scannés avec C# .NET OCR PDF : Image 4 - Sortie des données extraites](/static-assets/ocr/blog/net-ocr-pdf/net-ocr-pdf-4.webp)

Comment améliorer la précision de l'OCR sur les documents numérisés ? Les documents papier numérisés dans le monde réel présentent souvent des problèmes de qualité : pages de travers, faible résolution ou bruit numérique provenant du logiciel de numérisation. IronOcr inclut des filtres de prétraitement qui relèvent ces défis et aident à convertir les problèmes de qualité d'image en une conversion de texte précise : ```csharp using IronOcr; IronTesseract ocr = new IronTesseract(); using var input = new OcrInput(); // Load PDF with higher DPI for better text recognition input.LoadPdf("poor-quality-scan.pdf", DPI: 300); // Apply image correction filters to process scanned images input.Deskew(); // Straighten rotated pages input.DeNoise(); // Remove scanning artifacts OcrResult result = ocr.Read(input); Console.WriteLine(result.Text); ``` Le paramètre `DPI` contrôle la résolution à laquelle les pages PDF sont rendues avant le processus d'OCR. Des valeurs plus élevées (200-300 DPI) améliorent la précision pour les documents contenant du texte de petite taille. La méthode `Deskew` détecte et corrige automatiquement la rotation des pages, tandis que `DeNoise` supprime les mouchetures et les artefacts qui interfèrent avec la reconnaissance optique des caractères (OCR). Pour les documents nécessitant des ajustements d'image supplémentaires, IronOCR propose l'amélioration du contraste, la binarisation et d'autres outils pour éditer la qualité de l'image. Cette bibliothèque OCR .NET gère également les documents PDF protégés par un mot de passe en acceptant les informations d'identification lors de la construction de l'entrée. Le logiciel prend en charge plus de 125 packs de langues, ce qui permet la reconnaissance optique de caractères (OCR) sur les documents internationaux. Au-delà des fichiers PDF standard, IronOcr peut traiter des fichiers PNG, TIFF (y compris TIFF multipage) et d'autres formats d'image. Le déploiement s'effectue de manière transparente sur Windows, Linux, macOS et les plateformes cloud, notamment Azure et les conteneurs Docker. ## Conclusion IronOCR transforme la tâche complexe de l'extraction de texte PDF en une opération simple. De la lecture de documents de base à l'extraction de régions ciblées et au prétraitement d'images numérisées difficiles, cette bibliothèque d'OCR gère la complexité technique tout en exposant une API C# propre qui fonctionne sur .NET Core et .NET Framework. Les exemples de code ci-dessus démontrent les fonctionnalités de base, mais IronOCR va plus loin avec la lecture de codes-barres et de codes QR, la création de PDF consultables pour convertir les fichiers PDF numérisés en documents modifiables consultables, et la sortie de données structurées, y compris les scores de confiance et le positionnement du texte. Explorez la référence API complète pour les implémentations avancées, ou essayez les fonctionnalités de la version pro gratuite pendant votre période d'essai. [Achetez une licence](licensing) pour déployer IronOCR dans des environnements de production d'applications .NET, ou discutez avec notre équipe d'ingénieurs pour obtenir des conseils spécifiques à votre projet. Prêt à utiliser l'OCR dans vos applications .NET ? [Commencez par un essai gratuit](trial-license) pour découvrir l'ensemble des fonctionnalités et télécharger le SDK.

Questions Fréquemment Posées

Qu'est-ce que l'OCR et pourquoi est-elle importante pour les développeurs .NET ?

L'OCR, ou reconnaissance optique de caractères, est une technologie qui convertit les images numérisées et les fichiers PDF en texte éditable et consultable. Cette technologie est cruciale pour les développeurs .NET qui ont besoin de traiter des images de documents de manière programmatique, permettant ainsi des fonctionnalités telles que la recherche et la copie de texte.

Comment IronOCR améliore-t-il le processus d'OCR ?

IronOCR améliore le processus d'OCR en s'appuyant sur le moteur d'OCR Tesseract, offrant ainsi une meilleure précision et une approche simplifiée de l'extraction de texte à partir de documents numérisés en C#.

IronOCR peut-il traiter directement des fichiers PDF pour l'extraction de texte ?

Oui, IronOcr peut gérer directement les fichiers PDF, ce qui permet aux développeurs d'extraire du texte à partir de documents PDF numérisés en utilisant seulement quelques lignes de code C#.

Quels types de documents IronOCR peut-elle traiter ?

IronOcr peut traiter une variété de documents, notamment des documents papier numérisés, des images capturées par des appareils photo numériques et des fichiers PDF consultables, en les convertissant en texte lisible par une machine.

IronOCR est-il adapté à l'automatisation des tâches d'extraction de données ?

Dans l'absolu, IronOcr est idéal pour automatiser les tâches d'extraction de données, car il peut convertir des images numérisées en données structurées et modifiables, ce qui permet de rationaliser les flux de travail et d'améliorer la productivité.

Quels sont les avantages de l'utilisation d'IronOCR pour les applications de traitement de documents alimentées par l'IA ?

IronOcr offre l'avantage de convertir les documents en texte lisible par une machine, ce qui est essentiel pour construire des applications de traitement de documents alimentées par l'IA qui nécessitent des capacités de reconnaissance et d'analyse de texte.

Est-il facile de mettre en œuvre IronOCR dans un projet C# ?

La mise en œuvre d'IronOCR dans un projet C# est simple, ne nécessitant que quelques lignes de code pour intégrer ses capacités d'OCR et commencer à extraire du texte à partir de documents.

IronOCR améliore-t-il le moteur d'OCR de Tesseract ?

Oui, IronOcr s'appuie sur le moteur d'OCR Tesseract, en améliorant sa précision et ses performances pour offrir des résultats de reconnaissance de texte supérieurs.

IronOCR peut-il être utilisé pour numériser des archives papier ?

Oui, IronOcr est bien adapté à la numérisation d'archives papier, car il peut convertir des documents papier numérisés en texte numérique consultable et modifiable, ce qui facilite la gestion des documents.

Quels sont les langages de codage pris en charge par IronOCR pour la mise en œuvre de l'OCR ?

IronOCR prend en charge la mise en œuvre de l'OCR en C#, ce qui en fait un outil puissant pour les développeurs travaillant dans le cadre .NET.

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