Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Extraire du Texte de PDF en C# en utilisant iTextSharp VS IronPDF

L'extraction de texte à partir de documents PDF est une exigence courante dans les projets logiciels modernes - du traitement des factures à l'exploration de contenu pour les moteurs de recherche. Les développeurs ont besoin de bibliothèques fiables qui offrent non seulement des résultats précis mais aussi une expérience d'intégration efficace dans les applications C# .NET. Certains développeurs utilisent des outils OCR (reconnaissance optique de caractères) pour extraire des données de documents numérisés et d'images, mais parfois le travail nécessite un outil d'extraction de texte robuste.

Mais avec plusieurs bibliothèques PDF sur le marché, choisir le bon outil peut être accablant. Two libraries that often come up in the conversation are iTextSharp and IronPDF. Les deux peuvent extraire du texte à partir de PDF, mais elles diffèrent significativement en matière de convivialité, de support, de performance et de tarification. Cet article compare les deux bibliothèques, en examinant différents exemples de code pour montrer comment elles gèrent l'extraction de texte, afin de vous aider à décider laquelle convient le mieux à votre projet.

Vue d'ensemble d'IronPDF et de la bibliothèque iTextSharp

iTextSharp a longtemps été une bibliothèque PDF open-source populaire pour .NET, offrant des outils puissants pour générer, manipuler et extraire du contenu. En tant que portage C# du iText basé sur Java, il offre un contrôle approfondi des structures PDF - idéal pour les utilisateurs avancés. Cependant, cette flexibilité s'accompagne d'une courbe d'apprentissage abrupte et de contraintes de licence ; l'utilisation commerciale nécessite souvent une licence payante pour éviter les obligations AGPL.

Découvrez IronPDF - une bibliothèque PDF moderne et conviviale pour les développeurs, conçue pour .NET. Il simplifie les tâches courantes comme l'extraction de texte avec une API intuitive, une documentation claire et un support réactif. Avec cet outil, les développeurs peuvent extraire des images et du texte à partir de documents PDF avec facilité, créer de nouveaux fichiers PDF, mettre en œuvre la sécurité des PDF, et plus encore.

Contrairement à iTextSharp, IronPDF évite les structures de bas niveau complexes, vous permettant de travailler plus rapidement et plus efficacement. Que vous traitiez une seule page ou des centaines de PDF, il garde les choses simples.

Il est également activement maintenu, avec des mises à jour régulières et un modèle de licence simple, y compris un essai gratuit et des plans abordables pour les équipes et les développeurs en solo.

Installation et utilisation d'IronPDF

IronPDF peut être installé via NuGet en exécutant la commande suivante dans la console du gestionnaire de packages NuGet :

Install-Package IronPdf

Alternativement, vous pouvez l'installer via le gestionnaire de paquets NuGet pour l'écran Soluction. Pour ce faire, naviguez vers "Outils > Gestionnaire de paquets NuGet > Gérer les paquets NuGet pour la solution". Ensuite, recherchez IronPDF, et cliquez sur "Installer".

Extraire du texte de fichiers PDF avec IronPDF

Une fois installé, l'extraction de texte est simple :

using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");

// Extract text from the PDF
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");

// Extract text from the PDF
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf

' Load the PDF document
Private pdf = PdfDocument.FromFile("invoice.pdf")

' Extract text from the PDF
Private extractedText As String = pdf.ExtractAllText()

' Output the extracted text
Console.WriteLine(extractedText)
$vbLabelText   $csharpLabel

Note : Cette méthode lit l'intégralité du fichier PDF et renvoie le texte dans l'ordre de lecture, vous faisant gagner des heures par rapport aux bibliothèques traditionnelles.

Pas besoin de gérer les encodages, les flux de contenu ou le parsing manuel. IronPDF gère tout cela en interne, fournissant une sortie propre et précise avec un minimum de configuration. Vous pourriez alors facilement enregistrer le texte extrait dans un nouveau fichier texte pour une manipulation ou une utilisation ultérieure.

Installation de la bibliothèque iTextSharp PDF

Pour télécharger le package de base de iTextSharp pour la génération de PDF, utilisez la commande suivante :

Install-Package iTextSharp

Vous pouvez également installer iTextSharp via l'écran du gestionnaire de packages pour la solution. Pour ce faire, allez d'abord dans le menu déroulant Outils, puis trouvez "Gestionnaire de paquets NuGet > Gérer les paquets NuGet pour la solution". Ensuite, il vous suffit de rechercher iTextSharp et de cliquer sur "Installer".

