using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Extraire du texte d'un PDF en C# à l'aide d'iTextSharp VS IronPDF
Chaknith Bin
avril 24, 2025
Partager:
Introduction
L'extraction de texte à partir de documents PDF est une exigence courante dans les projets logiciels modernes, allant du traitement des factures à l'extraction 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 également 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 et d'images numérisés, 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. Deux bibliothèques qui reviennent souvent dans la conversation sont iTextSharp et IronPDF. Tous deux peuvent extraire du texte des PDFs, mais ils diffèrent considérablement en termes d'utilisabilité, de support, de performance et de tarification. Cet article compare les deux bibliothèques, en examinant différents exemples de code pour démontrer comment elles traitent l'extraction de texte, afin de vous aider à décider laquelle convient le mieux à votre projet.
Un aperçu d'IronPDF et de la bibliothèque iTextSharp
iTextSharp est depuis longtemps 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# de l'iText basé sur Java, il offre un contrôle approfondi sur les 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 grâce à une API intuitive, une documentation claire et un support réactif. Avec cet outil, les développeurs peuvent extraire des images et du texte de documents PDF facilement, créer de nouveaux fichiers PDF, mettre en œuvre la sécurité des PDF, et plus encore.
Contrairement à iTextSharp, IronPDF évite les structures complexes de bas niveau, vous permettant de travailler plus rapidement et plus efficacement. Que vous traitiez une seule page ou des centaines de PDF, cela simplifie les choses.
Il est également activement maintenu, avec des mises à jour régulières et un modèle de licence simple, comprenant un essai gratuit et des plans abordables pour les équipes et les développeurs individuels.
Installation et utilisation de IronPDF
Installer avec NuGet
PM > Install-Package IronPdf
Découvrez IronPDF sur NuGet pour une installation rapide. Avec plus de 10 millions de téléchargements, il transforme le développement de PDF avec C#. Vous pouvez également télécharger le DLL ou l'installateur Windows.
IronPDF peut également ê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 packages NuGet pour l'écran de Solution. Pour ce faire, accédez à "Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution".
Ensuite, recherchez IronPDF et cliquez sur "Installer".
Extraire du texte des fichiers PDF avec IronPDF
Une fois installé, l'extraction de texte est simple :
using IronPdf;
var pdf = PdfDocument.FromFile("invoice.pdf");
string extractedText = pdf.ExtractAllText();
Console.WriteLine(extractedText);
using IronPdf;
var pdf = PdfDocument.FromFile("invoice.pdf");
string extractedText = pdf.ExtractAllText();
Console.WriteLine(extractedText);
Imports IronPdf
Private pdf = PdfDocument.FromFile("invoice.pdf")
Private extractedText As String = pdf.ExtractAllText()
Console.WriteLine(extractedText)
$vbLabelText $csharpLabel
📝 Note : Cette méthode lit le fichier PDF entier et renvoie le texte dans l'ordre de lecture, économisant ainsi des heures de temps de parsing par rapport aux bibliothèques traditionnelles.
Pas besoin de gérer les encodages, les flux de contenu ou l'analyse manuelle. IronPDF gère tout cela en interne, fournissant un résultat propre et précis avec une configuration minimale. Vous pouvez ensuite facilement enregistrer le texte extrait dans un nouveau fichier texte pour une manipulation ou une utilisation ultérieure.
Installation de la bibliothèque PDF iTextSharp
Pour télécharger le package principal d'iTextSharp pour la génération de PDF :
Install-Package iTextSharp
Install-Package iTextSharp
SHELL
Vous pouvez également utiliser iTextSharp via l'écran du gestionnaire de paquets pour Solution. Pour ce faire, vous devez d'abord aller dans le menu déroulant Outils, puis trouver "Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution".
Ensuite, recherchez simplement iTextSharp et cliquez sur "Installer".
Extraire du texte à partir 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;
string path = "sample.pdf";
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
var strategy = new SimpleTextExtractionStrategy();
string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);
Console.WriteLine(pageText);
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
string path = "sample.pdf";
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
var strategy = new SimpleTextExtractionStrategy();
string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);
Console.WriteLine(pageText);
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Private path As String = "sample.pdf"
Using reader As New PdfReader(path)
Using pdf As New PdfDocument(reader)
Dim strategy = New SimpleTextExtractionStrategy()
Dim pageText As String = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy)
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 nécessaires pour effectuer une tâche simple.
Comparaison détaillée
Maintenant que nous avons couvert l'installation et l'utilisation de base, examinons de plus près comment ces deux bibliothèques gèrent l'extraction de texte en leur faisant extraire du texte d'un document PDF à plusieurs pages.
Exemple Avancé : Extraction de Texte d'un Intervalle de Pages avec IronPDF
IronPDF prend en charge le contrôle granulaire de la sélection de pages et l'extraction de texte sensible à la mise en page.
using IronPdf;
// Load PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");
int[] pages = new[] { 2, 3, 4 };
var text = pdf.ExtractTextFromPages(pages);
Console.WriteLine("Extracted text from pages 2, 3, and 4:" + text);
using IronPdf;
// Load PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");
int[] pages = new[] { 2, 3, 4 };
var text = pdf.ExtractTextFromPages(pages);
Console.WriteLine("Extracted text from pages 2, 3, and 4:" + text);
Imports IronPdf
' Load PDF document
Private pdf = PdfDocument.FromFile("longPdf.pdf")
Private pages() As Integer = { 2, 3, 4 }
Private text = pdf.ExtractTextFromPages(pages)
Console.WriteLine("Extracted text from pages 2, 3, and 4:" & text)
$vbLabelText $csharpLabel
Sortie
Exemple avancé : Extraction de texte à partir d'une plage de pages avec iTextSharp
Dans iTextSharp, vous devrez spécifier manuellement la plage de pages et extraire le texte à l'aide de PdfTextExtractor :
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load 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());
reader.Close();
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load 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());
reader.Close();
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text
' Load 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())
reader.Close()
$vbLabelText $csharpLabel
Sortie
Résumé de la comparaison de code
IronPDF et iTextSharp sont tous deux capables d'une extraction avancée de texte PDF, mais leurs approches diffèrent considérablement en termes de complexité et de clarté :
IronPDF reste propre et accessible. 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 de PDF.
iTextSharp, en revanche, nécessite une compréhension plus approfondie de la structure PDF. L'extraction de texte implique la mise en place de listeners 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 puissante, cette méthode est plus verbeuse et moins intuitive, ce qui fait d'IronPDF une option plus rapide et plus facile à maintenir pour la plupart des projets .NET.
Mais notre comparaison ne s'arrête pas là, voyons ensuite 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 la simplicité, les performances et le support à long terme. Analysons comment IronPDF et iTextSharp se comparent dans une utilisation réelle, notamment pour extraire du texte à partir de PDF en C#.
Facilité d'utilisation
✅ IronPDF : API Propre et Moderne
IronPDF met l'accent sur l'expérience des développeurs. 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
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
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
Console.WriteLine(extractedText)
$vbLabelText $csharpLabel
IronPDF simplifie la complexité derrière des appels de méthodes simples comme ExtractAllText(), ne nécessitant aucun code standard ou logique d'analyse.
iTextSharp : Plus verbeux et de niveau inférieur
iTextSharp nécessite une analyse manuelle de chaque page et plus d'efforts pour extraire le texte brut.
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
// 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
Console.WriteLine(text.ToString());
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
// 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
Console.WriteLine(text.ToString());
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
' 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
Console.WriteLine(text.ToString())
$vbLabelText $csharpLabel
Les développeurs doivent parcourir manuellement les pages en boucle, ce qui introduit plus de code et augmente le risque de bogues en cas de situations limites.
2. Performance et fiabilité
IronPDF est construit 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 pivoté et plusieurs mises en page. L'extraction de texte est sensible à la mise en page et préserve l'espacement de manière plus naturelle.
iTextSharp, bien que puissant, peut rencontrer des difficultés avec le formatage complexe. Les fichiers PDF avec une orientation mixte ou des encodages non standards peuvent produire du texte brouillé ou mal ordonné.
3. Coût et Licence
FonctionnalitéIronPDFiTextSharp
Type de licence Commercial (essai gratuit disponible) AGPL (Gratuit) / Commercial (Payant)
Transparence des prix Tarification publique et licences perpétuelles Règles complexes de niveaux et de redistribution
Support Équipe de support dédiée Assistance communautaire (sauf si sous licence)
Utilisation dans une application à source fermée ✅ Oui (avec licence) ❌ Pas avec AGPL
📌 Note : Si vous développez un logiciel commercial ou propriétaire, iTextSharp AGPL vous obligera à ouvrir le code source de votre code, ou à payer pour une licence commerciale.
IronPDF offre un modèle de licence plus flexible pour les projets à code source fermé.
4. Support aux développeurs et documentation
IronPDF : Accompagné d'une documentation moderne, de tutoriels vidéo et d'un support rapide basé sur des tickets.
iTextSharp : Bonne documentation, mais support gratuit limité sauf si vous êtes un client payant.
5. Résumé Interbibliothèques
CritèresIronPDFiTextSharp
Simplicité ✅ Élevé – Extraction de texte en une ligne ⚠️ Moyen – Itération de page manuelle
Performance ✅ Analyse rapide et moderne ⚠️ Plus lent sur les PDF complexes ou numérisés
Convivial pour les entreprises ✅ Oui, aucune restriction AGPL ❌ AGPL limite l'utilisation dans les applications à source fermée
Assistance & Documentation ✅ Dévoué, réactif ⚠️ Dépendant de la communauté
Prise en charge de .NET Core ✅ Complet ✅ Complet
Conclusion
Lorsqu'il s'agit d'extraire du texte de fichiers PDF en C#, IronPDF et iTextSharp sont tous deux des outils capables—mais ils s'adressent à différents types de développeurs. Si vous cherchez une solution moderne, facile à intégrer avec un excellent support, des fonctionnalités activement maintenues et une préservation fluide de la mise en page, IronPDF se distingue clairement. Il réduit le temps de développement, offre des API intuitives et fonctionne bien avec un large éventail d'applications au sein du framework .NET, des applications web aux systèmes d'entreprise.
En revanche, iTextSharp reste une option solide 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 abrupte et l'absence de support commercial peuvent ralentir les projets qui doivent évoluer rapidement ou maintenir des bases de code propres.
Pour les développeurs .NET qui apprécient la rapidité, la clarté et des résultats fiables, IronPDF offre un chemin prêt pour l'avenir. Que vous développiez des outils d'automatisation de documents, des moteurs de recherche ou des tableaux de bord internes, les fonctionnalités robustes et la performance de IronPDF vous aideront à livrer plus rapidement et plus intelligemment.
👉 Essayez IronPDF dès aujourd'hui en téléchargeant la version d'essai gratuite et constatez la différence par vous-même. Avec une version d'essai gratuite et une API conviviale pour les développeurs, vous pouvez commencer en quelques minutes.
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT examen de la documentation iTextSharp VS IronPDF
SUIVANT > IronPDF et Puppeteer C# : Une comparaison
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier