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");
PDF (EN ANGLAIS)(Format de document portable) sont largement utilisés pour l'échange de documents, et la possibilité 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(Format de document portable) des dossiers. 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. Parmi les composants clés de Xpdf figurent 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 textuel des 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 :
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#.
Outils de ligne de commande Xpdf installés sur votre système. Xpdf est une collection d'utilitaires PDF qui peut être obtenue sur le site web de Xpdf. Téléchargez-le à partir de la pageSite web de 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 :
É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 :
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. Veillez à remplacer cette variable par le chemin approprié vers votre document PDF d'entrée.
Nous définissons également la variable outputFilePath qui contient le chemin vers le fichier texte de sortie qui sera généré par Xpdf.
Le code exécute la commande pdftotext à l'aide de 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 indique le statut de sortie de la commande.
Si pdftotext s'exécute avec succès(indiqué par un état de 0)nous ouvrons ensuite le fichier texte de sortie en utilisant ifstream. Nous lisons ensuite le contenu du texte 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 pdftotext est ajouté au chemin 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
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 de puissantes fonctionnalités 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.
// 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
Pour obtenir des informations plus détaillées sur la lecture des documents PDF, veuillez consulter la page d'accueil du site Web de la Commission européenneGuide de lecture IronPDF C# PDF.
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#.
Explorer IronPDF est une puissante bibliothèque C# 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# ;.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Comment créer des fichiers PDF en C# ?
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