Como extrair texto de PDFs em .NET
Como extrair texto de PDFs em .NET
Este guia abrange a extração de texto das páginas PDF utilizando o API absorvedor.
Precondições
| Requisitos | Detalhes |
|---|---|
| Tempo de execução | .NET 8.0 ou posterior |
| Pacote de produtos | dotnet add package Aspose.Pdf.Foss |
Extrair todo o texto de uma página
TextAbsorber Reúne todo o texto de uma página em uma única cadeia. Criar um Por exemplo, passa-o para o Page.Accept, e ler o resultado do relatório de Text propriedade. Esta é a abordagem mais simples quando você precisa de saída de texto sem posicionamento informação.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Extrair fragmentos de texto estruturados
Quando você precisa de posição, fonte e tamanho metadados ao lado do texto, uso de TextFragmentAbsorber Cada um. TextFragment expõe a sua Coordenadas de contorno através do Position propriedade.
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})");
}Pesquisa com uma expressão regular
Passe um padrão de regex para TextFragmentAbsorber para encontrar texto correspondente em toda a página de código-fonte: Este é útil para localizar números de telefone, datas ou outros dados. padrões de dados estruturados num documento.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Classe-chave
| Classe: | Objectivo: |
|---|---|
TextAbsorber | Extrair todo o texto como uma cadeia de caracteres . |
TextFragmentAbsorber | Extração de texto estruturado |
TextFragment | Texto com posição e fonte |
FontRepository | Busca de fontes |