Com extreure text de PDFs a .NET
Com extreure text de PDFs a .NET
Aquesta guia cobreix l’extracció de text de les pàgines PDF utilitzant l’API absorber.
Requisits previs
| Requisit | Detall |
|---|---|
| Entorn d’execució | .NET 8.0 o posterior |
| Paquet | dotnet add package Aspose.Pdf.Foss |
Extreu tot el text d’una pàgina
TextAbsorber recopila tot el text d’una pàgina en una única cadena. Creeu una
instància, passeu-la a Page.Accept i llegiu el resultat de la propietat Text.
Aquest és l’enfocament més senzill quan necessiteu una sortida de text pla sense informació posicional
informació.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Extreu fragments de text estructurat
Quan necessiteu metadades de posició, tipus de lletra i mida juntament amb el text, utilitzeu TextFragmentAbsorber en el seu lloc. Cada TextFragment exposa les seves coordenades de límit a través de la propietat 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})");
}Cerca amb una expressió regular
Passeu un patró regex a TextFragmentAbsorber per trobar text coincident a través de
totes les pàgines. Això és útil per localitzar números de telèfon, dates, o altres
patrons de dades estructurades dins d’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 clau
| Classe | Propòsit |
|---|---|
TextAbsorber | Extreu tot el text com a cadena |
TextFragmentAbsorber | Extracció de text estructurat |
TextFragment | Text amb posició i tipografia |
FontRepository | Cerca de tipografia |