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

ContenutoSupportato
Pagine e titoli delle pagine
Testo semplice (RichText.Text)
Sequenze formattate (grassetto, corsivo, sottolineato, carattere, colore)
Collegamenti ipertestuali nelle sequenze di testo
Immagini incorporate (byte, nome file, dimensioni)
File allegati (byte, nome file)
Tabelle (righe, celle, larghezze colonne)
Tag OneNote (NoteTag: forma, etichetta, colore)
Elenchi numerati e puntati (NumberList)
Metadati della pagina (autore, data di creazione, livello)
Esportazione PDFSì (ReportLab richiesto)
Scrivi su .oneNon supportato
Documenti crittografatiNon 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

ComandoScopo
pip install aspose-noteLibreria 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.


Inizia