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
- Extrahujte veškerý text z OneNotu pomocí Java
- Získejte text z konkrétních stránek OneNotu v Javě
- Extrahujte obrázky z OneNotu pomocí Java
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ů:
- Nejprve načtěte soubor OneNotu pomocí třídy Document.
- Poté zavolejte metodu GetChildNodes s argumentem RichText.class pro extrahování textu.
- 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());
}
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ů:
- Nejprve načtěte soubor OneNotu pomocí třídy Document.
- Dále zavolejte metodu GetChildNodes s argumentem Page.class pro extrahování stránek.
- Poté ze seznamu stránek získejte konkrétní stránku podle jejího indexu.
- Poté získejte seznam textových položek pro stránku pomocí metody GetChildNodes s argumentem RichText.class.
- 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();
}
Extrahujte obrázky z dokumentu OneNote pomocí Java
Obrázky můžeme také extrahovat z dokumentu OneNote podle následujících kroků:
- Nejprve načtěte soubor OneNotu pomocí třídy Document.
- Poté získejte seznam obrázků pomocí metody GetChildNodes s argumentem Image.class.
- 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);
}
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.