COMPARAISON DES PRODUITS

Comment lire des documents PDF en C# en utilisant iTextSharp :

Publié avril 3, 2024
Partager:

À l'ère du numérique, Format de document portable (PDF (EN ANGLAIS)) sont devenus une norme pour l'échange de documents en raison de leur nature indépendante de la plate-forme et de leur formatage cohérent. La bibliothèque iTextSharp s'impose comme une bibliothèque puissante permettant aux développeurs travaillant avec C# d'interagir de manière transparente avec les PDF. Dans cet article, nous allons apprendre le processus de lecture des fichiers PDF à l'aide de iTextSharp en C#, en explorant les étapes essentielles et en fournissant un guide complet pour vous aider à libérer le potentiel de cette bibliothèque polyvalente.

Comment lire des documents PDF en C# ; en utilisant iTextSharp

  1. Ouvrir ou créer un Visual Studio Projet.
  2. Installer la bibliothèque iTextSharp.
  3. Ajouter l'espace de noms nécessaire.
  4. Sélectionnez le fichier PDF à lire.
  5. Créer une instance d'un lecteur PDF.
  6. Créer une instance d'un document PDF.
  7. Bouclez chaque page du document pour en extraire le texte.
  8. Imprimer le texte extrait sur la console.

Qu'est-ce que itextSharp ?

iText 7anciennement connu sous le nom de iTextSharp, est une bibliothèque Java et .NET puissante et polyvalente pour la création, la manipulation et l'extraction de contenu à partir de documents PDF. Il offre un ensemble complet de fonctionnalités, notamment le traitement de textes et d'images, le remplissage de formulaires, les signatures numériques et le filigrane. Que vous produisiez des factures, des rapports ou des formulaires interactifs, iText 7 permet aux développeurs de travailler efficacement avec les PDF.

Lecture des fichiers PDF

Voyons quelques exemples de lecture de fichiers PDF en C#. Pour commencer, vous devez ajouter la bibliothèque iTextSharp à votre projet

Installer la bibliothèque PDF iTextSharp

Ouvrez votre projet C# à l'aide de Visual Studio. Dans le menu supérieur, cliquez sur "View", puis sélectionnez "Package Manager Console" La console du gestionnaire de paquets s'ouvre alors en bas de la fenêtre de Visual Studio.

Dans la console du gestionnaire de paquets, assurez-vous que la liste déroulante "Projet par défaut" est définie sur le projet dans lequel vous souhaitez installer le paquetage iTextSharp.

Exécutez la commande suivante pour installer la bibliothèque iTextSharp :

Install-Package itext7

Cette commande récupère la dernière version d'iTextSharp dans le dépôt de paquets NuGet et l'installe dans votre projet. Attendez la fin du processus d'installation. La console du gestionnaire de paquets affiche des informations sur la progression de l'installation.

Comment lire des documents PDF en C# à l'aide d'iTextSharp: : Figure 1 - Installez iTextSharp en utilisant la console NuGet Package Manager dans Visual Studio et en ajoutant la commande suivante : "Install-package itext7" ;.

Lecture de documents PDF à l'aide du lecteur de PDF iTextSharp

Pour cet exemple, j'utiliserai le document PDF suivant.

Comment lire des documents PDF en C# en utilisant iTextSharp: : Figure 2 - Document PDF original

Avant de commencer, ajoutez l'espace de noms suivant :

using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports System.Text
VB   C#

Le code suivant lira le fichier PDF ci-dessus, en extraira le contenu et l'imprimera sur la console.

public static void Main(string [] args)
{
    StringBuilder text = new StringBuilder();
    string fileName = @"D:/What_is_pdf.pdf";
    if (File.Exists(fileName))
    {
        using (PdfReader pdfReader = new PdfReader(fileName))
        {
            using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
            {
                for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
                {
                    string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page)); 
                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);
                }
            }
        }
    }
    Console.WriteLine(text.ToString());
}
public static void Main(string [] args)
{
    StringBuilder text = new StringBuilder();
    string fileName = @"D:/What_is_pdf.pdf";
    if (File.Exists(fileName))
    {
        using (PdfReader pdfReader = new PdfReader(fileName))
        {
            using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
            {
                for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
                {
                    string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page)); 
                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);
                }
            }
        }
    }
    Console.WriteLine(text.ToString());
}
Public Shared Sub Main(ByVal args() As String)
	Dim text As New StringBuilder()
	Dim fileName As String = "D:/What_is_pdf.pdf"
	If File.Exists(fileName) Then
		Using pdfReader As New PdfReader(fileName)
			Using pdfDocument As New PdfDocument(pdfReader)
				Dim page As Integer = 1
				Do While page <= pdfDocument.GetNumberOfPages()
					Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page))
					currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)))
					text.Append(currentText)
					page += 1
				Loop
			End Using
		End Using
	End If
	Console.WriteLine(text.ToString())
End Sub
VB   C#

