Wyodrębnij zawartość programu OneNote za pomocą modułu odwiedzającego dokument — Java

Wstęp

Aspose.Note dla Java zapewnia zaawansowane funkcje wyodrębniania zawartości z dokumentów OneNote. W tym samouczku przeprowadzimy Cię przez proces wyodrębniania zawartości z dokumentu programu OneNote przy użyciu narzędzia Document Visitor w języku Java.

Warunki wstępne

Zanim zaczniesz, upewnij się, że masz następujące elementy:

  1. Zestaw Java Development Kit (JDK) zainstalowany w systemie.
  2. Pobrano bibliotekę Aspose.Note dla Java. Możesz go pobraćTutaj.
  3. Dokument programu OneNote (z rozszerzeniem .one), z którego można wyodrębnić zawartość.

Importuj pakiety

Najpierw musisz zaimportować niezbędne pakiety do pracy z Aspose.Note dla Java.

import java.io.IOException;

import com.aspose.note.Document;
import com.aspose.note.DocumentVisitor;
import com.aspose.note.Image;
import com.aspose.note.LoadOptions;
import com.aspose.note.Outline;
import com.aspose.note.OutlineElement;
import com.aspose.note.OutlineGroup;
import com.aspose.note.Page;
import com.aspose.note.RichText;
import com.aspose.note.Title;

Krok 1: Skonfiguruj klasę odwiedzającego dokument

Utwórz klasę rozszerzającąDocumentVisitor klasa dostarczona przez Aspose.Note dla Java. Ta klasa będzie obsługiwać odwiedzanie różnych węzłów dokumentu.

public class ExtractOneNoteContentUsingDocumentvisitor extends DocumentVisitor {
    
    final private StringBuilder mBuilder;
    final private boolean mIsSkipText;
    private int nodecount;

    public ExtractOneNoteContentUsingDocumentvisitor() {
        nodecount = 0;
        mIsSkipText = false;
        mBuilder = new StringBuilder();
    }
    
    // Tutaj zostaną zastosowane inne metody
}

Krok 2: Wdrażaj metody odwiedzania

Zaimplementuj metody gości dla różnych typów węzłów, które chcesz przetworzyć w dokumencie. W tym przykładzie zaimplementujemy metody dla węzłów RichText, Document, Page, Title, Image, OutlineGroup, Outline i OutlineElement.

// Metody gości dla różnych typów węzłów

public /* override */ void VisitRichTextStart(RichText run) {
    ++nodecount;
    AppendText(run.getText());
}

public /* override */ void VisitDocumentStart(Document document) {
    ++nodecount;
}

public /* override */ void VisitPageStart(Page page) {
    ++nodecount;
}

public /* override */ void VisitTitleStart(Title title) {
    ++nodecount;
}

public /* override */ void VisitImageStart(Image image) {
    ++nodecount;
}

public /* override */ void VisitOutlineGroupStart(OutlineGroup outlineGroup) {
    ++nodecount;
}

public void VisitOutlineStart(Outline outline) {
    ++nodecount;
}

public void VisitOutlineElementStart(OutlineElement outlineElement) {
    ++nodecount;
}

Krok 3: Metoda główna

W metodzie głównej załaduj dokument OneNote, utwórz instancję niestandardowej klasy Odwiedzający dokument i zaakceptuj gościa, aby rozpocząć proces odwiedzania.

public static void main(String[] args) throws IOException {
    // Otwórz dokument, który chcemy przekonwertować.
    String dataDir = "Your Document Directory";
    Document doc = new Document(dataDir + "Sample1.one", new LoadOptions());
    
    // Utwórz obiekt, który dziedziczy po klasie DocumentVisitor.
    ExtractOneNoteContentUsingDocumentvisitor myConverter = new ExtractOneNoteContentUsingDocumentvisitor();
    
    // Zaakceptuj gościa, aby rozpocząć proces odwiedzania.
    doc.accept(myConverter);
    
    // Pobierz wynik operacji.
    System.out.println(myConverter.GetText());
    System.out.println(myConverter.NodeCount());
}

Wniosek

tym samouczku nauczyłeś się, jak wyodrębnić zawartość z dokumentu OneNote za pomocą Aspose.Note dla Java. Implementując niestandardową klasę Odwiedzającego dokument i odwiedzając różne węzły dokumentu, możesz skutecznie wyodrębniać i przetwarzać treść zgodnie ze swoimi wymaganiami.

Często zadawane pytania

P1: Czy mogę wyodrębnić określone typy zawartości z dokumentu OneNote?

O1: Tak, wdrażając określone metody odwiedzających dla różnych typów węzłów, możesz selektywnie wyodrębniać treści, takie jak tekst, obrazy, tytuły itp.

P2: Czy Aspose.Note dla Java jest kompatybilny z różnymi wersjami dokumentów OneNote?

O2: Aspose.Note dla Java obsługuje różne wersje dokumentów OneNote, zapewniając kompatybilność i płynne wyodrębnianie treści.

P3: Czy mogę zintegrować ten proces wyodrębniania z moją aplikacją Java?

Odpowiedź 3: Oczywiście, możesz łatwo zintegrować proces wyodrębniania treści z aplikacjami Java, postępując zgodnie z dostarczonym samouczkiem.

P4: Czy Aspose.Note dla Java zapewnia obsługę złożonych dokumentów OneNote?

O4: Tak, Aspose.Note dla Java oferuje kompleksowe wsparcie w obsłudze złożonych struktur i treści w dokumentach OneNote.

P5: Czy istnieje ograniczenie rozmiaru dokumentu OneNote, który można przetworzyć za pomocą Aspose.Note dla Java?

O5: Aspose.Note dla Java został zaprojektowany do wydajnej obsługi dokumentów OneNote o różnych rozmiarach, zapewniając optymalną wydajność nawet w przypadku dużych dokumentów.