Extraiga texto e imágenes de documentos de OneNote usando C#

Recopilamos, organizamos y colaboramos notas e ideas en documentos de OneNote. Es una especie de cuaderno digital que se utiliza para tomar notas y compartirlas con otros usuarios de OneNote. En ciertos casos, es posible que necesitemos extraer texto o imágenes de documentos de OneNote mediante programación sin usar MS OneNote. En este artículo, aprenderemos cómo extraer texto e imágenes de documentos de OneNote usando C#.

En este artículo se tratarán los siguientes temas:

Extractor de imágenes y texto de OneNote API de C#

Para extraer texto e imágenes del documento OneNote, usaremos la API Aspose.Note for .NET. Es una API de manipulación de documentos de OneNote rica en funciones que le permite crear, leer y convertir documentos de OneNote mediante programación. Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.Note

Extraiga todo el texto de los documentos de OneNote

Podemos extraer fácilmente todo el texto del documento de OneNote siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un archivo de OneNote utilizando la clase Document.
  2. Después de eso, llame al método GetChildNodes con RichText como NodeType para extraer texto.
  3. Finalmente, muestra el texto extraído.

El siguiente ejemplo de código muestra cómo extraer todo el texto de un archivo de OneNote mediante C#.

// Este ejemplo de código muestra cómo extraer todo el texto del documento de OneNote.
// Cargue el documento en 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);
Extraiga todo el texto de los documentos de OneNote.

Extraiga todo el texto de los documentos de OneNote.

Obtener texto de páginas específicas de documentos de OneNote

Podemos extraer texto de páginas específicas del documento de OneNote siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un archivo de OneNote utilizando la clase Document.
  2. A continuación, llame al método GetChildNodes con Page como NodeType para extraer páginas.
  3. Después de eso, obtenga una lista de elementos de texto usando el método GetChildNodes con RichText como NodeType.
  4. Finalmente, muestra el texto extraído.

El siguiente ejemplo de código muestra cómo extraer texto de una página específica de un archivo de OneNote mediante C#.

// Este ejemplo de código demuestra cómo obtener texto de una página específica.
// Obtener la primera página de la lista de nodos 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);
    }
}

Extraer imágenes de documentos de OneNote

También podemos extraer imágenes del documento de OneNote siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un archivo de OneNote utilizando la clase Document.
  2. Después de eso, obtenga una lista de imágenes usando el método GetChildNodes con Image como NodeType.
  3. Finalmente, muestre las propiedades de la imagen y guárdela en el disco local.

El siguiente ejemplo de código muestra cómo extraer imágenes de un archivo de OneNote mediante C#.

// Este ejemplo de código demuestra cómo extraer todas las imágenes.
// Obtener todos los nodos de imagen
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))
        {
            // Guardar bytes de imagen en un archivo
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
Extraiga imágenes de documentos de OneNote.

Extraiga imágenes de documentos de OneNote.

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido cómo extraer texto del documento de OneNote o de páginas específicas del documento. También hemos visto cómo extraer imágenes de documentos de OneNote mediante programación. Además, puede obtener más información sobre Aspose.Note for .NET API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también