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, bez wymogu Microsoft Office.

Biblioteka Python typu open-source dla plików OneNote

Aspose.Note FOSS dla Python to w 100 % darmowa, licencjonowana 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 przy użyciu pip install aspose-note (lub pip install "aspose-note[pdf]", aby włączyć eksport PDF). Wymaga Python 3.10 lub nowszej wersji.

Biblioteka jest odpowiednia dla 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. W przypadku rodziny produktów korporacyjnych zobacz Aspose.Note — Enterprise Product Family.

Odczytuj i przeglądaj dokumenty OneNote

  • Załaduj pliki .one: Otwórz dowolną sekcję OneNote z ścieżki pliku lub strumienia binarnego za pomocą Document.
  • Pełne przeglądanie DOM: Nawiguj 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 tabeli: Przejdź hierarchie Table → TableRow → TableCell; odczytaj szerokości kolumn za pomocą TableColumn.Width.
  • Tag inspection: Odczytaj NoteTag metadane (kształt, etykieta, kolor, stan ukończenia) w węzłach tekstu, obrazu i tabeli.

Gdzie Aspose.Note FOSS może być używany

  • Indeksowanie treści: Wyodrębnij i zaindeksuj cały tekst z archiwów OneNote dla potoków wyszukiwania.
  • Migracja dokumentów: Eksportuj sekcje OneNote do PDF, zwykłego tekstu lub danych strukturalnych.
  • Narzędzia archiwizacyjne: Zapisz osadzone obrazy i załączniki na dysk z plików .one files.
  • CI/CD workflows: Waliduj lub przetwarzaj zawartość OneNote w kontenerach Docker.
  • Potoki bazy wiedzy: 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). Edycja FOSS używa domyślnego renderowania; zaawansowane opcje PDF na stronę nie są dostępne w tej wersji.
  • Eksport obrazu: Iteruj węzły Image, aby pobrać surowe bajty (Bytes), nazwę pliku (FileName) i wymiary (OriginalWidth, OriginalHeight).
  • Zapis załączników: Iteruj AttachedFile węzły, aby zapisać osadzone pliki załączników na dysku.
  • Ładowanie strumieniowe: 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 modelowane na znanym Aspose.Note dla interfejsu .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Biblioteka jest licencjonowana na licencji MIT, jest otwartoźródłowa i przyjmuje zgłoszenia błędów oraz wkłady na GitHub.

Wczytaj plik OneNote i wyodrębnij cały tekst

Zainstaluj przy pomocy pip, a następnie przekaż ścieżkę do pliku do Document(), aby przetworzyć 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 migracji.

pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Extract all text across the entire document
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 PDF wymaga opcjonalnej zależności ReportLab. Zainstaluj ją za pomocą pip install "aspose-note[pdf]". Ten sam obiekt Document może być również iterowany dla 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")

# Export the document to PDF (requires aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Save all embedded images to disk
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 Python biblioteka 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?

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

Jak to zainstalować?

Uruchom pip install aspose-note dla podstawowej biblioteki lub pip install "aspose-note[pdf]", aby dołączyć opcjonalną zależność ReportLab do eksportu PDF.

Czy mogę wyeksportować pliki OneNote do PDF?

Tak. Wywołaj Document.Save(path, SaveFormat.Pdf). Eksport PDF wymaga opcjonalnej zależności ReportLab zainstalowanej 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?

Wymagany jest Python 3.10 lub nowszy.

Czy mogę zapisać lub zmodyfikować 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 podniesienie IncorrectPasswordException. Zaszyfrowane dokumenty nie są obsługiwane w bieżącej edycji.

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

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

  

Zasoby Wsparcia i Nauki

 Polski