Extrahujte text nebo obrázky z dokumentů OneNotu pomocí Java

V dokumentu OneNotu můžeme shromažďovat a organizovat poznámky ve formě textu, kreseb, výstřižků z obrazovky a zvukových komentářů. Občas můžeme potřebovat extrahovat text nebo obrázky z dokumentů OneNotu programově v aplikacích Java. Taková extrakce nám umožňuje znovu použít extrahovaný text nebo obrázky samostatně. V tomto článku se naučíme, jak extrahovat text nebo obrázky z dokumentů OneNotu pomocí Java.

Tento článek bude obsahovat následující témata:

Java API pro extrahování textu nebo obrázků z OneNotu

Pro extrahování textu a obrázků z dokumentu OneNote budeme používat API Aspose.Note for Java. Umožňuje vytvářet, číst a převádět dokumenty OneNote programově bez použití MS OneNote. Prosím buď stáhněte JAR API, nebo přidejte následující konfiguraci pom.xml do Java aplikace založené 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>

Extrahujte veškerý text z dokumentu OneNote pomocí Java

Veškerý text můžeme snadno extrahovat z dokumentu OneNote podle následujících kroků:

  1. Nejprve načtěte soubor OneNotu pomocí třídy Document.
  2. Poté zavolejte metodu GetChildNodes s argumentem RichText.class pro extrahování textu.
  3. Nakonec ukažte extrahovaný text.

Následující ukázka kódu ukazuje, jak extrahovat veškerý text ze souboru OneNotu pomocí Java.

// Tento příklad kódu ukazuje, jak extrahovat veškerý text z dokumentu OneNode.
// Vložte dokument do Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Načíst text
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extrahujte veškerý text z dokumentu OneNote pomocí Java

Extrahujte veškerý text z dokumentu OneNote pomocí Java

Získejte text z konkrétních stránek dokumentu OneNote v Javě

Text z konkrétních stránek dokumentu OneNote můžeme extrahovat podle následujících kroků:

  1. Nejprve načtěte soubor OneNotu pomocí třídy Document.
  2. Dále zavolejte metodu GetChildNodes s argumentem Page.class pro extrahování stránek.
  3. Poté ze seznamu stránek získejte konkrétní stránku podle jejího indexu.
  4. Poté získejte seznam textových položek pro stránku pomocí metody GetChildNodes s argumentem RichText.class.
  5. Nakonec ukažte extrahovaný text.

Následující ukázka kódu ukazuje, jak extrahovat text z konkrétní stránky souboru OneNotu pomocí Java.

// Tento příklad kódu ukazuje, jak extrahovat text z konkrétní stránky dokumentu OneNode.
// Vložte dokument do Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Získejte seznam uzlů stránky
List<Page> pages = doc.getChildNodes(Page.class);

// Získejte stránku podle indexu
Page page = pages.get(0);

// Získejte text stránky
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

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

Můžeme iterovat všechny stránky jednu po druhé a extrahovat text pro každou stránku, jak je uvedeno v ukázce kódu níže:

// Tento příklad kódu ukazuje, jak extrahovat text ze stránek dokumentu OneNode.
// Vložte dokument do Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Získejte seznam uzlů stránky
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();
}
Získejte text z konkrétních stránek dokumentu OneNote v Javě

Získejte text ze všech stránek jeden po druhém v Javě

Extrahujte obrázky z dokumentu OneNote pomocí Java

Obrázky můžeme také extrahovat z dokumentu OneNote podle následujících kroků:

  1. Nejprve načtěte soubor OneNotu pomocí třídy Document.
  2. Poté získejte seznam obrázků pomocí metody GetChildNodes s argumentem Image.class.
  3. Nakonec ukažte vlastnosti obrazu a uložte na místní disk.

Následující ukázka kódu ukazuje, jak extrahovat obrázky ze souboru OneNotu pomocí Java.

// Tento příklad kódu ukazuje, jak extrahovat obrázky z dokumentu OneNode.
// Vložte dokument do Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Získejte všechny obrázky
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// Projděte seznam
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Zobrazit vlastnosti obrázku
  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();

  // Uložte obrázek
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Extrahujte obrázky z dokumentu OneNote pomocí Java

Extrahujte obrázky z dokumentu OneNote pomocí Java

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.

Závěr

V tomto článku jsme se naučili, jak extrahovat text z celého dokumentu OneNote nebo z konkrétní stránky dokumentu. Také jsme viděli, jak programově extrahovat obrázky z dokumentů OneNotu. Kromě toho se můžete dozvědět více o Aspose.Note pro Java API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také