OUTILS PDF

Comment lire des fichiers PDF en C# ?

Les fichiers PDF (Portable Document Format) sont largement utilisés pour l'échange de documents, et la capacité de lire leur contenu de manière programmatique est précieuse dans diverses applications. Les bibliothèques suivantes sont disponibles pour lire les PDF en C# : Poppler, Mupdf, Haru free PDF library, Xpdf, et Qpdf.

Dans cet article, nous allons explorer comment lire des fichiers PDF en C++ à l'aide de l'outil de ligne de commande Xpdf. Xpdf fournit une série d'utilitaires pour travailler avec des fichiers PDF, y compris l'extraction du contenu textuel. En intégrant Xpdf dans un programme C#, nous pouvons extraire le texte des fichiers PDF et le traiter par programme.

Xpdf - Outils de ligne de commande

Xpdf est une suite logicielle open-source qui fournit une collection d'outils et de bibliothèques pour travailler avec des fichiers PDF (Portable Document Format). La suite Xpdf comprend plusieurs utilitaires en ligne de commande et des bibliothèques C++ qui permettent de réaliser diverses fonctionnalités liées au PDF, telles que l'analyse, le rendu, l'extraction de texte, etc. Certains composants clés de Xpdf incluent pdfimages, pdftops, pdfinfo, et pdfimages. Ici, nous allons utiliser pdftotext pour lire des documents PDF.

pdftotext est un outil en ligne de commande qui extrait le contenu texte de fichiers PDF et le restitue sous forme de texte brut. Cet outil est particulièrement utile lorsqu'il s'agit d'extraire les informations textuelles des PDF pour les traiter ou les analyser ultérieurement. Les options vous permettent également de spécifier la ou les pages à partir desquelles le texte doit être extrait.

Conditions préalables

Pour qu'un projet de lecteur PDF puisse extraire du texte, il faut que les conditions suivantes soient réunies :

  1. Un compilateur C++ tel que GCC ou Clang installé sur votre système. Vous pouvez utiliser n'importe quel IDE qui prend en charge la programmation C#.

  2. Outils de ligne de commande Xpdf installés sur votre système. Xpdf est une collection d'utilitaires PDF qui peut être obtenue depuis le site web Xpdf. Téléchargez-le depuis le site Xpdf. Placer le répertoire bin de Xpdf dans le chemin des variables d'environnement, afin d'y accéder depuis n'importe où en utilisant l'outil en ligne de commande.

Étapes pour lire un fichier PDF en C

Étape 1 : Inclure les en-têtes nécessaires

Tout d'abord, ajoutons les fichiers d'en-tête nécessaires dans notre fichier main.cpp en haut :

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iostream>
#include <fstream>
C++

Étape 2 : Écrire le code C

Écrivons le code C# qui invoque l'outil de ligne de commande Xpdf pour extraire le contenu textuel du document PDF. Nous allons utiliser le fichier input.pdf suivant :

Comment lire des fichiers PDF en C++ : Figure 1

L'exemple de code est le suivant :

// Include C library
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>

using namespace std;

int main() {
    string pdfPath = "input.pdf";
    string outputFilePath = "output.txt";

    string command = "pdftotext " + pdfPath + " " + outputFilePath;
    int status = system(command.c_str());

    if (status == 0) {
        cout << "Text extraction successful." << endl;
    } else {
        cout << "Text extraction failed." << endl;
        return 1;
    }

    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 document:" << endl;
        cout << textContent << endl;
    } else {
        cout << "Failed to open output file." << endl;
        return 1;
    }

    return 0;
}
// Include C library
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>

using namespace std;

int main() {
    string pdfPath = "input.pdf";
    string outputFilePath = "output.txt";

    string command = "pdftotext " + pdfPath + " " + outputFilePath;
    int status = system(command.c_str());

    if (status == 0) {
        cout << "Text extraction successful." << endl;
    } else {
        cout << "Text extraction failed." << endl;
        return 1;
    }

    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 document:" << endl;
        cout << textContent << endl;
    } else {
        cout << "Failed to open output file." << endl;
        return 1;
    }

    return 0;
}
C++

Explication du code

Dans le code ci-dessus, nous définissons la variable pdfPath pour contenir le chemin vers le fichier PDF d'entrée. Assurez-vous de le remplacer par le chemin approprié vers votre document PDF d'entrée réel.

Nous définissons également la variable outputFilePath pour contenir le chemin vers le fichier texte de sortie qui sera généré par Xpdf.

Le code exécute la commande pdftotext en utilisant la fonction system, en passant le chemin du fichier PDF d'entrée et le chemin du fichier texte de sortie comme arguments de ligne de commande. La variable status capture le code de sortie de la commande.

Si pdftotext s'exécute avec succès (indiqué par un statut de 0), nous procédons à l'ouverture du fichier texte de sortie en utilisant ifstream. Nous lisons ensuite le contenu textuel ligne par ligne et le stockons dans la chaîne textContent.

Enfin, nous envoyons le contenu du texte extrait à la console à partir du fichier de sortie généré. 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());
C++

Étape 3 Compilation et exécution du programme

Compilez le code C# et exécutez l'exécutable. Si le pdftotext est ajouté au chemin du système des variables d'environnement, sa commande s'exécutera avec succès. Le programme génère le fichier texte de sortie et extrait le contenu textuel du document PDF. Le texte extrait est ensuite affiché sur la console.

Le résultat est le suivant

Comment lire des fichiers PDF en C++ : Figure 2

Lire des fichiers PDF dans C# ;

Bibliothèque IronPDF

Présentation de la bibliothèque IronPDF C# est une bibliothèque PDF C# populaire qui offre des fonctionnalités puissantes pour travailler avec des documents PDF. Il permet aux développeurs de créer, d'éditer, de modifier et de lire des fichiers PDF de manière programmatique.

La lecture de documents PDF à l'aide de la bibliothèque IronPDF est un processus simple. La bibliothèque propose diverses méthodes et propriétés qui permettent aux développeurs d'extraire du texte, des images, des métadonnées et d'autres données des pages PDF. Les informations extraites peuvent être utilisées pour un traitement, une analyse ou un affichage ultérieur au sein de l'application.

L'exemple de code suivant utilisera IronPDF pour lire des fichiers PDF :

// Rendering PDF documents to Images or Thumbnails
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);
    //...
}
// Rendering PDF documents to Images or Thumbnails
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);
    //...
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Pour plus d'informations détaillées sur la façon de lire des documents PDF, veuillez visiter le guide de lecture PDF IronPDF C#.

Conclusion

Dans cet article, nous avons appris à lire le contenu d'un document PDF en C# à l'aide de l'outil de ligne de commande Xpdf. En intégrant Xpdf dans un programme C#, nous pouvons extraire par programme le contenu textuel des fichiers PDF en une seconde. Cette approche nous permet de traiter et d'analyser le texte extrait au sein de nos applications C#.

Explorez IronPDF est une bibliothèque C# puissante qui facilite la lecture et la manipulation des fichiers PDF. Ses fonctionnalités étendues, sa facilité d'utilisation et son moteur de rendu fiable en font un choix populaire pour les développeurs qui travaillent avec des documents PDF dans leurs projets C# ;.

IronPDF est gratuit pour le développement et offre un essai gratuit pour une utilisation commerciale. Au-delà de cela, il doit être licencié à des fins commerciales.

Chaknith Bin
Ingénieur logiciel
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
Comment créer des fichiers PDF en C# ?
SUIVANT >
Comment convertir HTML en PDF en C#