Extraiga texto o imágenes de documentos de OneNote usando Java

Podemos recopilar y organizar notas en forma de texto, dibujos, recortes de pantalla y comentarios de audio en el documento de OneNote. Ocasionalmente, es posible que necesitemos extraer texto o imágenes de documentos de OneNote mediante programación en aplicaciones Java. Dicha extracción nos permite reutilizar el texto o las imágenes extraídas por separado. En este artículo, aprenderemos cómo extraer texto o imágenes de documentos de OneNote usando Java.

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

API de Java para extraer texto o imágenes de OneNote

Para extraer texto e imágenes del documento OneNote, utilizaremos la API Aspose.Note for Java. Permite crear, leer y convertir documentos de OneNote mediante programación sin usar MS OneNote. Descargue el JAR de la API o agregue la siguiente configuración pom.xml en una aplicación Java basada en Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-note</artifactId>
    <version>22.1</version>
    <classifier>jdk17</classifier>
</dependency>

Extraiga todo el texto del documento de OneNote usando Java

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.class como argumento 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 Java.

// Este ejemplo de código muestra cómo extraer todo el texto del documento de OneNode.
// Cargue el documento en Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Recuperar texto
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extraiga todo el texto del documento de OneNote usando Java

Extraiga todo el texto del documento de OneNote usando Java

Obtenga texto de páginas específicas del documento de OneNote en Java

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.class como argumento para extraer páginas.
  3. Luego, obtenga una página específica por su índice de la lista de páginas.
  4. Después de eso, obtenga una lista de elementos de texto para la página usando el método GetChildNodes con RichText.class como argumento.
  5. 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 Java.

// Este ejemplo de código demuestra cómo extraer texto de una página específica de un documento de OneNode.
// Cargue el documento en Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obtener una lista de nodos de página
List<Page> pages = doc.getChildNodes(Page.class);

// Obtener página por índice
Page page = pages.get(0);

// Obtener texto de la página
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

// Mostrar texto
for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extract Text from a Specific Page of OneNote Document in Java

Podemos iterar sobre todas las páginas una por una y extraer el texto de cada página como se muestra en el ejemplo de código que se muestra a continuación:

// Este ejemplo de código muestra cómo extraer texto de las páginas de un documento de OneNode.
// Cargue el documento en Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obtener una lista de nodos de página
List<Page> pages = doc.getChildNodes(Page.class);

for (Page p : pages) {
  System.out.println("---- Page Started Here ----");

  List<RichText> textNodes = (List<RichText>) p.getChildNodes(RichText.class);

  for (RichText richText : textNodes) {
    if(!richText.getText().isBlank())
      System.out.println(richText.getText().toString());
  }

  System.out.println("---- Page Ended Here ----");
  System.out.println();
}
Obtenga texto de páginas específicas del documento de OneNote en Java

Obtenga texto de todas las páginas una por una en Java

Extraiga imágenes de un documento de OneNote usando Java

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.class como argumento.
  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 Java.

// Este ejemplo de código demuestra cómo extraer imágenes de un documento de OneNode.
// Cargue el documento en Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obtener todas las imágenes
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// recorrer la lista
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Mostrar propiedades de la imagen
  System.out.println("Width: " + image.getWidth());
  System.out.println("Height: " + image.getHeight());
  System.out.println("OriginalWidth: " + image.getOriginalWidth());
  System.out.println("OriginalHeight: " + image.getOriginalHeight());
  System.out.println("FileName: " + image.getFileName());
  System.out.println("LastModifiedTime: " + image.getLastModifiedTime());

  String outputFile = "ExtractImages_out" + i + "_" + image.getFileName();

  // Guarda la imagen
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Extraiga imágenes de un documento de OneNote usando Java

Extraiga imágenes de un documento de OneNote usando Java

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 de todo el documento de OneNote o de una página específica 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 Java API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también