Estrai testo o immagini da documenti OneNote utilizzando Java

Possiamo raccogliere e organizzare le note sotto forma di testo, disegni, ritagli di schermate e commenti audio nel documento di OneNote. Occasionalmente potrebbe essere necessario estrarre testo o immagini dai documenti di OneNote a livello di codice nelle applicazioni Java. Tale estrazione ci consente di riutilizzare separatamente il testo o le immagini estratti. In questo articolo impareremo come estrarre testo o immagini dai documenti di OneNote utilizzando Java.

In questo articolo verranno trattati i seguenti argomenti:

API Java per estrarre testo o immagini da OneNote

Per estrarre testo e immagini dal documento OneNote, utilizzeremo l’API Aspose.Note per Java. Consente di creare, leggere e convertire documenti OneNote a livello di codice senza utilizzare MS OneNote. Si prega di scaricare il JAR dell’API o aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su 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>

Estrai tutto il testo dal documento OneNote utilizzando Java

Possiamo facilmente estrarre tutto il testo dal documento OneNote seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un file OneNote utilizzando la classe Document.
  2. Successivamente, chiama il metodo GetChildNodes con RichText.class come argomento per estrarre il testo.
  3. Infine, mostra il testo estratto.

L’esempio di codice seguente mostra come estrarre tutto il testo da un file di OneNote usando Java.

// Questo esempio di codice mostra come estrarre tutto il testo dal documento OneNode.
// Carica il documento in Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Recupera testo
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Estrai tutto il testo dal documento OneNote utilizzando Java

Estrai tutto il testo dal documento OneNote utilizzando Java

Ottieni testo da pagine specifiche del documento OneNote in Java

Possiamo estrarre il testo da pagine specifiche del documento OneNote seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un file OneNote utilizzando la classe Document.
  2. Quindi, chiama il metodo GetChildNodes con Page.class come argomento per estrarre le pagine.
  3. Quindi, ottieni una pagina specifica in base al suo indice dall’elenco di pagine.
  4. Successivamente, ottieni un elenco di elementi di testo per la pagina utilizzando il metodo GetChildNodes con RichText.class come argomento.
  5. Infine, mostra il testo estratto.

L’esempio di codice seguente mostra come estrarre il testo da una pagina specifica di un file di OneNote usando Java.

// Questo esempio di codice illustra come estrarre testo da una pagina specifica di un documento OneNode.
// Carica il documento in Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Ottieni l'elenco dei nodi della pagina
List<Page> pages = doc.getChildNodes(Page.class);

// Ottieni pagina per indice
Page page = pages.get(0);

// Ottieni il testo della pagina
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

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

Possiamo scorrere tutte le pagine una per una ed estrarre il testo per ciascuna pagina come mostrato nell’esempio di codice riportato di seguito:

// Questo esempio di codice illustra come estrarre testo dalle pagine di un documento OneNode.
// Carica il documento in Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Ottieni l'elenco dei nodi della pagina
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();
}
Ottieni testo da pagine specifiche del documento OneNote in Java

Ottieni il testo da tutte le pagine una per una in Java

Estrai immagini dal documento OneNote utilizzando Java

Possiamo anche estrarre immagini dal documento OneNote seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un file OneNote utilizzando la classe Document.
  2. Successivamente, ottieni un elenco di immagini utilizzando il metodo GetChildNodes con Image.class come argomento.
  3. Infine, mostra le proprietà dell’immagine e salva su disco locale.

L’esempio di codice seguente mostra come estrarre immagini da un file OneNote usando Java.

// Questo esempio di codice illustra come estrarre immagini dal documento OneNode.
// Carica il documento in Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Ottieni tutte le immagini
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// Scorri l'elenco
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Mostra le proprietà dell'immagine
  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();

  // Salva l'immagine
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Estrai immagini dal documento OneNote utilizzando Java

Estrai immagini dal documento OneNote utilizzando Java

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato come estrarre il testo dall’intero documento di OneNote o da una pagina specifica del documento. Abbiamo anche visto come estrarre le immagini dai documenti di OneNote a livello di codice. Inoltre, puoi saperne di più su Aspose.Note per l’API Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche