Comment extraire du texte des PDF en .NET

Comment extraire du texte des PDF en .NET

Comment extraire du texte à partir de PDF en .NET

Ce guide couvre l’extraction de texte à partir des pages PDF en utilisant l’API absorber.


Prérequis

ExigenceDétail
Environnement d’exécution.NET 8.0 ou version ultérieure
Packagedotnet add package Aspose.Pdf.Foss

Extraire tout le texte d’une page

TextAbsorber collecte tout le texte d’une page en une seule chaîne. Créez une instance, transmettez‑la à Page.Accept, et lisez le résultat à partir de la propriété Text. C’est l’approche la plus simple lorsque vous avez besoin d’une sortie texte brut sans informations de position.

using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);

Extraire des fragments de texte structurés

Lorsque vous avez besoin de métadonnées de position, de police et de taille en plus du texte, utilisez TextFragmentAbsorber à la place. Chaque TextFragment expose ses coordonnées de délimitation via la propriété Position.

var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);

foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}

Rechercher avec une expression régulière

Passez un motif regex à TextFragmentAbsorber pour trouver le texte correspondant sur toutes les pages. Cela est utile pour localiser des numéros de téléphone, des dates ou d’autres modèles de données structurées dans un document.

var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
    Console.WriteLine(f.Text);

Classes clés

ClasseObjectif
TextAbsorberExtraire tout le texte sous forme de chaîne
TextFragmentAbsorberExtraction de texte structuré
TextFragmentTexte avec position et police
FontRepositoryRecherche de police

Voir aussi

 Français