Le code source ci-dessus lit un fichier PDF, extrait le texte de chaque page, le convertit en UTF-8, puis imprime tout le contenu du texte sur la console. Il s'agit d'un exemple de base sur la manière d'extraire du texte d'un fichier PDF en utilisant la bibliothèque iTextSharp en C#.

Explication du code

1. Chemin d'accès au fichier et initialisation

Le code commence par déclarer un StringBuilder nommé text pour accumuler le texte extrait du PDF. Il définit également une variable de type chaîne nomdufichier contenant le chemin d'accès au document. Dans ce cas, le fichier PDF se trouve à "D:/What\is_pdf.pdf".

2. Vérification de l'existence d'un fichier

L'option si (Fichier.existe(nom de fichier)) La condition vérifie si le fichier spécifié existe. Si le fichier existe, le bloc de code suivant est exécuté.

3. Traitement des documents PDF

Dans le bloc if, il ouvre le fichier PDF en utilisant un objet PdfReader. Ensuite, il crée une instance de fichier PdfDocument en utilisant le PdfReader. La boucle for parcourt chaque page du document PDF.

4. Extraction de texte à partir d'un fichier PDF

Pour chaque page PDF, il extrait le contenu textuel en utilisant la classe PdfTextExtractor's GetTextFromPage(pdfDocument.GetPage(page)) méthode. Le texte extrait est initialement encodé dans l'encodage par défaut.

Il convertit ensuite le texte de l'encodage par défaut en UTF-8 en utilisant Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default,Encoding.UTF8,Encoding.Default.GetBytes(texte actuel))). Le texte converti est ensuite ajouté à la chaîne de texte.

5. Affichage du texte accumulé

Enfin, il imprime le texte accumulé à l'aide de la commande Console.WriteLine() méthode.

Sortie

Le texte PDF extrait est le suivant :

Comment lire des documents PDF en C# en utilisant iTextSharp: : Figure 3 - Sortie de la console : Extraction du texte du document PDF "What_is_pdf.pdf" ; à l'aide de iTextSharp et affichage du texte en clair dans la console.

De cette manière, nous pouvons lire le contenu du fichier PDF. Cette approche est complexe et moins efficace car plusieurs instances sont créées. Explorons une autre méthode, plus conviviale et plus efficace.

Introduction à IronPDF

IronPDF est une bibliothèque C# polyvalente et efficace conçue pour simplifier et améliorer l'utilisation du création, manipulationet l'équarrissage de documents PDF dans les applications .NET. IronPDF permet aux développeurs d'intégrer en toute transparence des fonctionnalités liées au format PDF dans leurs projets, en mettant l'accent sur la facilité d'utilisation et la richesse des fonctionnalités. La bibliothèque prend en charge un large éventail d'opérations PDF, y compris la création de documents PDF à partir de zéro, la conversion de fichiers PDF et la création de documents PDF Contenu HTML vers PDFet le l'extraction de textes et d'images à partir de fichiers PDF existants. L'API intuitive d'IronPDF offre aux développeurs une expérience conviviale, leur permettant de générer des PDF dynamiques et interactifs sans effort. Qu'il s'agisse d'ajouter des filigranes, des annotations ou de crypter des documents, IronPDF permet aux développeurs d'adapter les PDF à leurs besoins spécifiques. En tant que solution fiable, IronPDF s'avère utile dans des applications allant de la génération de rapports à la gestion de documents en passant par le développement web, en offrant un ensemble complet d'outils permettant de rationaliser les tâches liées aux PDF dans l'environnement .NET.

Installer la bibliothèque IronPDF

Utilisation de la console du gestionnaire de paquets dans Visual Studio

Téléchargez IronPDF dans votre projet en utilisant la console NuGet Package Manager avec la commande suivante.

Install-Package IronPdf

Cette commande téléchargera et installera le logiciel Paquet NuGet IronPDFainsi que ses dépendances, dans votre projet.

Comment lire des documents PDF en C# à l'aide d'iTextSharp: : Figure 4 - Installer la bibliothèque IronPDF à l'aide de la console NuGet Package Manager, entrez la commande suivante : "Install-package IronPDF" ;

Utilisation de NuGet pour gérer les paquets de la solution

Dans l'onglet Parcourir de NuGet, recherchez la bibliothèque "IronPDF" et cliquez sur Installer.

Comment lire des documents PDF en C# à l'aide d'iTextSharp: : Figure 5 - Installez IronPDF à l'aide du gestionnaire de paquets NuGet pour les solutions en recherchant "IronPDF" ; dans la barre de recherche du gestionnaire de paquets NuGet, puis sélectionnez le projet et cliquez sur le bouton Installer.

Lecture d'un fichier PDF à l'aide d'IronPDF

Maintenant, lisons le même fichier PDF en utilisant IronPDF. Le code suivant extrait le texte du document PDF d'entrée.

