Einführung
Aspose.Note FOSS for Python (aspose-note auf PyPI) ist eine kostenlose, MIT-lizenzierte Bibliothek für Microsoft OneNote lesen .one Die Version 26.3.2 schickt die Daten in Python. mit einem vollständigen Dokumentobjektmodell, das Seiten, Umrisse, Rich-Text-Knoten und Bilder umfasst;, und beigefügte Dateien keine Microsoft Office-Installation oder Windows-Abhängigkeit erforderlich.
Hauptmerkmale
Dokumentladung und Formaterkennung
Document ist die Wurzel des Objektmodells. Geben Sie einen Pfad für das Laden von unterstützten OneNote-Dateien an Das Format. FileFormat Eigentumsberichte, in welchem Format sie erkannt wurden.
from aspose.note import Document, FileFormat
doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages : {len(list(doc))}")
Überschneidungen von Seiten und Titeln
Die Seiten sind: Page Die Anlage ist in der Lage, die Document.Jeder von uns . Page Metadaten wie die als Author, CreationTime,und . Title.Die . Title Knoten stellt wiederum die TitleText, TitleDate,und . TitleTime als RichText Kinder. - Ich weiß nicht.
from aspose.note import Document, Page
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
print(f"Author : {page.Author}")
print(f"Created : {page.CreationTime}")
if page.Title and page.Title.TitleText:
print(f"Title : {page.Title.TitleText}")
Lesen von Textinhalten
RichText Knoten sind die Blätterknoten, die den tatsächlichen Textinhalt tragen. Iterate a RichText Gegenstand mit einem Standard for Schleife jedes Element ist ein Stringsegment. Verwenden Append() Hinzufügen neue Text mit einem Stil.
from aspose.note import Document, Page, Outline, RichText
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
text = "".join(rt)
if text.strip():
print(text[:120])
Eigenschaften des Umrisseinsatzes
Outline Knoten zeigen die Layout-Koordinaten: HorizontalOffset, VerticalOffset, MaxWidth, MaxHeight,und . MinWidth.Diese sind nützlich für Layout-bewusste Extraktion. oder die Neufassung von Seiten.
from aspose.note import Document, Outline
doc = Document("notebook.one")
for outline in doc.GetChildNodes(Outline):
print(f"HOffset={outline.HorizontalOffset} VOffset={outline.VerticalOffset} MaxW={outline.MaxWidth}")
Dokumentenbaumkonstruktion
Erstellen Sie eine Document von Grund auf mit Hilfe der CompositeNode.AppendChildLast().Jeder Knotentyp kann zu seinem gültigen Stammwort hinzugefügt werden: Page → Document, Outline → Page, RichText Knoten Outline.
from aspose.note import Document, Page, Outline, RichText, ParagraphStyle, Title, SaveFormat
doc = Document()
page = Page()
title_text = RichText()
title_text.Append("My New Page", ParagraphStyle())
title = Title()
title.TitleText = title_text
page.Title = title
outline = Outline()
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("new_notebook.pdf", SaveFormat.Pdf)
Exportieren in PDF-Dateien
Document.Save() akzeptiert SaveFormat.Pdf ein PDF auf einen Pfad zu schreiben oder a) die BytesIO Die Exporte werden vollständig in der Prozessphase ohne externen Renderer durchgeführt.
import io
from aspose.note import Document, SaveFormat
doc = Document("notebook.one")
# File output
doc.Save("export.pdf", SaveFormat.Pdf)
# In-memory buffer
buf = io.BytesIO()
doc.Save(buf, SaveFormat.Pdf)
print(f"PDF bytes: {len(buf.getvalue())}")
Schneller Start
pip install aspose-notefrom aspose.note import Document, Page, RichText, SaveFormat
doc = Document("notebook.one")
# Print all text
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
print("".join(rt))
# Export to PDF
doc.Save("output.pdf", SaveFormat.Pdf)
Unterstützte Formate
| Format der Datenbank | Erweiterung | Lesen Sie . | Schreiben . |
|---|---|---|---|
| Ein-Not 2010 | .one | ✓ | — |
| OneNote 2007 (Veröffentlichung) | .one | ✓ | — |
| OneNote Online-Version von einem Text | .one | ✓ | — |
.pdf | — | ✓ |
Open Source und Lizenzierung
Aspose.Note FOSS for Python is released under the MIT License. Install from PyPI as aspose-note.Die kommerzielle Nutzung, Weiterverteilung und Modifikation sind alle erlaubt.