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
- Extraiga todo el texto de OneNote usando Java
- Obtenga texto de páginas específicas de OneNote en Java
- Extraer imágenes de OneNote usando Java
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:
- En primer lugar, cargue un archivo de OneNote utilizando la clase Document.
- Después de eso, llame al método GetChildNodes con RichText.class como argumento para extraer texto.
- 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());
}
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:
- En primer lugar, cargue un archivo de OneNote utilizando la clase Document.
- A continuación, llame al método GetChildNodes con Page.class como argumento para extraer páginas.
- Luego, obtenga una página específica por su índice de la lista de páginas.
- 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.
- 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());
}
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();
}
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:
- En primer lugar, cargue un archivo de OneNote utilizando la clase Document.
- Después de eso, obtenga una lista de imágenes usando el método GetChildNodes con Image.class como argumento.
- 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);
}
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.