Extraire du texte de documents PDF avec iTextSharp

Voici un exemple pour extraire du texte d'une seule page PDF :

using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

// Define the path to your PDF
string path = "sample.pdf";

// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
    // Use a simple text extraction strategy
    var strategy = new SimpleTextExtractionStrategy();

    // Extract text from the first page
    string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);

    // Output the extracted text
    Console.WriteLine(pageText);
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

// Define the path to your PDF
string path = "sample.pdf";

// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
    // Use a simple text extraction strategy
    var strategy = new SimpleTextExtractionStrategy();

    // Extract text from the first page
    string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);

    // Output the extracted text
    Console.WriteLine(pageText);
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener

' Define the path to your PDF
Private path As String = "sample.pdf"

' Open the PDF reader and document
Using reader As New PdfReader(path)
Using pdf As New PdfDocument(reader)
	' Use a simple text extraction strategy
	Dim strategy = New SimpleTextExtractionStrategy()

	' Extract text from the first page
	Dim pageText As String = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy)

	' Output the extracted text
	Console.WriteLine(pageText)
End Using
End Using
$vbLabelText   $csharpLabel

Cet exemple démontre la capacité d'iTextSharp, mais notez la verbosité et les objets supplémentaires requis pour effectuer une tâche simple.

Comparaison détaillée

Maintenant que nous avons couvert l'installation et l'utilisation de base, examinons une comparaison plus approfondie de la manière dont ces deux bibliothèques gèrent l'extraction de texte en les faisant extraire du texte d'un document PDF multipage.

Exemple avancé : Extraire du texte d'une plage de pages avec IronPDF

IronPDF prend en charge le contrôle granulaire de la sélection des pages et l'extraction de texte sensible à la mise en page.

using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");

// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };

// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);

// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");

// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };

// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);

// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
Imports Microsoft.VisualBasic
Imports IronPdf

' Load the PDF document
Private pdf = PdfDocument.FromFile("longPdf.pdf")

' Define the page numbers to extract text from
Private pages() As Integer = { 2, 3, 4 }

' Extract text from the specified pages
Private text = pdf.ExtractTextFromPages(pages)

' Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:" & vbLf & text)
$vbLabelText   $csharpLabel

Exemple avancé : Extraire du texte d'une plage de pages en utilisant iTextSharp

Dans iTextSharp, vous devrez spécifier manuellement la plage de pages et extraire le texte en utilisant PdfTextExtractor :

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();

// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
    string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    textBuilder.AppendLine(pageText);
}

// Output the extracted text
Console.WriteLine(textBuilder.ToString());

// Close the PDF reader
reader.Close();
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();

// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
    string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    textBuilder.AppendLine(pageText);
}

// Output the extracted text
Console.WriteLine(textBuilder.ToString());

// Close the PDF reader
reader.Close();
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text

' Load the PDF document
Private reader As New PdfReader("longPdf.pdf")
Private textBuilder As New StringBuilder()

' Extract text from pages 2–4
For i As Integer = 2 To 4
	Dim pageText As String = PdfTextExtractor.GetTextFromPage(reader, i, New LocationTextExtractionStrategy())
	textBuilder.AppendLine(pageText)
Next i

' Output the extracted text
Console.WriteLine(textBuilder.ToString())

' Close the PDF reader
reader.Close()
$vbLabelText   $csharpLabel

Résumé de la comparaison de code

IronPDF et iTextSharp sont tous deux capables d'extraction avancée de texte PDF, mais leurs approches diffèrent considérablement en complexité et en clarté :

  • IronPDF garde les choses propres et accessibles. Ses méthodes de haut niveau comme PdfDocument.ExtractAllText() vous permettent d'extraire du contenu structuré avec un minimum de configuration. Le code est simple, ce qui le rend facile à mettre en œuvre même pour les développeurs novices en traitement PDF.

  • iTextSharp, en revanche, nécessite une compréhension plus profonde de la structure PDF. L'extraction de texte implique la configuration d'écouteurs de rendu personnalisés, la gestion manuelle des pages et l'interprétation des données de mise en page ligne par ligne. Bien que puissant, il est plus verbeux et moins intuitif, ce qui fait d'IronPDF une option plus rapide et plus maintenable pour la plupart des projets .NET.

