Aspose.Note FOSS for Python Is Now Available
Siamo lieti di annunciare la disponibilità di Aspose.Note FOSS for Python su PyPI. Questa libreria gratuita e open-source consente agli sviluppatori Python di leggere Microsoft OneNote .one i file di sezione, di attraversare il loro modello completo di oggetti documento, estrarre i contenuti e esportare in PDF, senza richiedere Microsoft Office o alcun runtime proprietario.
Installa ora:
pip install aspose-note
Per l’esportazione PDF:
pip install "aspose-note[pdf]"
Che cos’è Aspose.Note FOSS per Python?
Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) per la lettura di Microsoft OneNote .one file. È supportata da un parser binario MS-ONE/OneStore puro-Python integrato, senza interop COM, senza DLL native della piattaforma e senza necessità di installare Microsoft Office.
L’interfaccia API è modellata su Aspose.Note for .NET, rendendo la transizione familiare per i team che già utilizzano prodotti Aspose su altre piattaforme.
Funzionalità principali
Leggi qualsiasi file .one
Carica i file di sezione di OneNote 2010, OneNote Online e OneNote 2007 da un percorso file o da qualsiasi flusso binario:
from aspose.note import Document
doc = Document("MyNotes.one")
print(doc.DisplayName) # Section name
print(len(list(doc))) # Number of pages
Attraversa l’intero DOM del documento
La libreria espone un modello completo di oggetti documento: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. Usa GetChildNodes(Type) per ricerche ricorsive e filtrate per tipo:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
Estrai testo con formattazione avanzata
Ogni RichText nodo contiene un elenco di TextRun segmenti. Ogni run contiene metadati per carattere TextStyle metadata: grassetto, corsivo, sottolineato, nome del font, colore del font, indirizzo del collegamento ipertestuale e altro:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
if run.Style.IsHyperlink:
print(f" Link: {run.Text} -> {run.Style.HyperlinkAddress}")
elif run.Style.IsBold:
print(f" Bold: {run.Text}")
Salva immagini e allegati
Recupera le immagini incorporate come byte grezzi con nome file e dimensioni. Salva i file allegati su disco:
from aspose.note import Document, Image, AttachedFile
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
with open(img.FileName or "image.bin", "wb") as f:
f.write(img.Bytes)
for af in doc.GetChildNodes(AttachedFile):
with open(af.FileName or "attachment.bin", "wb") as f:
f.write(af.Bytes)
Analizza tabelle
Percorri Table → TableRow → TableCell gerarchie e leggi il contenuto delle celle:
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
for row in table.GetChildNodes(TableRow):
cells = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText))
for cell in row.GetChildNodes(TableCell)
]
print(cells)
Come fare: Esportare in PDF
Salva qualsiasi documento caricato in PDF utilizzando il backend opzionale ReportLab. Configura l’intervallo di pagine e il rendering dell’icona dei tag con PdfSaveOptions:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)
Tipi di contenuto supportati
| Contenuto | Supportato |
|---|---|
| Pagine e titoli delle pagine | Sì |
Testo semplice (RichText.Text) | Sì |
| Sequenze formattate (grassetto, corsivo, sottolineato, carattere, colore) | Sì |
| Collegamenti ipertestuali nelle sequenze di testo | Sì |
| Immagini incorporate (byte, nome file, dimensioni) | Sì |
| File allegati (byte, nome file) | Sì |
| Tabelle (righe, celle, larghezze colonne) | Sì |
| Tag OneNote (NoteTag: forma, etichetta, colore) | Sì |
| Elenchi numerati e puntati (NumberList) | Sì |
| Metadati della pagina (autore, data di creazione, livello) | Sì |
| Esportazione PDF | Sì (ReportLab richiesto) |
Scrivi su .one | Non supportato |
| Documenti crittografati | Non supportato |
API familiare per gli sviluppatori .NET
I team che usano già Aspose. Nota per .NET troverà l’API Python immediatamente riconoscibile. Classi core come Document, Page, RichText, Image, DocumentVisitor, e SaveFormat corrispondono agli equivalenti .NET per nome e comportamento.
Per scenari che richiedono supporto completo di scrittura, conversione in formati aggiuntivi o gestione di documenti crittografati, il prodotto commerciale Aspose.Note for .NET e Aspose.Note for Java i prodotti sono disponibili.
Riepilogo dell’installazione
| Comando | Scopo |
|---|---|
pip install aspose-note | Libreria core (lettura, attraversamento, accesso al DOM) |
pip install "aspose-note[pdf]" | Core + esportazione PDF (aggiunge ReportLab) |
pip install -e ".[pdf]" | Installazione editabile dal sorgente (contributori) |
Requisiti: Python 3.10, 3.11 o 3.12. Non è necessario Microsoft Office.