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-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)
Formatele suportate
| Format | Extension | Read | Write |
|---|---|---|---|
| OneNote 2010 | .one | ✓ | — |
| OneNote 2007 | .one | ✓ | — |
| OneNote Online | .one | ✓ | — |
.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