1. Prodotti
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS per Python

Leggi, attraversa ed esporta i file Microsoft OneNote (.one) da Python — gratuito e open source, non è necessario Microsoft Office.

Libreria Python open source per file OneNote

Aspose.Note FOSS per Python è una libreria al 100% gratuita, con licenza MIT, che consente di leggere i file Microsoft OneNote (.one) interamente da Python, senza Microsoft Office, senza automazione COM e senza alcun runtime proprietario richiesto. Espone un’API pubblica pulita (aspose.note.*) modellata sull’interfaccia familiare Aspose.Note per .NET, supportata da un parser binario MS-ONE/OneStore integrato scritto interamente in puro Python.

Installa da PyPI con pip install aspose-note (o pip install "aspose-note[pdf]" per abilitare l’esportazione PDF). Richiede Python 3.10 o versioni successive.

La libreria è adatta per script di automazione dei documenti, pipeline di indicizzazione dei contenuti, strumenti di archiviazione e qualsiasi flusso di lavoro lato server che necessita di consumare contenuti OneNote senza una dipendenza da Microsoft Office. Per la famiglia di prodotti enterprise, vedere Aspose.Note — Enterprise Product Family.

Leggi e attraversa i documenti OneNote

  • Carica file .one: Apri qualsiasi sezione di OneNote da un percorso file o da un flusso binario tramite Document.
  • Traversata completa del DOM: Naviga Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Estrazione di testo formattato: Leggi il testo grezzo tramite RichText.Text o ispeziona i segmenti TextRun per i metadati di grassetto, corsivo, carattere, colore e collegamento ipertestuale.
  • Parsing della tabella: Scorri le gerarchie Table → TableRow → TableCell; leggi le larghezze delle colonne tramite TableColumn.Width.
  • Ispezione dei tag: Leggi i metadati NoteTag (forma, etichetta, colore, stato di completamento) su nodi di testo, immagine e tabella.

Dove Aspose.Note FOSS può essere usato

  • Indicizzazione del contenuto: Estrarre e indicizzare tutto il testo dagli archivi OneNote per le pipeline di ricerca.
  • Migrazione dei documenti: Esporta le sezioni di OneNote in PDF, testo semplice o dati strutturati.
  • Strumenti di archiviazione: Salva le immagini incorporate e gli allegati su disco dai file .one files.
  • CI/CD workflows: Convalida o elabora contenuti OneNote all’interno di contenitori Docker.
  • Knowledge-base pipelines: Estrai contenuti strutturati dai blocchi appunti OneNote del team.

Esporta, immagini e allegati

  • Esportazione PDF: Salva qualsiasi Document caricato in PDF usando Document.Save(path, SaveFormat.Pdf). L’edizione FOSS utilizza un rendering predefinito; le opzioni PDF avanzate per pagina non sono disponibili in questa versione.
  • Esportazione immagine: Itera i nodi Image per recuperare i byte grezzi (Bytes), il nome file (FileName) e le dimensioni (OriginalWidth, OriginalHeight).
  • Salvataggio degli allegati: Iterare i nodi AttachedFile per salvare gli allegati di file incorporati su disco.
  • Caricamento basato su stream: Apri file .one da un flusso binario (ad es., io.BytesIO) senza scrivere su disco.

Esperienza dello sviluppatore

Aspose.Note FOSS si installa con un singolo comando pip install aspose-note. Il pacchetto base non ha dipendenze opzionali; l’esportazione PDF richiede ReportLab, installato tramite pip install "aspose-note[pdf]".

L’API è modellata sull’interfaccia familiare Aspose.Note per .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. La libreria è rilasciata con licenza MIT, open-source, e accetta segnalazioni di bug e contributi su GitHub.

Carica un file OneNote ed estrai tutto il testo

Installa con pip, poi passa un percorso file a Document() per analizzare il formato binario OneNote. GetChildNodes(RichText) esegue una ricerca ricorsiva profonda e restituisce ogni nodo di testo nel documento, il che è utile per l’indicizzazione full‑text o per pipeline di migrazione.

pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Extract all text across the entire document
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
   print(text)

Esporta in PDF e salva le immagini allegate

L’esportazione PDF richiede la dipendenza opzionale ReportLab. Installala con pip install "aspose-note[pdf]". Lo stesso oggetto Document può anche essere iterato per i nodi Image per estrarre e salvare tutte le immagini incorporate su disco in un’unica operazione.

from aspose.note import Document, SaveFormat, Image
import pathlib

doc = Document("notebook.one")

# Export the document to PDF (requires aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Save all embedded images to disk
out_dir = pathlib.Path("images")
out_dir.mkdir(exist_ok=True)
for i, img in enumerate(doc.GetChildNodes(Image)):
   name = img.FileName or f"image_{i}.bin"
   (out_dir / name).write_bytes(img.Bytes)

Domande Frequenti

Qual è Aspose.Note FOSS per Python?

È una libreria Python gratuita, con licenza MIT, per leggere i file Microsoft OneNote (.one) senza richiedere Microsoft Office, l’automazione COM o alcun runtime proprietario.

Quali varianti del formato OneNote sono supportate?

OneNote 2010, OneNote Online e varianti di formato OneNote 2007. Qualsiasi file di sezione .one valido può essere caricato.

Come lo installo?

Esegui pip install aspose-note per la libreria di base, oppure pip install "aspose-note[pdf]" per includere la dipendenza opzionale ReportLab per l’esportazione PDF.

Posso esportare i file OneNote in PDF?

Sì. Chiama Document.Save(path, SaveFormat.Pdf). L’esportazione PDF richiede la dipendenza opzionale ReportLab installata tramite l’extra [pdf].

Posso caricare file .one da uno stream?

Sì. La classe Document accetta un flusso binario (ad esempio io.BytesIO o un corpo di risposta HTTP) in modo da poter elaborare i file senza scriverli su disco.

Quale versione di Python è richiesta?

Python 3.10 o versioni successive è richiesto.

Posso scrivere o modificare un file .one?

No. L’edizione attuale è in sola lettura. Può aprire e analizzare qualsiasi file di sezione .one valido, ma la scrittura nel formato binario OneNote non è supportata.

Sono supportati i documenti OneNote crittografati?

No. Il caricamento di un file .one protetto da password genera un IncorrectPasswordException. I documenti crittografati non sono supportati nell’edizione attuale.

Dove posso trovare il codice sorgente?

La libreria è rilasciata sotto licenza MIT e ospitata su GitHub. Segnalazioni di bug e pull request sono benvenute.

  

Risorse di Supporto e Apprendimento

 Italiano