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#
- Créer une application console C# vide dans Visual Studio
- Ajoutez une référence à Aspose.PDF for .NET en l’installant à partir de NuGet.org
- Charger un fichier PDF existant dans l’objet Document
- Initialiser la classe TextAbsorber pour lire le fichier PDF
- Extrayez le texte PDF et écrivez-le dans la sortie de la console
- Parcourir la page PDF Resources pour trouver des images
- Créer un objet FileStream avec l’image trouvée
- 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.