Mais notre comparaison ne s'arrête pas là. Ensuite, regardons comment ces deux bibliothèques se comparent dans d'autres domaines.

Comparaison détaillée: IronPDF vs iTextSharp

Lors de l'évaluation des bibliothèques d'extraction de texte PDF pour .NET, les développeurs pèsent souvent l'équilibre entre simplicité, performance et support à long terme. Décomposons comment IronPDF et iTextSharp se comparent dans l'usage réel, en particulier pour l'extraction de texte de PDF en C#.

1. Facilité d'utilisation

IronPDF : API propre et moderne

IronPDF met l'accent sur l'expérience développeur. L'installation est facile via NuGet, et la syntaxe est intuitive :

using IronPdf;

// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");

// Extract all text from every page
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;

// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");

// Extract all text from every page
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf

' Load the PDF
Private pdf = PdfDocument.FromFile("sample.pdf")

' Extract all text from every page
Private extractedText As String = pdf.ExtractAllText()

' Output the extracted text
Console.WriteLine(extractedText)
$vbLabelText   $csharpLabel

IronPDF abstrait la complexité derrière des appels de méthode simples comme ExtractAllText(), ne nécessitant aucun template de code ou logique de parsing.

iTextSharp : Plus verbeux et de bas niveau

iTextSharp nécessite l'analyse manuelle de chaque page et plus d'efforts pour extraire du texte brut.

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}

// Output the extracted text
Console.WriteLine(text.ToString());
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}

// Output the extracted text
Console.WriteLine(text.ToString());
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text

' Load the PDF
Private reader = New PdfReader("sample.pdf")
Private text As New StringBuilder()

For i As Integer = 1 To reader.NumberOfPages
	text.Append(PdfTextExtractor.GetTextFromPage(reader, i))
Next i

' Output the extracted text
Console.WriteLine(text.ToString())
$vbLabelText   $csharpLabel

Les développeurs doivent parcourir manuellement les pages, ce qui introduit plus de code et de potentiel d'erreurs si des cas limites surviennent.

2. Performance et fiabilité

  • IronPDF est basé sur un moteur de rendu moderne (Chromium), ce qui le rend bien adapté aux PDF modernes, même ceux avec des polices intégrées, du texte tourné et plusieurs dispositions. L'extraction de texte est sensible à la mise en page et préserve plus naturellement les espacements.

  • iTextSharp, bien que puissant, peut avoir des difficultés avec des formats complexes. Les fichiers PDF avec orientation mixte ou encodages non standards peuvent produire du texte brouillé ou mal ordonné.

3. Coût et licences

