Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Dans ce tutoriel, nous allons apprendre à lire des données à partir d'un PDF(Format de document portable) en C# avec des exemples utilisant deux outils différents.
Il existe de nombreuses bibliothèques/lecteurs d'analyseurs en ligne qui peuvent extraire du texte et des images des PDF. Nous allons extraire des informations d'un fichier PDF en utilisant les deux bibliothèques les plus utiles et les plus performantes avec des services pertinents à ce jour. Nous comparerons également les deux bibliothèques afin de déterminer laquelle est la meilleure.
Nous comparerons iText 7 et IronPDF. Avant de poursuivre, nous allons présenter les deux bibliothèques.
la bibliothèque iText 7 est la dernière version de iTextSharp. Elle est utilisée dans les applications .NET et Java. Il est équipé d'un moteur de documents(comme Adobe Acrobat Reader)il offre des capacités de programmation de haut et de bas niveau, un récepteur d'événements et des capacités d'édition de fichiers PDF. iText 7 peut créer, éditer et améliorer les pages des documents PDF sans aucune erreur. Les autres fonctionnalités comprennent l'ajout de mots de passe, la création de stratégies d'encodage et l'enregistrement d'options d'autorisation dans un document PDF. Il permet également d'ajouter ou de modifier le contenu ou les images du canevas, d'ajouter des éléments au format PDF[dictionnaires, etc]vous pouvez également créer des filigranes et des signets, modifier la taille des polices et signer des données sensibles.
iText 7 nous permet de créer des applications de traitement PDF personnalisées pour le web, le mobile, le bureau, le noyau ou les applications cloud en .NET.
IronPDF est une bibliothèque développée par Iron Software qui aide les ingénieurs logiciels C# et Java à créer, modifier et extraire du contenu PDF. Il est couramment utilisé pour générer des PDF à partir de HTML, de pages web ou d'images. Il permet de lire les PDF et d'en extraire le texte. Parmi les autres fonctionnalités, citons l'ajout d'en-têtes/pieds de page, de signatures, de pièces jointes, de mots de passe et de questions de sécurité. Il offre une optimisation complète des performances grâce à ses fonctionnalités multithreading et asynchrones.
IronPDF bénéficie d'une compatibilité multiplateforme avec .NET 5, .NET 6 et .NET 7, .NET Core, Standard et Framework. Il est également compatible avec Windows, macOS, Linux, Docker, Azure et AWS.
Voyons maintenant une démonstration pour chacun d'entre eux.
Nous utiliserons le fichier PDF suivant pour extraire le texte du PDF.
Ecrivez le code source suivant pour extraire du texte en utilisant iText 7.
//assign PDF location to a string and create new StringBuilder...
string pdfPath = @"D:/TestDocument.pdf";
var pageText = new StringBuilder();
//read PDF using new PdfDocument and new PdfReader...
using (PdfDocument document = new PdfDocument(new PdfReader(pdfPath)))
{
var pageNumbers = document.GetNumberOfPages();
for (int page = 1; page <= pageNumbers; page++)
{
//new LocationTextExtractionStrategy creates a new text extraction renderer
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
PdfCanvasProcessor parser = new PdfCanvasProcessor(strategy);
parser.ProcessPageContent(document.GetFirstPage());
pageText.Append(strategy.GetResultantText());
}
Console.WriteLine(pageText.ToString());
}
//assign PDF location to a string and create new StringBuilder...
string pdfPath = @"D:/TestDocument.pdf";
var pageText = new StringBuilder();
//read PDF using new PdfDocument and new PdfReader...
using (PdfDocument document = new PdfDocument(new PdfReader(pdfPath)))
{
var pageNumbers = document.GetNumberOfPages();
for (int page = 1; page <= pageNumbers; page++)
{
//new LocationTextExtractionStrategy creates a new text extraction renderer
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
PdfCanvasProcessor parser = new PdfCanvasProcessor(strategy);
parser.ProcessPageContent(document.GetFirstPage());
pageText.Append(strategy.GetResultantText());
}
Console.WriteLine(pageText.ToString());
}
'assign PDF location to a string and create new StringBuilder...
Dim pdfPath As String = "D:/TestDocument.pdf"
Dim pageText = New StringBuilder()
'read PDF using new PdfDocument and new PdfReader...
Using document As New PdfDocument(New PdfReader(pdfPath))
Dim pageNumbers = document.GetNumberOfPages()
For page As Integer = 1 To pageNumbers
'new LocationTextExtractionStrategy creates a new text extraction renderer
Dim strategy As New LocationTextExtractionStrategy()
Dim parser As New PdfCanvasProcessor(strategy)
parser.ProcessPageContent(document.GetFirstPage())
pageText.Append(strategy.GetResultantText())
Next page
Console.WriteLine(pageText.ToString())
End Using
Maintenant, extrayons du texte d'un PDF à l'aide d'IronPdf.
Le code source suivant illustre l'exemple d'extraction de texte à partir d'un fichier PDF à l'aide d'IronPDF.
var pdf = PdfDocument.FromFile(@"D:/TestDocument.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
var pdf = PdfDocument.FromFile(@"D:/TestDocument.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim pdf = PdfDocument.FromFile("D:/TestDocument.pdf")
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
Avec IronPDF, il faut deux lignes pour extraire le texte des PDF. Avec iText 7, en revanche, nous devons écrire environ 10 lignes de code pour la même tâche.
IronPDF propose des méthodes d'extraction de texte très pratiques ; mais iText 7 nous oblige à écrire notre propre logique pour effectuer la même tâche.
IronPDF est efficace en termes de performances et de lisibilité du code.
Les deux bibliothèques sont égales en termes de précision, puisqu'elles fournissent toutes deux des résultats précis à 100 %.
iText 7 est disponible pour usage commercial seulement. IronPDF est gratuit pour le développement et offre également un essai gratuit pour usage commercial.
Pour une comparaison plus approfondie d'IronPDF et d'iText 7, veuillez lire ce qui suit billet de blog sur IronPDF vs. iText 7.
9 produits de l'API .NET pour vos documents de bureau