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.
Document.Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.RichText.Text lub sprawdź segmenty TextRun pod kątem pogrubienia, kursywy, czcionki, koloru i metadanych hiperlinków.Table → TableRow → TableCell z uwzględnieniem szerokości kolumn i widoczności obramowań.NoteTag (kształt, etykieta, kolor, stan ukończenia) w węzłach tekstu, obrazu i tabeli..one.Document do PDF przy użyciu Document.Save(path, SaveFormat.Pdf).PdfSaveOptions.Image, aby pobrać surowe bajty, nazwę pliku, wymiary i tekst alternatywny.AttachedFile, aby zapisać osadzone pliki załączników na dysku..one z binarnego strumienia (np. io.BytesIO) bez zapisywania na dysku.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.
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)
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)
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.
Warianty formatu OneNote 2010, OneNote Online i OneNote 2007. Każdy prawidłowy plik sekcji .one może zostać załadowany.
Uruchom pip install aspose-note, aby zainstalować podstawową bibliotekę, lub pip install "aspose-note[pdf]", aby dodać opcjonalną zależność ReportLab do eksportu PDF.
Tak. Wywołaj Document.Save(path, SaveFormat.Pdf). Eksport do PDF wymaga zainstalowanej opcjonalnej zależności ReportLab poprzez dodatkowy pakiet [pdf].
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.
Python 3.10 lub nowszy jest wymagany.
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.
Nie. Ładowanie pliku .one chronionego hasłem powoduje wyrzucenie IncorrectPasswordException. Zaszyfrowane dokumenty nie są obsługiwane w obecnej edycji.
Biblioteka jest licencjonowana na licencji MIT i hostowana na GitHubie. Zgłoszenia błędów i pull requesty są mile widziane.