Extraia texto e imagens de documentos do OneNote usando C#

Coletamos, organizamos e colaboramos com notas e ideias em documentos do OneNote. É uma espécie de caderno digital usado para fazer anotações e compartilhar com outros usuários do OneNote. Em certos casos, talvez seja necessário extrair texto ou imagens de documentos do OneNote programaticamente sem usar o MS OneNote. Neste artigo, aprenderemos como extrair texto e imagens de documentos do OneNote usando C#.

Os seguintes tópicos serão abordados neste artigo:

API C# do extrator de texto e imagem do OneNote

Para extrair texto e imagens do documento OneNote, usaremos a API Aspose.Note para .NET. É uma API de manipulação de documentos do OneNote rica em recursos que permite criar, ler e converter documentos do OneNote programaticamente. Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Note

Extraia todo o texto dos documentos do OneNote

Podemos extrair facilmente todo o texto do documento do OneNote seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um arquivo do OneNote usando a classe Document.
  2. Depois disso, chame o método GetChildNodes com RichText como NodeType para extrair o texto.
  3. Por fim, mostre o texto extraído.

O exemplo de código a seguir mostra como extrair todo o texto de um arquivo do OneNote usando C#.

// Este exemplo de código demonstra como extrair todo o texto do documento do OneNote.
// Carregue o documento em Aspose.Note.
Document oneFile = new Document(@"C:\Files\Note\Aspose.one");

// Recuperar texto
string text = string.Join(Environment.NewLine, oneFile.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

// Imprimir texto
Console.WriteLine(text);
Extraia todo o texto dos documentos do OneNote.

Extraia todo o texto dos documentos do OneNote.

Obter texto de páginas específicas de documentos do OneNote

Podemos extrair texto de páginas específicas do documento do OneNote seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um arquivo do OneNote usando a classe Document.
  2. Em seguida, chame o método GetChildNodes com Page como NodeType para extrair páginas.
  3. Depois disso, obtenha uma lista de itens de texto usando o método GetChildNodes com RichText como NodeType.
  4. Por fim, mostre o texto extraído.

O exemplo de código a seguir mostra como extrair texto de uma página específica de um arquivo do OneNote usando C#.

// Este exemplo de código demonstra como obter texto de uma página específica.
// Obter a primeira página da lista de nós de página
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();

if (page != null)
{
    // Recuperar texto
    IList<RichText> textNodes = page.GetChildNodes<RichText>();

    foreach (RichText t in textNodes)
    {
        // Imprimir texto
        Console.WriteLine(t.Text);
    }
}

Extrair imagens de documentos do OneNote

Também podemos extrair imagens do documento do OneNote seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um arquivo do OneNote usando a classe Document.
  2. Depois disso, obtenha uma lista de imagens usando o método GetChildNodes com Image como NodeType.
  3. Por fim, mostre as propriedades da imagem e salve no disco local.

O exemplo de código a seguir mostra como extrair imagens de um arquivo do OneNote usando C#.

// Este exemplo de código demonstra como extrair todas as imagens.
// Obter todos os nós de imagem
IList<Aspose.Note.Image> nodes = oneFile.GetChildNodes<Aspose.Note.Image>();

foreach (Aspose.Note.Image image in nodes)
{
    Console.WriteLine("Width: {0}", image.Width);
    Console.WriteLine("Height: {0}", image.Height);
    Console.WriteLine("OriginalWidth: {0}", image.OriginalWidth);
    Console.WriteLine("OriginalHeight: {0}", image.OriginalHeight);
    Console.WriteLine("FileName: {0}", image.FileName);
    Console.WriteLine("LastModifiedTime: {0}", image.LastModifiedTime);

    using (MemoryStream stream = new MemoryStream(image.Bytes))
    {
        using (Bitmap bitMap = new Bitmap(stream))
        {
            // Salvar bytes de imagem em um arquivo
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
Extraia imagens de documentos do OneNote.

Extraia imagens de documentos do OneNote.

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como extrair texto do documento do OneNote ou de páginas específicas do documento. Também vimos como extrair imagens de documentos do OneNote programaticamente. Além disso, você pode aprender mais sobre Aspose.Note para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também