Comment lire un fichier PDF en C#

La lecture de différents types de documents par programmation est une pratique courante de nos jours. Dans ce guide pratique, vous apprendrez à lire le fichier PDF en C# en suivant les étapes simples ci-dessous.

Étapes pour lire un fichier PDF en C#

  1. Créer une application console C# vide dans Visual Studio
  2. Ajoutez une référence à Aspose.PDF for .NET en l’installant à partir de NuGet.org
  3. Charger un fichier PDF existant dans l’objet Document
  4. Initialiser la classe TextAbsorber pour lire le fichier PDF
  5. Extrayez le texte PDF et écrivez-le dans la sortie de la console
  6. Parcourir la page PDF Resources pour trouver des images
  7. Créer un objet FileStream avec l’image trouvée
  8. Enregistrer l’image sur le disque local

L’extrait de code ci-dessous explique comment ouvrir et lire un fichier PDF en C#. Vous pourrez lire du texte et extraire des images d’un fichier PDF en l’utilisant. L’API propose la classe TextAbsorber qui est utilisée pour lire le texte d’un fichier PDF et vous pouvez obtenir les résultats extraits via l’objet Text. Il est également possible de trouver des images et de les enregistrer sur le disque local en parcourant les ressources de la page PDF, comme indiqué ci-dessous.

Code pour lire un fichier PDF en C#

using System;
using System.IO;
// Add reference to Aspose.PDF for .NET API
// Use following namespace to read PDF file
using Aspose.Pdf;
namespace ReadPDFFiles
{
class Program
{
static void Main(string[] args)
{
// Set license before reading PDF file
Aspose.Pdf.License AsposePDFLicense = new Aspose.Pdf.License();
AsposePDFLicense.SetLicense(@"c:\asposelicense\license.lic");
string inFile = @"c:\ReadPDFFileInCSharp.pdf";
// Load an existing PDF file in Document object to read
Document pdf = new Document(inFile);
// 1. Read text from PDF file
// Initialize TextAbsorber Class to read Text from PDF file
Aspose.Pdf.Text.TextAbsorber textAbsorber = new Aspose.Pdf.Text.TextAbsorber();
// Call Page.Accept() method to let TextAbsorber find text in PDF Pages
pdf.Pages.Accept(textAbsorber);
// Write the extracted text to Console output
Console.WriteLine(textAbsorber.Text);
// 2. Extract images from PDF file
int imageIndex = 1;
// Iterate through PDF pages
foreach (var pdfPage in pdf.Pages)
{
// Check available images while reading the PDF
foreach (XImage image in pdfPage.Resources.Images)
{
// Create file stream for found image
FileStream extractedImage = new FileStream(String.Format("Page{0}_Image{1}.jpg", pdfPage.Number, imageIndex), FileMode.Create);
// Save output image to the disk
image.Save(extractedImage, System.Drawing.Imaging.ImageFormat.Jpeg);
// Close stream
extractedImage.Close();
imageIndex++;
}
// Reset image index
imageIndex = 1;
}
}
}
}

Dans le sujet précédent, vous avez appris comment traiter de gros fichiers PDF en C#. Les informations ci-dessus et l’exemple de code vous permettront d’ouvrir et de lire des fichiers PDF en C# afin d’extraire du texte et des images.

 Français