Extrahieren Sie Text oder Bilder aus OneNote-Dokumenten mit Java

Wir können Notizen in Form von Text, Zeichnungen, Bildschirmausschnitten und Audiokommentaren im OneNote-Dokument sammeln und organisieren. Gelegentlich müssen wir Text oder Bilder aus OneNote-Dokumenten programmgesteuert in Java-Anwendungen extrahieren. Eine solche Extraktion ermöglicht es uns, den extrahierten Text oder die extrahierten Bilder separat wiederzuverwenden. In diesem Artikel erfahren Sie, wie Sie mit Java Text oder Bilder aus OneNote-Dokumenten extrahieren.

Folgende Themen sollen in diesem Artikel behandelt werden:

Java-API zum Extrahieren von Text oder Bildern aus OneNote

Zum Extrahieren von Text und Bildern aus dem Dokument OneNote verwenden wir die API Aspose.Note for Java. Es ermöglicht das programmgesteuerte Erstellen, Lesen und Konvertieren von OneNote-Dokumenten ohne Verwendung von MS OneNote. Bitte entweder die JAR-Datei der API herunterladen oder die folgende pom.xml-Konfiguration in einer Maven-basierten Java-Anwendung hinzufügen.

<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>

Extrahieren Sie den gesamten Text aus OneNote-Dokument mit Java

Wir können ganz einfach den gesamten Text aus dem OneNote-Dokument extrahieren, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine OneNote-Datei mit der Klasse Document.
  2. Rufen Sie danach die Methode GetChildNodes mit RichText.class als Argument auf, um Text zu extrahieren.
  3. Zeigen Sie schließlich den extrahierten Text an.

Das folgende Codebeispiel zeigt, wie Sie den gesamten Text aus einer OneNote-Datei mit Java extrahieren.

// Dieses Codebeispiel zeigt, wie Sie den gesamten Text aus einem OneNode-Dokument extrahieren.
// Laden Sie das Dokument in Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Texte abrufen
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extrahieren Sie den gesamten Text aus OneNote-Dokument mit Java

Extrahieren Sie den gesamten Text aus OneNote-Dokument mit Java

Abrufen von Text aus bestimmten Seiten eines OneNote-Dokuments in Java

Wir können Text aus bestimmten Seiten des OneNote-Dokuments extrahieren, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine OneNote-Datei mit der Klasse Document.
  2. Rufen Sie als Nächstes die Methode GetChildNodes mit Page.class als Argument auf, um Seiten zu extrahieren.
  3. Rufen Sie dann eine bestimmte Seite anhand ihres Index aus der Seitenliste ab.
  4. Rufen Sie danach eine Liste mit Textelementen für die Seite ab, indem Sie die Methode GetChildNodes mit RichText.class als Argument verwenden.
  5. Zeigen Sie schließlich den extrahierten Text an.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von Java Text aus einer bestimmten Seite einer OneNote-Datei extrahieren.

// Dieses Codebeispiel zeigt, wie Text aus einer bestimmten Seite eines OneNode-Dokuments extrahiert wird.
// Laden Sie das Dokument in Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Liste der Seitenknoten abrufen
List<Page> pages = doc.getChildNodes(Page.class);

// Holen Sie sich Seite nach Index
Page page = pages.get(0);

// Holen Sie sich den Text der Seite
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

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

Wir können alle Seiten einzeln durchlaufen und den Text für jede Seite extrahieren, wie im folgenden Codebeispiel gezeigt:

// Dieses Codebeispiel zeigt, wie Sie Text aus Seiten eines OneNode-Dokuments extrahieren.
// Laden Sie das Dokument in Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Liste der Seitenknoten abrufen
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();
}
Abrufen von Text aus bestimmten Seiten eines OneNote-Dokuments in Java

Holen Sie sich Text von allen Seiten einzeln in Java

Extrahieren Sie Bilder aus OneNote-Dokumenten mit Java

Wir können auch Bilder aus dem OneNote-Dokument extrahieren, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine OneNote-Datei mit der Klasse Document.
  2. Rufen Sie danach eine Liste von Bildern ab, indem Sie die Methode GetChildNodes mit Image.class als Argument verwenden.
  3. Zeigen Sie schließlich die Bildeigenschaften an und speichern Sie sie auf der lokalen Festplatte.

Das folgende Codebeispiel zeigt, wie Bilder mithilfe von Java aus einer OneNote-Datei extrahiert werden.

// Dieses Codebeispiel zeigt, wie Sie Bilder aus einem OneNode-Dokument extrahieren.
// Laden Sie das Dokument in Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Holen Sie sich alle Bilder
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// Gehen Sie die Liste durch
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Bildeigenschaften anzeigen
  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();

  // Speichern Sie das Bild
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Extrahieren Sie Bilder aus OneNote-Dokumenten mit Java

Extrahieren Sie Bilder aus OneNote-Dokumenten mit Java

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie Sie Text aus dem gesamten OneNote-Dokument oder aus einer bestimmten Seite des Dokuments extrahieren. Wir haben auch gesehen, wie man Bilder aus OneNote-Dokumenten programmgesteuert extrahiert. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Note für die Java-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch