Extrair Texto de Arquivo PDF

Contents
[ ]

Neste artigo, vamos explorar os detalhes da extração de texto de um arquivo PDF. Todos esses recursos de extração estão disponíveis em um só lugar, na classe PdfExtractor. Vamos ver como usar esses recursos em nosso código.

A classe PdfExtractor fornece três tipos de capacidades de extração. Essas três categorias são Texto, Imagens e Anexos. Para realizar a extração em cada uma dessas três categorias, o PdfExtractor fornece vários métodos que trabalham juntos para fornecer a saída final.

Por exemplo, para extrair texto, você pode usar três métodos, ou seja, ExtractText, GetText, HasNextPageText e GetNextPageText. Agora, para começar a extrair texto, primeiro você precisa chamar o método ExtractText; isso extrairá o texto do arquivo PDF e o armazenará na memória. Depois disso, o método GetText pegará esse texto extraído e o salvará no disco em um local especificado em um arquivo. O método HasNextPageText ajuda você a percorrer cada página e verificar se a próxima página contém algum texto ou não. Se contiver algum texto, o GetNextPageText ajudará você a salvar o texto de uma página individual no arquivo.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractText()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Text();

    bool wholeText = true;
    // Create an object of the PdfExtractor class
    using (var pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor())
    {
        // Bind PDF document
        pdfExtractor.BindPdf(dataDir + "sample.pdf");

        // ExtractText
        pdfExtractor.ExtractText();

        if (!wholeText)
        {
            pdfExtractor.GetText(dataDir + "sample.txt");
        }
        else
        {
            // Extract the text into separate files
            int pageNumber = 1;
            while (pdfExtractor.HasNextPageText())
            {
                pdfExtractor.GetNextPageText($"{dataDir}\\sample{pageNumber:D3}.txt");
                pageNumber++;
            }
        }
    }
}

Para Extrair o Modo de Extração de Texto, use o seguinte código:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractTextExtractonMode()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Text();

    bool wholeText = true;
    // Create an object of the PdfExtractor class
    using (var pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor())
    {
        // Bind PDF document
        pdfExtractor.BindPdf(dataDir + "ExtractTextExtractonMode.pdf");

        // ExtractText
        // pdfExtractor.ExtractTextMode = 0; // pure mode
        pdfExtractor.ExtractTextMode = 1; // raw mode
        pdfExtractor.ExtractText();

        if (!wholeText)
        {
            pdfExtractor.GetText(dataDir + "ExtractTextExtractonMode_out.txt");
        }
        else
        {
            // Extract the text into separate files
            int pageNumber = 1;
            while (pdfExtractor.HasNextPageText())
            {
                pdfExtractor.GetNextPageText($"{dataDir}\\sample{pageNumber:D3}.txt");
                pageNumber++;
            }
        }
    }
}