using IronPdf;
public static void Main(string [] args)
{
    var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
     string text = pdfDocument.ExtractAllText();
    Console.WriteLine(text);
}
using IronPdf;
public static void Main(string [] args)
{
    var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
     string text = pdfDocument.ExtractAllText();
    Console.WriteLine(text);
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
	Dim pdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
	 Dim text As String = pdfDocument.ExtractAllText()
	Console.WriteLine(text)
End Sub
VB   C#

Le code ci-dessus lit un fichier PDF nommé "What_is_pdf.pdf", en extrait tout le contenu textuel et affiche le texte extrait dans la console

Explication du code

1. Chargement du document PDF

Le code commence par charger un document PDF à partir d'un fichier nommé "What_is_pdf.pdf". Il utilise la méthode PdfDocument.FromFile() Méthode permettant de créer un objet PdfDocument à partir du fichier spécifié.

2. Extraction de tout le texte

Ensuite, il extrait tout le contenu textuel du document PDF chargé. La fonction pdfDocument.ExtractAllText() La méthode renvoie l'intégralité du texte du PDF sous la forme d'une chaîne unique.

3. Affichage du texte extrait

Enfin, le texte extrait est stocké dans la variable text. Le code imprime le texte extrait sur la console en utilisant Console.WriteLine(texte) méthode.

Sortie

Comment lire des documents PDF en C# en utilisant iTextSharp: : Figure 6 - Sortie de la console : Utilisation d'IronPDF pour extraire le texte du document PDF "What_is_pdf.pdf" ; et l'afficher en tant que texte brut dans la console.

IronPDF permet également d'extraire du texte d'un fichier PDF, page par page.

Lire le fichier PDF, page par page

Le code suivant permet de lire un document PDF, page par page, à l'aide d'IronPDF.

using IronPdf;
 public static void Main(string [] args)
 {
     StringBuilder sb = new StringBuilder();
     using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
     for (int index = 0; index < pdf.PageCount; index++)
     {
         sb.Append (pdf.ExtractTextFromPage(index));
     }
     Console.WriteLine(sb.ToString());
 }
using IronPdf;
 public static void Main(string [] args)
 {
     StringBuilder sb = new StringBuilder();
     using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
     for (int index = 0; index < pdf.PageCount; index++)
     {
         sb.Append (pdf.ExtractTextFromPage(index));
     }
     Console.WriteLine(sb.ToString());
 }
Imports IronPdf
 Public Shared Sub Main(ByVal args() As String)
	 Dim sb As New StringBuilder()
	 Using pdf As PdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
		 For index As Integer = 0 To pdf.PageCount - 1
			 sb.Append(pdf.ExtractTextFromPage(index))
		 Next index
		 Console.WriteLine(sb.ToString())
	 End Using
 End Sub
VB   C#

Le code ci-dessus lit un fichier PDF nommé "What_is_pdf.pdf", extrait le contenu textuel de chaque page et imprime le texte combiné sur la console.

Explication du code

1. Initialisation et chargement du PDF

Un StringBuilder nommé sb est créé pour accumuler le texte extrait du PDF. La déclaration d'utilisation garantit l'élimination correcte des ressources. Un objet PdfDocument nommé PDF est créé en chargeant un fichier PDF à partir du chemin "D:/What_is_pdf.pdf" à l'aide de la méthode PdfDocument.FromFile.

2. Extraction de texte à partir de pages

La boucle for parcourt chaque page du document PDF chargé. Pour chaque page (indexé par l'indice)il extrait le contenu textuel en utilisant pdf.ExtractTextFromPage(index). Le texte extrait est ajouté au StringBuilder à l'aide de sb.Append().

3. Affichage du texte accumulé

Enfin, le texte accumulé est converti en une seule chaîne de caractères à l'aide de sb.ToString(). L'ensemble du texte extrait est imprimé sur la console à l'aide de Console.WriteLine() méthode.

Conclusion

En conclusion, travailler avec des PDF en C# implique de comprendre des éléments essentiels tels qu'un tableau d'octets, un dictionnaire d'informations sur les documents, une table de références croisées, une nouvelle instance de fichier et un octet statique. Le premier code utilisant iTextSharp montre une approche fonctionnelle, tandis que le second avec IronPDF offre une méthode plus simple et plus efficace. IronPDFl'API simple d'utilisation de la solution simplifie les tâches impliquant des tableaux de références croisées, le dictionnaire des pages et les références indirectes. Qu'il s'agisse de traiter uniquement la xref dans les informations du document ou les aspects liés aux clés privées pour les PDF sécurisés, IronPDF est une solution polyvalente.

Les développeurs qui cherchent à explorer IronPDF. La satisfaction du client est au cœur de l'offre d'IronPDF, qui veille à ce que les développeurs trouvent de la valeur et de l'efficacité dans leurs tâches liées aux PDF, ce qui en fait un choix convaincant pour ceux qui recherchent une bibliothèque PDF fiable et dotée de nombreuses fonctionnalités.

Pour plus d'informations sur l'utilisation d'IronPDF, veuillez vous référer au document suivant la documentation lien.

< PRÉCÉDENT
Comment ajouter des numéros de page dans un PDF en utilisant iTextSharp en C#
SUIVANT >
alternatives à iTextSharp Read PDF (Tutoriel du développeur)