Comment lire les PDF en utilisant OCR C#

Comment lire des PDF en C# ; avec IronOCR

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

IronOCR permet d'extraire du texte de fichiers PDF en C# avec une seule ligne de code, en prenant en charge toutes les versions de PDF et en fournissant des résultats d'OCR précis grâce à son moteur basé sur Tesseract.

PDF est l'abréviation de "Portable Document Format" (format de document portable) Il s'agit d'un format de fichier développé par Adobe qui préserve les polices, les images, les graphiques et la mise en page de tout document source, quelles que soient l'application et la plateforme utilisées pour les créer. Les fichiers PDF sont généralement utilisés pour partager et consulter des documents dans un format uniforme, quel que soit le logiciel ou le matériel utilisé pour les ouvrir. IronOcr traite différentes versions de documents PDF, des anciennes spécifications PDF 1.0 aux dernières normes PDF 2.0.

Démarrage rapide : OCR d'un fichier PDF en quelques secondes

Configurez l'OCR rapidement avec IronOcr en construisant un OcrPdfInput qui pointe vers votre PDF, puis appelez Read. Cet exemple présente l'extraction de texte à partir d'un PDF à l'aide d'IronOCR.

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.

    using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));
  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 un fichier PDF dans son intégralité ? Commencez par instancier la classe `IronTesseract` pour effectuer l'OCR. Ensuite, utilisez une instruction " using " pour créer un objet `OcrPdfInput` , en lui passant le chemin d'accès au fichier PDF. Enfin, effectuez la reconnaissance optique de caractères (OCR) en utilisant la méthode `Read` . Cette approche fonctionne à la fois avec les PDF numérisés (basés sur l'image) et les PDF consultables (basés sur le texte), ce qui convient pour [extraire du texte à partir de divers types de PDF](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/). ```csharp /* :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs */ using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add PDF using var pdfInput = new OcrPdfInput("Potter.pdf"); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(pdfInput); // Access the extracted text string extractedText = ocrResult.Text; System.Console.WriteLine(extractedText); ```
Vue fractionnée montrant le texte formaté de Harry Potter par rapport au texte brut extrait, démontrant l'extraction de texte PDF
Dans la plupart des cas, il n'est pas nécessaire de spécifier la propriété DPI. Toutefois, l'utilisation d'un nombre DPI élevé lors de la construction d' `OcrPdfInput` peut améliorer la précision de lecture. Le paramètre DPI par défaut est généralement suffisant pour la plupart des documents PDF standard, mais les documents spécialisés peuvent bénéficier d'un ajustement. ### Quand dois-je ajuster les paramètres DPI? Les paramètres DPI (Dots Per Inch) deviennent cruciaux lorsqu'il s'agit de documents numérisés à faible résolution ou de PDF contenant du texte de petite taille. Pour des résultats optimaux, pensez à [ajuster les paramètres DPI](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/) lorsque : - Travailler avec des documents numérisés de moins de 200 DPI - Traitement de PDF historiques ou d'archives - Traiter des mises en page complexes ou des polices de petite taille - Problèmes de précision liés aux paramètres par défaut Un DPI de 300 est recommandé pour la plupart des opérations d'OCR, tandis qu'un DPI de 600 peut s'avérer nécessaire pour les documents contenant des textes très petits ou des détails complexes. ### Quels sont les formats de fichiers pris en charge par IronOCR en dehors du format PDF? IronOcr offre une prise en charge complète de nombreux formats de fichiers au-delà des PDF. Vous pouvez [traiter des images dans différents formats](https://ironsoftware.com/csharp/ocr/how-to/input-images/), y compris : - JPEG/JPG pour les photographies standard - PNG pour les images avec transparence - TIFF pour les documents multipages - BMP pour les images non compressées - GIF pour les graphiques simples En outre, IronOcr peut traiter des [flux de PDF](https://ironsoftware.com/csharp/ocr/examples/ocr-for-pdf-stream/) directement à partir de la mémoire, ce qui convient aux applications web et aux services cloud. ### Travailler avec des types de contenu PDF Lorsque vous traitez des PDF, vous pouvez optimiser les performances en spécifiant le type de contenu. L'énumération `PdfContents` vous permet de cibler un contenu spécifique : ```csharp // For text-only PDFs (faster processing) var textOnlyPdf = new OcrPdfInput("document.pdf", PdfContents.Text); // For image-only PDFs (scanned documents) var imageOnlyPdf = new OcrPdfInput("scanned.pdf", PdfContents.Images); // For mixed content (default) var mixedPdf = new OcrPdfInput("mixed.pdf", PdfContents.TextAndImages); ``` ## Comment lire des pages spécifiques d'un PDF? Lorsque vous lisez des pages spécifiques d'un document PDF, indiquez le numéro d'index de la page pour l'importation. Pour ce faire, transmettez la liste des indices de page au paramètre `PageIndices` lors de la construction du `OcrPdfInput`. N'oubliez pas que les index de pages utilisent une numérotation à partir de zéro. Cette fonction est particulièrement utile lorsque l'on travaille avec des documents volumineux dont seules certaines pages contiennent des informations pertinentes. ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf-pages.cs ```

Pourquoi la numérotation des pages commence-t-elle à zéro ? L'indexation à base zéro est une convention standard en C# et dans la plupart des langages de programmation. Cela signifie que la première page est l'index 0, la deuxième page est l'index 1, et ainsi de suite. Cette cohérence avec l'indexation des tableaux facilite l'utilisation programmatique des collections de pages par les développeurs. Pour convertir les numéros de page lisibles par l'homme (1, 2, 3...) en indices, il suffit de soustraire 1 au numéro de page. ### Comment lire des pages non consécutives? La lecture de pages non consécutives est simple avec IronOcr. Il vous suffit d'ajouter les index des pages souhaitées à votre liste, dans n'importe quel ordre. Par exemple : ```csharp // Read pages 1, 3, 5, and 10 (using zero-based indices) List pageIndices = new List() { 0, 2, 4, 9 }; // Or use LINQ for range-based selection var evenPages = Enumerable.Range(0, 10).Where(x => x % 2 == 0).ToList(); ``` Le moteur OCR ne traitera que les pages spécifiées, ce qui améliore considérablement les performances pour les documents volumineux. ### Que se passe-t-il si je spécifie des numéros de page non valides? Si vous spécifiez des indices de page qui dépassent le nombre de pages du document, IronOCR lancera une exception. Mettre en œuvre la gestion des erreurs ou valider le nombre de pages avant le traitement. Vous pouvez vérifier le nombre total de pages d'un PDF avant d'effectuer l'OCR pour vous assurer que vos indices sont valides. ## Comment reconnaître une région spécifique d'un PDF? En restreignant la zone à lire, vous pouvez améliorer considérablement l'efficacité de la lecture. Pour ce faire, indiquez la région précise du PDF importé qui doit être lue. Dans l'exemple de code ci-dessous, IronOCR se concentre uniquement sur l'extraction du numéro et du titre du chapitre. Cette technique, similaire à [la définition de régions OCR pour les images](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/), améliore à la fois la vitesse et la précision. ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-specific-region.cs ``` ### Comment déterminer les coordonnées correctes d'un rectangle?
PDF avec rectangle rouge sélectionnant le titre du chapitre pour le traitement OCR, console Visual Studio montrant l'exécution terminée
Pour trouver les coordonnées correctes, il faut comprendre le système de coordonnées du PDF. Le constructeur du `Rectangle` prend quatre paramètres : `X` (position horizontale), `Y` (position verticale), `Largeur` et `Hauteur`. Toutes les mesures sont exprimées en pixels. Des outils tels que les visionneuses PDF avec des fonctions de règle ou des utilitaires de débogage peuvent aider à identifier les coordonnées exactes. Vous pouvez également procéder par essais et erreurs en procédant à de petits ajustements pour affiner votre zone de sélection. Pour une définition plus précise des régions, vous pouvez utiliser la fonction [highlight texts for debugging](https://ironsoftware.com/csharp/ocr/examples/highlight-texts-for-debugging/) pour visualiser les zones en cours de traitement. ### Puis-je spécifier plusieurs régions en une seule opération? Oui, IronOcr prend en charge plusieurs régions dans une seule opération d'OCR. Il suffit d'ajouter plusieurs objets `Rectangle` à votre tableau : ```csharp Rectangle[] scanRegions = { new Rectangle(50, 50, 200, 100), // Header region new Rectangle(50, 200, 500, 300), // Main content region new Rectangle(50, 550, 200, 50) // Footer region }; ``` Chaque région sera traitée séparément et les résultats seront combinés dans l'ordre indiqué.

Pourquoi utiliser l'OCR spécifique à une région plutôt que la pleine page ? L'OCR spécifique à une région offre plusieurs avantages : - **Performance** : Le traitement de zones plus petites est nettement plus rapide - : En se concentrant sur des régions spécifiques, on réduit le bruit du contenu non pertinent - **Structure** : Extraire des données de formulaires et de tableaux de manière plus fiable - **Rendement économique** : Moins de temps de traitement signifie moins de coûts de calcul Cette approche est particulièrement utile lorsque l'on travaille avec des documents structurés tels que des factures, des formulaires ou des rapports dans lesquels les données apparaissent à des endroits prévisibles. Pour les structures de documents complexes, explorez [la lecture de tableaux dans des documents](https://ironsoftware.com/csharp/ocr/how-to/read-table-in-document/) pour des techniques spécialisées d'extraction de tableaux.

Quelles sont les fonctionnalités avancées de l'OCR PDF ? IronOcr offre des fonctionnalités supplémentaires pour le traitement des PDF qui vont au-delà de l'extraction de texte de base. Vous pouvez [créer des PDF consultables](https://ironsoftware.com/csharp/ocr/how-to/searchable-pdf/) à partir de documents numérisés, en préservant la mise en page d'origine tout en ajoutant une couche de texte pour la recherche et la copie. La bibliothèque prend également en charge [le multithreading pour un traitement plus rapide](https://ironsoftware.com/csharp/ocr/how-to/async/) des grandes collections de PDF. Pour les développeurs qui cherchent à démarrer avec l'OCR dans leurs applications .NET, l'exploration des [exemples simples d'OCR](https://ironsoftware.com/csharp/ocr/examples/simple-csharp-ocr-tesseract/) constitue une base solide pour comprendre les capacités et les meilleures pratiques d'IronOCR. ### Gérer des scénarios PDF complexes Lorsqu'il s'agit de documents PDF difficiles à traduire, IronOCR offre plusieurs fonctionnalités avancées : 1. **Traitement d'images** : Appliquez des [filtres d'image](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/) pour améliorer la clarté du texte 2. **Multiples langues** : Traitez simultanément des documents contenant [plusieurs langues](https://ironsoftware.com/csharp/ocr/how-to/ocr-multiple-languages/) 3. **Configurations personnalisées** : Ajustez les paramètres d'OCR pour des types de documents spécifiques 4. **Options d'exportation** : Enregistrez les résultats dans différents formats, notamment des PDF consultables et [hOCR HTML](https://ironsoftware.com/csharp/ocr/how-to/html-hocr-export/) Ces caractéristiques font d'IronOcr une solution complète pour les besoins de traitement des PDF au niveau de l'entreprise.

Questions Fréquemment Posées

Comment extraire du texte d'un fichier PDF en C# ?

Vous pouvez extraire du texte à partir de fichiers PDF à l'aide d'IronOCR en une seule ligne de code. Il suffit de créer une instance IronTesseract et d'utiliser la méthode Read avec OcrPdfInput : `utilisant var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));`. IronOcr gère à la fois les PDF numérisés (basés sur des images) et les PDF consultables (basés sur du texte).

Quelles sont les versions de PDF prises en charge pour l'extraction de texte ?

IronOcr prend en charge toutes les versions de PDF, des anciennes spécifications PDF 1.0 aux dernières normes PDF 2.0. Le moteur d'OCR est basé sur la technologie Tesseract, ce qui garantit une extraction de texte précise quelle que soit la version du PDF avec laquelle vous travaillez.

Puis-je lire uniquement certaines pages d'un PDF au lieu de l'intégralité du document ?

Oui, IronOCR vous permet de lire des pages spécifiques d'un PDF en fournissant des index de page. Au lieu de traiter l'ensemble du document, vous pouvez spécifier les pages dont il faut extraire le texte à l'aide de l'objet OcrPdfInput, ce qui rend le processus d'OCR plus efficace pour les documents volumineux.

Quel est le flux de travail minimal pour l'OCR sur un fichier PDF ?

Le flux de travail minimal avec IronOCR se compose de 5 étapes : 1) Télécharger la bibliothèque C#, 2) Préparer votre document PDF, 3) Créer un objet OcrPdfInput avec le chemin d'accès au fichier PDF, 4) Utiliser la méthode Read pour effectuer l'OCR, et 5) Spécifier éventuellement des indices de page pour une lecture sélective.

Quand dois-je ajuster les paramètres DPI pour l'OCR PDF ?

Bien que les paramètres DPI par défaut d'IronOCR fonctionnent bien pour la plupart des PDF standard, vous devriez envisager d'ajuster le DPI lorsque vous travaillez avec des documents numérisés à faible résolution (moins de 200 DPI) ou des PDF contenant du texte de petite taille. Des paramètres DPI plus élevés dans la construction OcrPdfInput peuvent améliorer de manière significative la précision de lecture pour les documents spécialisés.

Le moteur OCR fonctionne-t-il à la fois avec les PDF numérisés et les PDF consultables ?

Oui, IronOCR traite efficacement les PDF numérisés (basés sur l'image) et les PDF consultables (basés sur le texte). Le moteur basé sur Tesseract gère automatiquement les différents types de PDF, ce qui le rend polyvalent pour l'extraction de texte à partir de divers formats PDF sans nécessiter d'approches différentes.

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
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 5,246,844 | Version : 2025.12 vient de sortir