Fonctionnalité IronPDF iTextSharp
Type de licence Commerciale (Essai gratuit disponible) AGPL (Gratuit) / Commerciale (Payante)
Transparence des tarifs Tarification publique & licences perpétuelles Paliers complexes et règles de redistribution
Support Équipe de support dédiée Support communautaire (à moins d'être licencié)
Utilisation dans une appli source fermée Oui (avec licence) Non avec AGPL

Veuillez noterSi vous construisez un logiciel commercial ou propriétaire, iTextSharp AGPL vous obligera à open-sourcer votre code ou à payer pour une licence commerciale. IronPDF offre un modèle de licence plus flexible pour les projets en source fermée.

4. Support développeur et documentation

  • IronPDF : Vient avec une documentation moderne, des tutoriels vidéo, et un support rapide basé sur des tickets.

  • iTextSharp : Bonne documentation, mais support gratuit limité à moins que vous ne soyez client payant.

5. Résumé inter-bibliothèques

Critère IronPDF iTextSharp
Simplicité Élevée – Extraction de texte en une ligne Moyenne – Parcours manuel des pages
Performance Analyse rapide et moderne Plus lent sur des PDF complexes ou scannés
Adapté au commercial Oui, pas de restrictions AGPL L'AGPL limite l'utilisation dans les applications source fermée
Support & Docs Dédié, réactif Dépendant de la communauté
Support .NET Core Complet Complet

Conclusion

Lorsqu'il s'agit d'extraire du texte de PDF en C#, IronPDF et iTextSharp sont deux outils capables - mais ils servent des types de développeurs différents. Si vous recherchez une solution moderne, facile à intégrer avec un excellent support, des fonctionnalités activement maintenues et une préservation de mise en page homogène, IronPDF se démarque clairement. Il réduit le temps de développement, offre des API intuitives, et fonctionne bien sur une large gamme d'applications dans le framework .NET, des applications web aux systèmes d'entreprise.

D'autre part, iTextSharp reste une option forte pour les développeurs déjà intégrés dans son écosystème ou ceux qui nécessitent un contrôle granulaire sur les stratégies d'extraction de texte. Cependant, sa courbe d'apprentissage plus raide et son manque de support commercial peuvent ralentir les projets qui doivent s'étendre rapidement ou maintenir des bases de code propres.

Pour les développeurs .NET qui valorisent la rapidité, la clarté, et des résultats fiables, IronPDF fournit un chemin prêt pour le futur. Que vous construisiez des outils d'automatisation de documents, des moteurs de recherche ou des tableaux de bord internes, les fonctionnalités robustes et les performances d'IronPDF vous aideront à livrer plus rapidement et plus intelligemment.

Essayez IronPDF dès aujourd'hui en téléchargeant l'essai gratuit et expérimentez la différence par vous-même. Avec un essai gratuit et une API conviviale pour les développeurs, vous pouvez commencer en quelques minutes.

Veuillez noteriTextSharp est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé ou sponsorisé par iTextSharp. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à des fins d'information uniquement et reflètent les informations disponibles publiquement au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je extraire du texte d'un PDF en C# en utilisant une bibliothèque moderne ?

Vous pouvez utiliser IronPDF pour extraire du texte de PDFs en utilisant des méthodes comme PdfDocument.ExtractAllText(), ce qui simplifie le processus et garantit des résultats précis même à partir de mises en page complexes de documents.

Quelles sont les principales différences entre IronPDF et iTextSharp pour l'extraction de texte ?

IronPDF offre une API plus intuitive et des performances plus rapides comparées à iTextSharp. Il est conçu pour gérer efficacement les mises en page complexes et fournit un moteur de rendu moderne qui simplifie l'extraction de texte, tandis que iTextSharp nécessite plus de codage manuel et de compréhension des structures PDF.

Comment IronPDF gère-t-il l'extraction de texte à partir de documents numérisés ?

IronPDF prend en charge l'extraction de texte à partir de PDF standards. Pour les documents numérisés, des outils OCR comme IronOCR peuvent être intégrés pour extraire le texte des images dans les PDFs.

Quels sont les avantages en termes de licence de l'utilisation d'IronPDF pour des projets commerciaux ?

IronPDF offre un modèle de licence commerciale clair sans restrictions AGPL, ce qui le rend adapté pour des applications fermées. Il propose des plans abordables pour les développeurs individuels et les équipes.

IronPDF est-il adapté pour extraire du texte à partir de PDFs avec des mises en page complexes ?

Oui, IronPDF est bien adapté pour extraire du texte à partir de PDFs avec des mises en page complexes grâce à ses capacités d'extraction de texte conscientes de la mise en page, garantissant que le formatage et l'espacement sont préservés avec précision.

Comment puis-je intégrer une bibliothèque de traitement de PDF dans mon projet C# ?

Vous pouvez intégrer IronPDF dans votre projet C# en l'installant via NuGet. Exécutez la commande Install-Package IronPdf dans la console du gestionnaire de paquets NuGet pour l'ajouter à votre projet.

Quels supports et ressources sont disponibles pour les développeurs utilisant IronPDF ?

IronPDF fournit un support complet grâce à une documentation moderne, des tutoriels vidéo, et une assistance rapide basée sur des tickets, en faisant un outil convivial pour les développeurs pour l'intégration dans des projets .NET.

IronPDF peut-il extraire du texte de pages spécifiques dans un PDF ?

Oui, IronPDF vous permet d'extraire du texte de pages spécifiques en utilisant des méthodes comme PdfDocument.ExtractTextFromPages(), offrant un contrôle granulaire sur les processus d'extraction de texte.

Pourquoi IronPDF est-il recommandé pour les développeurs novices en extraction de texte PDF ?

IronPDF est recommandé pour les nouveaux développeurs grâce à son API facile à utiliser, son processus d'intégration simple, et ses ressources de support détaillées, le rendant accessible même pour ceux qui ne sont pas familiers avec le traitement de PDF.

Quels avantages de performance IronPDF offre-t-il par rapport aux autres bibliothèques ?

IronPDF offre des performances améliorées grâce à son moteur de rendu moderne, qui optimise les vitesses d'extraction de texte et gère efficacement les mises en page complexes de PDF, le rendant plus rapide que beaucoup d'autres bibliothèques.

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