Introducere

Aspose.Note FOSS for Python (aspose-note pe PyPI) este o bibliotecă gratuită, licențiată de MIT pentru citirea fișierelor Microsoft OneNo te .one și exportarea în PDF în Python pură. Versiunea 26.3.2 vine cu un model complet al obiectului document care acoperă pagini, contoare, noduri cu text bogat, imagini și fișiere atașate nu necesită instalarea Microsoft Office sau dependență Windows .


Caracteristici cheie

Încărcarea documentului și detectarea formatului

Document este rădăcina modelului obiect. Treci printr-un fișier pentru a încărca orice format OneNote suportat. Proprietatea ̋FileFormat∂ raportează care format a fost detectat .

from aspose.note import Document, FileFormat

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

Trecerea prin pagini şi titluri

Paginile sunt noduri `Page⌒ direct sub document. Fiecare ̋Pagine∂ expune metadate cum ar fi ̆Author™, ̨CreationTime TM și ̇Title TM. Nodul ̓Titre› oferă în schimb ˆTitlText TM,ƒTitledDate TM şi •TitelTimeTM ca copii ゙Rich Text TM .

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

Citirea conținutului de text bogat

`RichText⌒ noduri sunt nodurile de frunze care poartă conținutul textului real. Iterati un obiect ̋RICHTEXT∂ cu o standardă ゙for゚ buclă fiecare element este un segment din șir. Utilizați ›Append (() ̆ pentru a adăuga noul texte cu un 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])

Proprietăți de structură a conturului

Outline noduri expun coordonatele de layout: ̋HorizontalOffset∂, ̨VerticalOffset∂ , ゙MaxWidth∂. ゚MaxHeight∂ și ⌒MinWitth™. Acestea sunt utile pentru extragerea sau re-componificarea paginilor cu o înțelegere a aspectului layouter.

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

Construcția arborelui de documente

Creează un Document de la zero folosind ̋CompositeNode.AppendChildLast() ̆. Fiecare tip de nod poate fi adăugat în părintele său valabil: ∂Page → ゚Ducument⌒, ゙Outline→ ̨Pagá,RichText̅ nodeuri →Outlines̅.

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)

Export în PDF

`Document.Save()⌒ acceptă ̋SavesFormat.Pdf∂ pentru a scrie un PDF într-o cale de fișier sau în bufferul ˆBytesIO∂. Exportarea se desfășoară complet în proces fără niciun render extern.

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

Început rapid

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

Formatele suportate

FormatExtensionReadWrite
OneNote 2010.one
OneNote 2007.one
OneNote Online.one
PDF.pdf

Open Source & Licențiere

Aspose.Note FOSS pentru Python este eliberat sub licența MIT. Instalați din PyPI ca aspose-note. Utilizarea comercială, redistribuirea și modificarea sunt toate permise.


Cum să începem?

  • Cum să începem?
  • Ghidul dezvoltatorilor
  • KB Articole
  • Referință API