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

Aspose.Note FOSS for Python

Odczytuj, przeglądaj i eksportuj pliki Microsoft OneNote (.one) z Python — darmowe i otwarto‑źródłowe, bez wymogu Microsoft Office.

Biblioteka Python z otwartym źródłem dla plików OneNote

Aspose.Note FOSS for Python to 100% darmowa biblioteka licencjonowana przez MIT, która pozwala czytać pliki Microsoft OneNote (.one) w całości z Pythonu, bez potrzeby Microsoft Office, automatyzacji COM i własnego czasu działania. Eksponuje czyste publiczne API (aspose.note.*), oparte na znanym interfejsie Aspose.Note dla .NET, wspierane wbudowanym MS-ONE / OneStore binary parserem napisanym w czystym pythonie.

Instaluj z PyPI za pomocą pip install aspose-note (lub pip install "aspose-note[pdf]", aby umożliwić eksport PDF). Wymaga Python 3.10 lub nowszej wersji.

Biblioteka jest odpowiednia do skryptów automatyzacji dokumentów, kanałów indeksowania treści, narzędzi archiwalnych i każdego przepływu pracy po stronie serwera, który musi wykorzystywać zawartość OneNote bez zależności od usługi Microsoft Office. Dla rodziny produktów dla przedsiębiorstw patrz Aspose.Note — Enterprise Product Family.

Czytanie i przechodzenie przez dokumenty programu OneNote

  • Load .one files: Otwórz dowolną sekcję programu OneNote z ścieżki pliku lub strumienia binarnego za pomocą Document.
  • ** Pełna przejście DOM:** Nawigacja Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Wykrywanie bogatego tekstu: Czytaj tekst surowy za pośrednictwem RichText.Text lub sprawdź segmenty TextRun w celu uzyskania tłuszczowych, kursywnych, czcionek, koloru i metadanych hiperłącza.
  • ** Parsing tabeli:** Przechodzenie przez hierarchii Table → TableRow → TableCell; odczytywanie szerokości kolumn za pośrednictwem TableColumn.Width.
  • Przeglądanie znaczników: Przeczytaj NoteTag metadane (kształt, etykieta, kolor, stan ukończenia) na węzłach tekstu, obrazu i tabeli.

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

  • Indeksowanie treści: Wyciągnij i indeksuj cały tekst z archiwów OneNote w celu wyszukiwania.
  • Migracja dokumentu: Eksportowanie sekcji programu OneNote na format PDF, tekst zwykły lub dane strukturyzowane.
  • ** Narzędzia archiwalne:** Zapisz wbudowane obrazy i załączniki na dysku z plików .one.
  • Przepływy pracy CI/CD: Wykonanie weryfikacji lub przetwarzanie treści programu OneNote w kontenerach Dockera.
  • Pidwizn baz wiedzy: Wyciągnij z zespołu OneNote zawartość strukturyzowaną.

Eksport, zdjęcia i załączniki

  • Eksport PDF: Zapisz wszelkie załadowane Document do pliku PDF przy użyciu Document.Save(path, SaveFormat.Pdf). Wersja FOSS wykorzystuje domyślne rendering; zaawansowane opcje na stronę nie są dostępne w tej wersji.
  • Eksport obrazu: Iteruje Image węzły, aby odzyskać surowe bajty (Bytes), nazwę pliku ( FileName) i wymiary ( {\displaystyle \mathbb OriginalWidth , OriginalHeight).
  • Oszczędzenie załączników: Iteruje AttachedFile węzły, aby zapisać do dysku wkładane załączniki plików.
  • ** Ładowanie na podstawie strumienia:** Otwórz pliki .one z strumu binarnego (np. io.BytesIO) bez zapisywania na dysk.

Doświadczenie twórcy

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

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

Władowanie pliku OneNote i wyciągnięcie całego tekstu

Instaluj za pomocą pip, a następnie przekaż ścieżkę pliku do Document() w celu analizy formatu binarnego OneNote. GetChildNodes(RichText) wykonuje głębokie rekursywne wyszukiwanie i zwraca każdy węzeł tekstowy w dokumencie, co jest przydatne dla indeksowania pełnotekstowego lub przepływó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)

Eksportowanie do pliku PDF i zapisywanie załączonych obrazów

Wywóz 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 do ekstrakcji i zapisania wszystkich osadzonych obrazów na dysku w jednym przejeździe.

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

Co to jest Aspose.Note FOSS dla Pythona?

Jest to darmowa, licencjonowana przez MIT biblioteka Python do odczytywania plików Microsoft OneNote (.one) bez potrzeby wykorzystania pakietu Microsoft Office, automatyzacji COM lub jakiegokolwiek własnego czasu działania.

Które warianty formatu OneNote są obsługiwane?

OneNote 2010, OneNot Online i OneNote 2007 - wersje formatu. Można załadować dowolny ważny plik sekcji .one .

Jak go zainstalować?

Uruchom pip install aspose-note dla biblioteki bazowej lub pip install "aspose-note[pdf]" w celu zawarcia opcjonalnej zależności ReportLab do eksportu PDF.

Czy mogę eksportować pliki OneNote na plik PDF?

Tak. Wzywanie Document.Save(path, SaveFormat.Pdf). Wywóz PDF wymaga opcjonalnej zależności ReportLab zainstalowanej przez dodatkowy element [pdf] .

Czy mogę załadować .one pliki z strumienia?

Tak. Klasa Document akceptuje strumień binarny (np. io.BytesIO lub ciało odpowiedzi HTTP), dzięki czemu można przetwarzać pliki bez pisania na dysk.

Jaka wersja Pythona jest wymagana?

Wymagane jest Python 3.10 lub nowszy.

Czy mogę napisać lub zmodyfikować plik .one?

Nie. Obecna wersja jest tylko do odczytu. Może otwierać i analizować dowolny ważny plik sekcji .one, ale nie obsługiwany jest powrót do formatu binarnego OneNote.

Czy wspierane są szyfrowane dokumenty programu OneNote?

Nie. Ładowanie pliku .one chronionego hasłem powoduje pojawienie się numeru IncorrectPasswordException. Szyfrowane dokumenty nie są obsługiwane w bieżącej wersji.

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

Biblioteka jest licencjonowana przez MIT i hostowana na GitHub.

  

Zasoby Wsparcia i Nauki

 Polski