Extraire du texte ou des images de documents OneNote à l'aide de Java

Nous pouvons collecter et organiser des notes sous forme de texte, de dessins, de coupures d’écran et de commentaires audio dans le document OneNote. Nous pouvons parfois avoir besoin d’extraire du texte ou des images de documents OneNote par programmation dans des applications Java. Une telle extraction nous permet de réutiliser séparément le texte ou les images extraits. Dans cet article, nous allons apprendre à extraire du texte ou des images de documents OneNote à l’aide de Java.

Les sujets suivants seront traités dans cet article :

API Java pour extraire du texte ou des images de OneNote

Pour extraire du texte et des images du document OneNote, nous utiliserons l’API Aspose.Note for Java. Il permet de créer, de lire et de convertir des documents OneNote par programmation sans utiliser MS OneNote. Veuillez soit télécharger le JAR de l’API ou ajouter la configuration pom.xml suivante dans une application Java basée sur 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>

Extraire tout le texte du document OneNote à l’aide de Java

Nous pouvons facilement extraire tout le texte du document OneNote en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un fichier OneNote à l’aide de la classe Document.
  2. Après cela, appelez la méthode GetChildNodes avec RichText.class comme argument pour extraire le texte.
  3. Enfin, affichez le texte extrait.

L’exemple de code suivant montre comment extraire tout le texte d’un fichier OneNote à l’aide de Java.

// Cet exemple de code montre comment extraire tout le texte d'un document OneNode.
// Chargez le document dans Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Récupérer du texte
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extraire tout le texte du document OneNote à l'aide de Java

Extraire tout le texte du document OneNote à l’aide de Java

Obtenir du texte à partir de pages spécifiques d’un document OneNote en Java

Nous pouvons extraire du texte de pages spécifiques du document OneNote en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un fichier OneNote à l’aide de la classe Document.
  2. Ensuite, appelez la méthode GetChildNodes avec Page.class comme argument pour extraire les pages.
  3. Ensuite, obtenez une page spécifique par son index à partir de la liste des pages.
  4. Après cela, obtenez une liste d’éléments de texte pour la page en utilisant la méthode GetChildNodes avec RichText.class comme argument.
  5. Enfin, affichez le texte extrait.

L’exemple de code suivant montre comment extraire du texte d’une page spécifique d’un fichier OneNote à l’aide de Java.

// Cet exemple de code montre comment extraire du texte d'une page spécifique d'un document OneNode.
// Chargez le document dans Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obtenir la liste des nœuds de page
List<Page> pages = doc.getChildNodes(Page.class);

// Obtenir la page par index
Page page = pages.get(0);

// Obtenir le texte de la page
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

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

Nous pouvons parcourir toutes les pages une par une et extraire le texte de chaque page comme indiqué dans l’exemple de code ci-dessous :

// Cet exemple de code montre comment extraire du texte des pages d'un document OneNode.
// Chargez le document dans Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obtenir la liste des nœuds de page
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();
}
Obtenir du texte à partir de pages spécifiques d'un document OneNote en Java

Obtenez le texte de toutes les pages une par une en Java

Extraire des images d’un document OneNote à l’aide de Java

Nous pouvons également extraire des images du document OneNote en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un fichier OneNote à l’aide de la classe Document.
  2. Après cela, obtenez une liste d’images en utilisant la méthode GetChildNodes avec Image.class comme argument.
  3. Enfin, affichez les propriétés de l’image et enregistrez-les sur le disque local.

L’exemple de code suivant montre comment extraire des images d’un fichier OneNote à l’aide de Java.

// Cet exemple de code montre comment extraire des images d'un document OneNode.
// Chargez le document dans Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obtenir toutes les images
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

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

  // Afficher les propriétés de l'image
  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();

  // Enregistrer l'image
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Extraire des images d'un document OneNote à l'aide de Java

Extraire des images d’un document OneNote à l’aide de Java

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitations d’évaluation.

Conclusion

Dans cet article, nous avons appris à extraire du texte de l’ensemble du document OneNote ou d’une page spécifique du document. Nous avons également vu comment extraire des images de documents OneNote par programmation. En outre, vous pouvez en savoir plus sur Aspose.Note for Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également