Wyodrębnij tekst lub obrazy z dokumentów programu OneNote przy użyciu języka Java

W dokumencie programu OneNote możemy gromadzić i organizować notatki w postaci tekstu, rysunków, wycinków ekranu i komentarzy dźwiękowych. Czasami może zaistnieć potrzeba programowego wyodrębnienia tekstu lub obrazów z dokumentów programu OneNote w aplikacjach Java. Taka ekstrakcja pozwala nam na ponowne wykorzystanie wyodrębnionego tekstu lub obrazów osobno. W tym artykule dowiemy się, jak wyodrębnić tekst lub obrazy z dokumentów programu OneNote za pomocą języka Java.

W tym artykule zostaną omówione następujące tematy:

Java API do wyodrębniania tekstu lub obrazów z programu OneNote

Do wyodrębniania tekstu i obrazów z dokumentu OneNote będziemy używać interfejsu API Aspose.Note for Java. Pozwala programowo tworzyć, czytać i konwertować dokumenty OneNote bez użycia MS OneNote. Pobierz plik JAR interfejsu API lub dodaj następującą konfigurację pom.xml w aplikacji Java opartej na 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>

Wyodrębnij cały tekst z dokumentu programu OneNote przy użyciu języka Java

Możemy łatwo wyodrębnić cały tekst z dokumentu OneNote, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
  2. Następnie wywołaj metodę GetChildNodes z RichText.class jako argumentem, aby wyodrębnić tekst.
  3. Na koniec pokaż wyodrębniony tekst.

Poniższy przykładowy kod pokazuje, jak wyodrębnić cały tekst z pliku programu OneNote przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak wyodrębnić cały tekst z dokumentu OneNode.
// Załaduj dokument do Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Pobierz tekst
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Wyodrębnij cały tekst z dokumentu programu OneNote przy użyciu języka Java

Wyodrębnij cały tekst z dokumentu programu OneNote przy użyciu języka Java

Pobierz tekst z określonych stron dokumentu OneNote w Javie

Możemy wyodrębnić tekst z określonych stron dokumentu OneNote, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
  2. Następnie wywołaj metodę GetChildNodes z argumentem Page.class, aby wyodrębnić strony.
  3. Następnie pobierz określoną stronę według jej indeksu z listy stron.
  4. Następnie pobierz listę elementów tekstowych dla strony, używając metody GetChildNodes z argumentem RichText.class.
  5. Na koniec pokaż wyodrębniony tekst.

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z określonej strony pliku programu OneNote przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak wyodrębnić tekst z określonej strony dokumentu OneNode.
// Załaduj dokument do Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Uzyskaj listę węzłów strony
List<Page> pages = doc.getChildNodes(Page.class);

// Pobierz stronę według indeksu
Page page = pages.get(0);

// Pobierz tekst strony
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

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

Możemy przeglądać wszystkie strony jedna po drugiej i wyodrębniać tekst dla każdej strony, jak pokazano w przykładzie kodu podanym poniżej:

// Ten przykład kodu demonstruje, jak wyodrębnić tekst ze stron dokumentu OneNode.
// Załaduj dokument do Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Uzyskaj listę węzłów strony
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();
}
Pobierz tekst z określonych stron dokumentu OneNote w Javie

Pobierz tekst ze wszystkich stron jeden po drugim w Javie

Wyodrębnij obrazy z dokumentu programu OneNote przy użyciu języka Java

Możemy również wyodrębnić obrazy z dokumentu OneNote, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
  2. Następnie pobierz listę obrazów za pomocą metody GetChildNodes z argumentem Image.class.
  3. Na koniec pokaż właściwości obrazu i zapisz na dysku lokalnym.

Poniższy przykładowy kod pokazuje, jak wyodrębnić obrazy z pliku programu OneNote przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak wyodrębnić obrazy z dokumentu OneNode.
// Załaduj dokument do Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Pobierz wszystkie obrazy
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// Przejrzyj listę
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Pokaż właściwości obrazu
  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();

  // Zapisz obraz
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Wyodrębnij obrazy z dokumentu programu OneNote przy użyciu języka Java

Wyodrębnij obrazy z dokumentu programu OneNote przy użyciu języka Java

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyliśmy się, jak wyodrębnić tekst z całego dokumentu OneNote lub z określonej strony dokumentu. Widzieliśmy również, jak programowo wyodrębniać obrazy z dokumentów OneNote. Poza tym możesz dowiedzieć się więcej o Aspose.Note for Java API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też