Inleiding

Aspose.Note FOSS for Python (aspose-note on PyPI) is een gratis, MIT-gelicentieerde bibliotheek voor het lezen van Microsoft OneNote .one bestanden en het exporteren naar PDF in pure Python. Versie 26.3.2 wordt geleverd met een volledig documentobjectmodel dat pagina’s, inhoudsopgaven, rich-text-knooppunten, afbeeldingen en bijgevoegde bestanden omvat — geen Microsoft Office-installatie of Windows-afhankelijkheid vereist.


Belangrijkste functies

Document laden en formaatdetectie

Document is de root van het objectmodel. Geef een bestandspad op om elk ondersteund OneNote formaat te laden. De FileFormat eigenschap geeft aan welk formaat werd gedetecteerd.

from aspose.note import Document, FileFormat

doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages  : {len(list(doc))}")

Doorlopen van pagina’s en titels

Pagina’s zijn Page knooppunten direct onder de Document. Elk Page biedt metadata zoals Author, CreationTime en Title. Het Title knooppunt biedt op zijn beurt TitleText, TitleDate en TitleTime als RichText kinderen.

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}")

Rich Text-inhoud lezen

RichText nodes zijn de bladknopen die de feitelijke tekstinhoud dragen. Itereer over een RichText object met een standaard for loop — elk item is een tekenreekssegment. Gebruik Append() om nieuwe tekst met een stijl toe te voegen.

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])

Layouteigenschappen schetsen

Outline nodes onthullen lay-outcoördinaten: HorizontalOffset, VerticalOffset, MaxWidth, MaxHeight en MinWidth. Deze zijn nuttig voor lay-outbewuste extractie of hercompositie van pagina’s.

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}")

Constructie van documentboom

Bouw een Document vanaf nul met behulp van CompositeNode.AppendChildLast(). Elk knooptype kan worden toegevoegd aan zijn geldige ouder: Page → Document, Outline → Page, RichText nodes → 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)

Exporteren naar PDF

Document.Save() accepteert SaveFormat.Pdf om een PDF naar een bestandspad of een BytesIO buffer te schrijven. De export wordt volledig in-process uitgevoerd zonder externe renderer.

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())}")

Snelstart

pip install aspose-note-foss
from 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)

Ondersteunde formaten

FormaatExtensieLezenSchrijven
OneNote 2010.one✓—
OneNote 2007.one✓—
OneNote Online.one✓—
PDF.pdf—✓

Open source & licenties

Aspose.Note FOSS for Python is uitgebracht onder de MIT-licentie. Installeer van PyPI als aspose-note. Commercieel gebruik, herdistributie en modificatie zijn allemaal toegestaan.


Aan de slag

Gerelateerde bronnen