Como extrair texto de PDFs em .NET

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

RequisitosDetalhes
Tempo de execução.NET 8.0 ou posterior
Pacote de produtosdotnet 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:
TextAbsorberExtrair todo o texto como uma cadeia de caracteres .
TextFragmentAbsorberExtração de texto estruturado
TextFragmentTexto com posição e fonte
FontRepositoryBusca de fontes

Ver também:

 Português