Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Les fichiers PDF sont un format largement utilisé pour l'échange de documents en raison de leur capacité à préserver le formatage sur différentes plateformes. Dans diverses applications, la lecture programmatique du contenu des fichiers PDF devient inestimable.
Dans cet article, nous allons apprendre à visualiser le texte des fichiers PDF en C# à l'aide de l'outil en ligne de commande Xpdf
. Xpdf
fournit une suite d'utilitaires en ligne de commande et de bibliothèques C++ pour travailler avec des fichiers PDF, y compris l'extraction de texte. En intégrant Xpdf
dans notre programme de visualisation de PDF en C++, nous pouvons efficacement visualiser le contenu textuel des fichiers PDF et le traiter de manière programmatique.
Xpdf
- Bibliothèque C++ et outils de ligne de commandeXpdf est une suite logicielle open-source qui offre une gamme d'outils et de bibliothèques pour travailler avec des fichiers PDF. Il comprend divers utilitaires en ligne de commande et des bibliothèques C# qui permettent de réaliser des fonctionnalités liées au PDF, telles que l'analyse, le rendu, l'impression et l'extraction de texte. Les outils de ligne de commande de Xpdf permettent également de visualiser les fichiers PDF directement à partir du terminal.
L'un des composants clés de Xpdf est pdftotext
, qui est principalement connu pour extraire le contenu textuel des fichiers PDF. Cependant, lorsqu'il est utilisé en combinaison avec d'autres outils tels que pdftops
et pdfimages
, Xpdf
permet aux utilisateurs de visualiser le contenu PDF de différentes manières. L'outil pdftotext
s'avère précieux pour extraire des informations textuelles des PDF en vue d'un traitement ou d'une analyse ultérieurs, et il offre des options permettant de spécifier les pages à partir desquelles le texte doit être extrait.
Avant de commencer, assurez-vous que vous disposez des conditions préalables suivantes :
Un compilateur C++ tel que GCC ou Clang installé sur votre système. Nous utiliseronsIDE Code::Blocks la traduction doit être effectuée par un traducteur spécialisé dans le domaine de l'informatique.
Ouvrez Code::Blocks: Lancez l'IDE Code::Blocks sur votre ordinateur.
Créer un nouveau projet: Cliquez sur "Fichier" dans le menu supérieur et sélectionnez "Nouveau" dans le menu déroulant. Cliquez ensuite sur "Projet" dans le sous-menu.
Choisir le type de projet: Dans la fenêtre "Nouveau à partir d'un modèle", choisir "Application console", et cliquer sur "Go". Sélectionnez ensuite le langage "C/C++" et cliquez sur "Suivant"
**Dans le champ "Titre du projet", donnez un nom à votre projet(par exemple, "PDFViewer"). Choisissez l'emplacement où vous souhaitez enregistrer les fichiers du projet et cliquez sur "Suivant"
Tout d'abord, ajoutons les fichiers d'en-tête nécessaires à notre fichier main.cpp :
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
string pdfPath = "input.pdf";
string outputFilePath = "output.txt";
string pdfPath = "input.pdf";
string outputFilePath = "output.txt";
Dans la fonction main
, nous déclarons deux chaînes : pdfPath
et outputFilePath
. pdfPath
stocke le chemin vers le fichier PDF d'entrée, et outputFilePath
stocke le chemin où le texte extrait sera sauvegardé en tant que fichier texte.
Le fichier d'entrée est le suivant :
pdftotext
string command = "pdftotext " + pdfPath + " " + outputFilePath;
int status = system(command.c_str());
string command = "pdftotext " + pdfPath + " " + outputFilePath;
int status = system(command.c_str());
Ici, nous avons construit la commande pdftotext
en utilisant les variables pdfPath
et outputFilePath
pour ouvrir un fichier PDF afin d'en visualiser le contenu. La fonction system
est alors appelée pour exécuter la commande, et sa valeur de retour est stockée dans la variable status
.
Vérifier l'état de l'extraction de texte
if (status == 0)
{
cout << "Text extraction successful." << endl;
} else
{
cout << "Text extraction failed." << endl;
}
if (status == 0)
{
cout << "Text extraction successful." << endl;
} else
{
cout << "Text extraction failed." << endl;
}
Nous vérifions la variable status
pour voir si la commande pdftotext
s'est exécutée avec succès. Si status
est égal à 0, cela signifie que l'extraction de texte a réussi, et nous affichons un message de succès. Si le status
est différent de zéro, cela indique une erreur, et nous affichons un message d'erreur.
ifstream outputFile(outputFilePath);
if (outputFile.is_open()) {
string textContent;
string line;
while (getline(outputFile, line)) {
textContent += line + "\n";
}
outputFile.close();
cout << "Text content extracted from PDF:" << endl;
cout << textContent << endl;
} else {
cout << "Failed to open output file." << endl;
}
ifstream outputFile(outputFilePath);
if (outputFile.is_open()) {
string textContent;
string line;
while (getline(outputFile, line)) {
textContent += line + "\n";
}
outputFile.close();
cout << "Text content extracted from PDF:" << endl;
cout << textContent << endl;
} else {
cout << "Failed to open output file." << endl;
}
Dans l'exemple de code ci-dessus, nous ouvrons le fichier outputFile
(le fichier texte généré par pdftotext
)lit son contenu ligne par ligne et le stocke dans la chaîne textContent
. Enfin, nous fermons le fichier et imprimons le contenu du texte extrait sur la console.
Si vous n'avez pas besoin du fichier texte de sortie éditable ou si vous souhaitez libérer de l'espace disque, à la fin du programme, supprimez-le simplement à l'aide de la commande suivante avant de terminer la fonction principale :
remove(outputFilePath.c_str());
remove(outputFilePath.c_str());
Construire le code en utilisant la touche de raccourci "Ctrl+F9". Une fois la compilation réussie, l'exécution de l'exécutable permet d'extraire le contenu textuel du document PDF spécifié et de l'afficher sur la console. Le résultat est le suivant :
IronPDF for .NET C# Library (Bibliothèque IronPDF pour .NET) est une puissante bibliothèque PDF .NET C# qui permet aux utilisateurs de visualiser facilement les fichiers PDF dans leurs applications C#. S'appuyant sur le moteur de navigateur web Chromium, IronPDF rend et affiche avec précision le contenu des PDF, y compris les images, les polices et les mises en forme complexes. Grâce à son interface conviviale et à ses fonctionnalités étendues, les développeurs peuvent intégrer IronPDF en toute transparence dans leurs projets C#, ce qui permet aux utilisateurs de visualiser les documents PDF de manière efficace et interactive. Qu'il s'agisse d'afficher des rapports, des factures ou tout autre contenu PDF, IronPDF constitue une solution robuste pour créer des visionneuses PDF riches en fonctionnalités en C#.
Pour installer le paquet NuGet IronPDF dans Visual Studio, procédez comme suit :
Ouvrez Visual Studio: Lancez Visual Studio ou tout autre IDE de votre choix.
Créer ou ouvrir votre projet: Créez un nouveau projet C# ou ouvrez un projet existant dans lequel vous souhaitez installer le paquetage IronPDF.
Ouvrez le NuGet Package Manager: Dans Visual Studio, allez dans "Outils" > "NuGet Package Manager" > "Gérer les paquets NuGet pour la solution". Vous pouvez également cliquer sur l'explorateur de solutions et sélectionner "Manage NuGet Packages for Solution".
Recherche d'IronPDF: Dans la fenêtre "NuGet Package Manager", cliquez sur l'onglet "Browse", puis recherchez "IronPDF" dans la barre de recherche. Vous pouvez également consulter le sitePaquet NuGet IronPDF et téléchargez directement la dernière version d'"IronPDF".
Select IronPDF Package: Trouvez le package "IronPDF" et cliquez dessus pour le sélectionner pour votre projet.
Installer IronPDF: Cliquez sur le bouton "Installer" pour installer le paquet sélectionné.
:ProductInstall
En utilisant IronPDF, nous pouvons effectuer des opérations telles queextraire du texte et des images de documents PDF et les afficher dans la console. Le code suivant permet de réaliser cette tâche :
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Extracting Image and Text content from Pdf Documents
// open a 128-bit encrypted PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get all text to put in a search index
string text = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the precise text and images for each page in the document
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
text = pdf.ExtractTextFromPage(index);
List<AnyBitmap> images = pdf.ExtractBitmapsFromPage(index);
//...
}
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Extracting Image and Text content from Pdf Documents
// open a 128-bit encrypted PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get all text to put in a search index
string text = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the precise text and images for each page in the document
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
text = pdf.ExtractTextFromPage(index);
List<AnyBitmap> images = pdf.ExtractBitmapsFromPage(index);
//...
}
Imports IronPdf
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Extracting Image and Text content from Pdf Documents
' open a 128-bit encrypted PDF
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Get all text to put in a search index
Private text As String = pdf.ExtractAllText()
' Get all Images
Private allImages = pdf.ExtractAllImages()
' Or even find the precise text and images for each page in the document
For index = 0 To pdf.PageCount - 1
Dim pageNumber As Integer = index + 1
text = pdf.ExtractTextFromPage(index)
Dim images As List(Of AnyBitmap) = pdf.ExtractBitmapsFromPage(index)
'...
Next index
Pour de plus amples informations sur IronPDF, veuillez consulter la pageDocumentation IronPDF.
Dans cet article, nous avons appris à extraire et à visualiser le contenu d'un document PDF en C# à l'aide de l'outil de ligne de commande Xpdf. Cette approche nous permet de traiter et d'analyser le texte extrait au sein de nos applications C# de manière transparente.
Informations sur les licences IronPDF est libre d'utilisation à des fins de développement, mais les PDF sont générés avec un filigrane. Pour supprimer le filigrane et utiliser IronPDF à des fins commerciales, vous pouvez acheter une licence.
ALicence d'essai gratuite est également disponible pour être testé à des fins commerciales.
9 produits de l'API .NET pour vos documents de bureau