1. Produkty
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS dla Python

Odczytuj, przeglądaj i eksportuj pliki Microsoft OneNote (.one) z Python — darmowe i open-source, nie wymaga Microsoft Office.

Open-Source Python Biblioteka dla plików OneNote

Aspose.Note FOSS dla Python to w 100% darmowa, na licencji MIT biblioteka, która pozwala czytać pliki Microsoft OneNote (.one) całkowicie z Python, bez Microsoft Office, bez automatyzacji COM i bez wymaganego własnościowego środowiska uruchomieniowego. Udostępnia czyste publiczne API (aspose.note.*) wzorowane na znanym interfejsie Aspose.Note dla .NET, oparte na wbudowanym parserze binarnym MS-ONE/OneStore napisanym w czystym Python.

Zainstaluj z PyPI za pomocą pip install aspose-note (lub pip install "aspose-note[pdf]", aby włączyć eksport PDF). Wymaga Python 3.10 lub nowszej wersji.

Biblioteka nadaje się do skryptów automatyzacji dokumentów, potoków indeksowania treści, narzędzi archiwizacyjnych oraz wszelkich przepływów pracy po stronie serwera, które muszą przetwarzać zawartość OneNote bez zależności od Microsoft Office.

Odczytuj i przeglądaj dokumenty OneNote

  • Ładowanie plików .one: Otwórz dowolną sekcję OneNote z ścieżki pliku lub strumienia binarnego za pomocą Document.
  • Pełne przeglądanie DOM: Nawiguj po Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Ekstrakcja tekstu sformatowanego: Odczytaj surowy tekst za pomocą RichText.Text lub sprawdź segmenty TextRun pod kątem pogrubienia, kursywy, czcionki, koloru i metadanych hiperlinków.
  • Parsowanie tabel: Przeglądaj hierarchie Table → TableRow → TableCell z uwzględnieniem szerokości kolumn i widoczności obramowań.
  • Inspekcja tagów: Odczytaj metadane NoteTag (kształt, etykieta, kolor, stan ukończenia) w węzłach tekstu, obrazu i tabeli.

Gdzie można używać Aspose.Note FOSS

  • Indeksowanie treści: Wyodrębnij i zaindeksuj cały tekst z archiwów OneNote dla potoków wyszukiwania.
  • Migracja dokumentów: Konwertuj sekcje OneNote na PDF, zwykły tekst lub dane strukturalne.
  • Narzędzia archiwizacyjne: Zapisz osadzone obrazy i załączniki na dysku z plików .one.
  • CI/CD workflows: Waliduj lub przetwarzaj zawartość OneNote w kontenerach Docker.
  • Knowledge-base pipelines: Wyodrębnij ustrukturyzowaną zawartość z zespołowych notatników OneNote.

Eksport, obrazy i załączniki

  • Eksport PDF: Zapisz dowolny załadowany Document do PDF przy użyciu Document.Save(path, SaveFormat.Pdf).
  • Opcje PDF: Dostosuj zakres stron, katalog ikon tagów, rozmiar ikony i odstęp za pomocą PdfSaveOptions.
  • Eksport obrazów: Przeglądaj węzły Image, aby pobrać surowe bajty, nazwę pliku, wymiary i tekst alternatywny.
  • Zapisywanie załączników: Przeglądaj węzły AttachedFile, aby zapisać osadzone pliki załączników na dysku.
  • Ładowanie ze strumienia: Otwórz pliki .one z binarnego strumienia (np. io.BytesIO) bez zapisywania na dysku.

Doświadczenie dewelopera

Aspose.Note FOSS instaluje się jednym poleceniem pip install aspose-note. Pakiet bazowy nie ma opcjonalnych zależności; eksport PDF wymaga ReportLab, instalowanego za pomocą pip install "aspose-note[pdf]".

API jest oparte na znanym interfejsie Aspose.Note dla .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Biblioteka jest licencjonowana na licencji MIT, open-source i przyjmuje zgłoszenia błędów oraz wkłady na GitHub.

Wczytaj plik OneNote i wyodrębnij cały tekst

Zainstaluj przy użyciu pip, a następnie przekaż ścieżkę do pliku do Document(), aby sparsować binarny format OneNote. GetChildNodes(RichText) wykonuje głębokie rekurencyjne wyszukiwanie i zwraca każdy węzeł tekstowy w dokumencie, co jest przydatne do indeksowania pełnotekstowego lub pipeline’ów migracyjnych.

pip install aspose-note
from aspose.note import Document, RichText

doc = Document("notebook.one")
print(f"Strony: {len(list(doc))}")

# Wyodrębnij cały tekst z całego dokumentu
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
    print(text)

Eksportuj do PDF i zapisz załączone obrazy

Eksport do PDF wymaga opcjonalnej zależności ReportLab. Zainstaluj ją za pomocą pip install "aspose-note[pdf]". Ten sam obiekt Document może również być iterowany pod kątem węzłów Image, aby wyodrębnić i zapisać wszystkie osadzone obrazy na dysku w jednym przebiegu.

from aspose.note import Document, SaveFormat, Image
import pathlib

doc = Document("notebook.one")

# Eksport dokumentu do PDF (wymaga aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Zapisz wszystkie osadzone obrazy na dysku
out_dir = pathlib.Path("images")
out_dir.mkdir(exist_ok=True)
for i, img in enumerate(doc.GetChildNodes(Image)):
    name = img.FileName or f"image_{i}.bin"
    (out_dir / name).write_bytes(img.Bytes)

Najczęściej Zadawane Pytania

Czym jest Aspose.Note FOSS dla Python?

Jest to darmowa, na licencji MIT biblioteka Python do odczytywania plików Microsoft OneNote (.one) bez wymogu posiadania Microsoft Office, automatyzacji COM ani żadnego własnościowego środowiska uruchomieniowego.

Jakie warianty formatu OneNote są obsługiwane?

Warianty formatu OneNote 2010, OneNote Online i OneNote 2007. Każdy prawidłowy plik sekcji .one może zostać załadowany.

Jak go zainstalować?

Uruchom pip install aspose-note, aby zainstalować podstawową bibliotekę, lub pip install "aspose-note[pdf]", aby dodać opcjonalną zależność ReportLab do eksportu PDF.

Czy mogę wyeksportować pliki OneNote do PDF?

Tak. Wywołaj Document.Save(path, SaveFormat.Pdf). Eksport do PDF wymaga zainstalowanej opcjonalnej zależności ReportLab poprzez dodatkowy pakiet [pdf].

Czy mogę wczytać pliki .one ze strumienia?

Tak. Klasa Document przyjmuje strumień binarny (np. io.BytesIO lub ciało odpowiedzi HTTP), dzięki czemu możesz przetwarzać pliki bez zapisywania ich na dysku.

Jaka wersja Python jest wymagana?

Python 3.10 lub nowszy jest wymagany.

Czy mogę zapisywać lub modyfikować plik .one?

Nie. Obecna edycja jest tylko do odczytu. Może otwierać i analizować każdy prawidłowy plik sekcji .one, ale zapisywanie z powrotem do binarnego formatu OneNote nie jest obsługiwane.

Czy obsługiwane są zaszyfrowane dokumenty OneNote?

Nie. Ładowanie pliku .one chronionego hasłem powoduje wyrzucenie IncorrectPasswordException. Zaszyfrowane dokumenty nie są obsługiwane w obecnej edycji.

Gdzie mogę znaleźć kod źródłowy?

Biblioteka jest licencjonowana na licencji MIT i hostowana na GitHubie. Zgłoszenia błędów i pull requesty są mile widziane.

  

Zasoby Wsparcia i Nauki

 Polski