FOSS für Python ist eine 100% kostenlose, MIT-lizenzierte Bibliothek, mit der Sie Microsoft OneNote (.one) Dateien vollständig aus Python lesen können, ohne Microsoft Office, COM Automatisierung und keine proprietäre Laufzeit erforderlich. Es stellt eine saubere öffentliche API (aspose.note.*) dar, die auf dem vertrauten Aspose.Note Modell für .NET basiert und durch einen eingebauten MS-ONE / OneStore binären Parser unterstützt wird, der in reiner Python geschrieben wurde.
Installieren von PyPI mit pip install aspose-note (oder pip install "aspose-note[pdf]", um PDF-Export zu ermöglichen). Erfordert Python 3.10 oder höher.
Die Bibliothek eignet sich für Dokumentenautomatisierungs-Skripte, Inhaltsindexpipelines, Archivierungswerkzeuge und jeden Serverarbeitsfluss, der OneNote-Inhalte ohne Microsoft Office-Abhängigkeit verbrauchen muss. Für die Unternehmensproduktfamilie siehe Aspose.Note — Enterprise Product Family.
Document.Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. Das ist ein sehr schwieriges Problem.RichText.Text oder überprüfen Sie die Segmente TextRun auf fett, kursiv, Schriftart, Farbe und Hyperlink-Metadaten.Table → TableRow → TableCell Hierarchien; lesen Sie Spaltenbreiten über TableColumn.Width.NoteTag Metadaten (Form, Etikett, Farbe, Vollendungsstatus) von Text-, Bild- und Tabellenknoten..one.Document als PDF mit Document.Save(path, SaveFormat.Pdf). Die FOSS‑Edition verwendet ein Standard‑Rendering; erweiterte seitenbezogene PDF‑Optionen sind in dieser Version nicht verfügbar.Image-Knoten, um Rohbytes (Bytes), Dateinamen (FileName) und Abmessungen (OriginalWidth, OriginalHeight) zu erhalten.AttachedFile-Knoten, um eingebettete Dateianhänge auf die Festplatte zu speichern..one-Dateien aus einem Binärstream (z. B. io.BytesIO), ohne sie auf die Festplatte zu schreiben.Aspose.Note FOSS lässt sich mit einem einzigen pip install aspose-note-Befehl installieren. Das Basispaket hat keine optionalen Abhängigkeiten; der PDF-Export erfordert ReportLab, das über pip install "aspose-note[pdf]" installiert wird.
Der API ist nach dem bekannten Aspose.Note für die .NET-Schnittstelle modelliert: Document, Page, Outline, RichText, Image, Table, AttachedFile. Die Bibliothek ist MIT-lizenziert, Open-Source und nimmt Fehlerberichte sowie Beiträge auf GitHub entgegen.
Installieren Sie mit pip, dann geben Sie einen Dateipfad an Document() weiter, um das binäre OneNote-Format zu analysieren. GetChildNodes(RichText) führt eine tiefe rekursive Suche durch und gibt jeden Textknoten im Dokument zurück, was für die Volltextindizierung oder Migrationspipelines nützlich ist.
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)
Der PDF-Export erfordert die optionale ReportLab-Abhängigkeit. Installieren Sie ihn mit pip install "aspose-note[pdf]". Das gleiche Document Objekt kann auch für Image Knoten wiederholt werden, um alle eingebetteten Bilder in einem einzigen Zug auf der Festplatte zu extrahieren und zu speichern.
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)
Es ist eine kostenlose, MIT-lizenzierte Python-Bibliothek zum Lesen von Microsoft OneNote (.one) Dateien ohne die Notwendigkeit von Office, COM Automatisierung oder proprietäre Laufzeit.
OneNote 2010, OneNOte Online und die Varianten des Formats von OneNot 2007. Jede gültige .one-Sektionsdatei kann geladen werden.
Führen Sie pip install aspose-note für die Basisbibliothek aus oder pip install "aspose-note[pdf]", um die optionale ReportLab-Abhängigkeit zum PDF-Export einzubeziehen.
Ja. Ruf Document.Save(path, SaveFormat.Pdf). PDF-Export erfordert die optionale ReportLab-Abhängigkeit, die über das Extra [pdf] installiert ist.
Ja. Die Klasse Document akzeptiert einen binären Stream (z.B. io.BytesIO oder eine HTTP-Antwortstelle), so dass Sie Dateien verarbeiten können, ohne auf Festplatte zu schreiben.
Python 3.10 oder neuer ist erforderlich.
Nein. Die aktuelle Ausgabe ist nur für den Lesebereich. Sie kann jede gültige .one-Sektionsdatei öffnen und analysieren, aber das Schreiben in das binäre OneNote-Format wird nicht unterstützt.
Nein. Das Laden einer passwortgeschützten Datei .one erzeugt ein IncorrectPasswordException. Verschlüsselte Dokumente werden in der aktuellen Ausgabe nicht unterstützt.
Die Bibliothek ist MIT-lizenziert und auf GitHub gehostet. Bugberichte und Pull Requests sind willkommen.