Extrair texto de SuperScripts e SubScripts de PDF

Extrair Texto de SuperScripts e SubScripts

Extrair texto de um documento PDF é uma tarefa comum. No entanto, nesse texto, quando extraído, os SuperScripts e SubScripts contidos nele, que são típicos de documentos e artigos técnicos, podem não ser exibidos. Um SubScript ou SuperScript é um caractere, número ou letra colocado abaixo ou acima de uma linha regular de texto. Geralmente, é menor que o restante do texto.

SubScripts e SuperScripts são mais frequentemente usados em fórmulas, expressões matemáticas e especificações de compostos químicos. É difícil editá-los quando pode haver muitos deles na mesma passagem de texto. Em uma das últimas versões, a biblioteca Aspose.PDF for .NET adicionou suporte para extrair texto de SuperScripts e SubScripts de PDF.

Use a classe TextFragmentAbsorber e você já pode fazer qualquer coisa com o texto encontrado, ou seja, você pode simplesmente usar todo o texto. Tente o próximo trecho de código:

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "SuperScriptExample.pdf"))
    {
        // Create an absorber
        var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
        document.Pages[1].Accept(absorber);
        using (StreamWriter writer = new StreamWriter(dataDir + "SuperScriptExample_out.txt"))
        {
            // Write the extracted text in text file
            writer.WriteLine(absorber.Text);
        }
    }
}

Ou use TextFragments separadamente e faça todo tipo de manipulações com eles, por exemplo, classificar por coordenadas ou por tamanho.

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "SuperScriptExample.pdf"))
    {
        // Create an absorber
        var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
        document.Pages[1].Accept(absorber);
        using (StreamWriter writer = new StreamWriter(dataDir + "SuperScriptExample_out.txt"))
        {
            foreach (var textFragment in absorber.TextFragments)
            {
                // Write the extracted text in text file
                writer.Write(textFragment.Text);
            }

        }
    }
}