Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Le PDF est un format de document portable créé par Adobe Acrobat Reader, largement utilisé pour le partage numérique d'informations sur l'internet. Il préserve le formatage des données et offre des fonctionnalités telles que la définition d'autorisations de sécurité et la protection par mot de passe. En tant que développeur C#, vous avez peut-être déjà rencontré des scénarios dans lesquels l'intégration d'une fonctionnalité PDF dans votre application logicielle est nécessaire. Le construire à partir de zéro peut être une tâche longue et fastidieuse. Par conséquent, compte tenu des performances, de l'efficacité et de l'efficience de l'application, le choix entre la création d'un nouveau service à partir de zéro et l'utilisation d'une bibliothèque préconstruite est important.
Il existe plusieurs bibliothèques PDF pour C#. Dans cet article, nous allons explorer deux des bibliothèques PDF les plus populaires pour lire des documents PDF en C#.
iText 7anciennement iText 7 Core, est une bibliothèque PDF permettant de programmer des documents PDF en .NET C# et Java. Il est disponible sous une licence open source(AGPL) et peuvent faire l'objet d'une licence pour des applications commerciales.
iText Core est une API de haut niveau qui fournit des méthodes simples pour générer et éditer des PDF de toutes les manières possibles. Avec iText 7 Core, vous pouvez diviser, fusionner, annoter, remplir des formulaires, signer numériquement et faire bien plus encore sur des fichiers PDF. iText 7 offre uneConvertisseur HTML vers PDF.
En savoir plus sur IronPDF est une API .NET et .NET Framework C# et Java qui est utilisée pour générer des documents PDF à partir de HTML, CSS et JavaScript soit à partir d'une URL, de fichiers HTML ou de chaînes HTML. IronPDF vous permet de manipuler des fichiers PDF existants comme la division, la fusion, l'annotation, la signature numérique, et bien plus encore.
IronPDF est enrichi de plus de 50 fonctionnalités permettant de créer, lire et modifier des fichiers PDF. Elle privilégie la rapidité, la facilité d'utilisation et la précision lorsqu'il s'agit de fournir des fichiers PDF professionnels de haute qualité, au pixel près, avec Adobe Acrobat Reader. L'API est bien documentée et de nombreux exemples de code source peuvent être trouvés sur son site Webpage d'exemples de code.
Nous allons utiliser l'IDE Visual Studio 2022 pour créer une application dans un premier temps. Visual Studio est l'IDE officiel pour le développement C#, et vous devez l'avoir installé. Vous pouvez le télécharger à partir du siteSite web de Microsoft Visual Studio s'il n'est pas installé.
Les étapes suivantes permettront de créer un nouveau projet appelé "DemoApp".
Ouvrez Visual Studio et cliquez sur "Créer un nouveau projet".
Sélectionnez "Application console" et cliquez sur "Suivant".
Définir le nom du projet.
Sélectionnez la version .NET. Choisissez la version stable .NET 6.0.
Une fois le projet créé, la bibliothèque IronPDF doit être installée dans le projet pour pouvoir l'utiliser. Suivez les étapes suivantes pour l'installer.
Ouvrez NuGet Package Manager, soit à partir de l'explorateur de solutions, soit à partir des outils.
Recherchez la bibliothèque IronPDF et sélectionnez-la pour le projet en cours. Cliquez sur Installer.
Ajouter l'espace de noms suivant en haut du fichier Program.cs
using IronPdf;
using IronPdf;
Imports IronPdf
Une fois le projet créé, la bibliothèque iText 7 doit être installée dans le projet pour être utilisée. Suivez les étapes pour l'installer.
Ouvrir le gestionnaire de paquets NuGet à partir de l'explorateur de solutions ou des outils.
Recherchez la bibliothèque iText 7 et sélectionnez-la pour le projet en cours. Cliquez sur installer.
Ajoutez les espaces de noms suivants en haut du fichier Program.cs
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf
Nous allons utiliser le fichier PDF suivant pour en extraire le texte. Il s'agit d'un document PDF de deux pages.
L'ouverture d'un fichier PDF à l'aide de la bibliothèque iText se fait en deux étapes. Tout d'abord, nous créons un objet PdfReader
et passons l'emplacement du fichier en paramètre. Nous utilisons ensuite la classe PdfDocument
pour créer un nouveau document PDF. Le code est le suivant :
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
Dim pdfReader As New PdfReader("sample.pdf")
Dim pdfDoc As New PdfDocument(pdfReader)
L'ouverture de fichiers PDF à l'aide d'IronPDF est facile. Utilisez la méthode FromFile
de la classe PdfDocument
pour ouvrir des PDF à partir de n'importe quel emplacement de fichier. Le code en une ligne suivant ouvre un fichier PDF pour en lire les données :
var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
Dim pdf = PdfDocument.FromFile("sample.pdf")
La lecture de données PDF n'est pas si simple dans la bibliothèque iText 7. Nous devons parcourir manuellement chaque page du document PDF pour en extraire le texte. Le code source suivant permet d'extraire le texte d'un document PDF page par page :
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)
Console.WriteLine(pageContent)
page += 1
Loop
pdfDoc.Close()
pdfReader.Close()
Il se passe beaucoup de choses dans le code ci-dessus. Tout d'abord, nous déclarons la stratégie d'extraction de texte, puis nous utilisons la méthode GetTextFromPage
de la classe PdfExtractor
pour lire le texte. Cette méthode accepte deux paramètres : le premier est la page du document PDF et le second est la stratégie. Pour obtenir la page du document PDF, utilisez l'instance de PdfDocument
pour appeler la méthode GetPage
et passez le numéro de page en paramètre. La sortie est renvoyée sous la forme d'une chaîne, qui est ensuite affichée sur l'écran de sortie de la console. Enfin, les objets PDFReader
et PdfDocument
sont fermés. Regardez également l'exemple de code suivant surextraire du texte d'un PDF à l'aide d'iText7.
Tout comme l'ouverture du fichier PDF était une ligne de code, la lecture du texte d'un fichier PDF est également un processus d'une seule ligne. La classe PDFDocument
fournit la méthode ExtractAllText
pourlire l'intégralité du contenu du PDF. la commande Console.WriteLine
est utilisée pour imprimer le texte à l'écran. Le code est le suivant :
string text = pdf.ExtractAllText();
Console.WriteLine(text);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
Le résultat est précis et ne comporte aucune erreur. Cependant, pour utiliser la méthode ExtractAllText
, vous devez avoir une licence car elle ne fonctionne qu'en mode production. Vous pouvez obtenir votre clé de licence d'essai pour 30 jours à partir de l'adresse suivantePage de licence d'essai d'IronPDF.
En comparaison, les deux bibliothèques donnent des résultats 100% exacts lors de l'extraction de texte à partir d'un document PDF. Ils sont identiques en termes de précision. Cependant, IronPDF est plus efficace en termes de performances et de lisibilité du code.
IronPDF ne nécessite que deux lignes de code pour réaliser la même tâche qu'iText. Il fournit des méthodes d'extraction de texte prêtes à l'emploi, sans qu'aucune logique supplémentaire ne doive être mise en œuvre. le code iText est un peu délicat, et il faut fermer les deux instances créées lors de l'ouverture d'un document PDF. En revanche, IronPDF efface automatiquement la mémoire une fois la tâche effectuée.
Dans cet article, nous avons examiné comment lire des documents PDF à l'aide de la bibliothèque iText en C#, puis nous l'avons comparée à IronPDF. Les deux bibliothèques donnent des résultats précis et proposent de nombreuses méthodes de manipulation des PDF. Ces deux bibliothèques permettent de créer, d'éditer et de lire des données dans des fichiers PDF.
iText est un logiciel libre dont l'utilisation est gratuite, mais assortie de restrictions. Il peut êtresous licence pour un usage commercial. IronPDF est également gratuit et peut êtresous licence pour les activités commerciales avec unessai gratuit de 30 jours disponible.
9 produits de l'API .NET pour vos documents de bureau