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

Aspose.Note FOSS for 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

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

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

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

Leggere e navigare nei documenti di OneNote

  • ** Caricare .one file:** Aprire qualsiasi sezione di OneNote da un percorso o flusso binario tramite Document.
  • Trasversale DOM completo: Navigare Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Estrazione di testo ricco: Leggere il testo grezzo tramite RichText.Text o ispezionare i segmenti TextRun per trovare metadati grassetti, corsivi, caratteri, colori e collegamenti ipertestuali.
  • ** Parsing della tabella:** Traversa le gerarchie Table → TableRow → TableCell; leggi larghezze di colonna tramite TableColumn.Width.
  • Ispezione dei tag: Leggere NoteTag metadati (forma, etichetta, colore, stato di completamento) su testi, immagini e nodi di tabella.

Dove Aspose.Note FOSS può essere utilizzato

  • Indicizzazione dei contenuti: Estrarre e indicizzare tutto il testo dagli archivi di OneNote per le pipeline di ricerca.
  • Migrazione del documento: Esporta sezioni di OneNote in PDF, testo semplice o dati strutturati.
  • ** Strumenti di archiviazione:** Salvare immagini e allegati incorporate sul disco dai file .one.
  • Flussi di lavoro CI/CD: Valida o elabora contenuti OneNote all’interno dei container Docker.
  • Pipeline di base conoscenze: Estrarre contenuti strutturati dai notebook del team OneNote.

Esportazione, immagini e allegati

  • Esportazione PDF: Salva qualsiasi Document caricato in PDF utilizzando Document.Save(path, SaveFormat.Pdf). L’edizione FOSS utilizza un rendering predefinito; le opzioni avanzate per pagina di PDF non sono disponibili in questa versione.
  • Image export: Iterate i nodi Image per recuperare byte grezzi (Bytes), nome del file ( FileName) e dimensioni ( OriginalWidth, OriginalHeight).
  • Salvamento degli allegati: Iterare i nodi AttachedFile per salvare gli allegato dei file incorporati al disco.
  • ** Caricamento basato su stream:** Aprire file .one da un stream binario (ad esempio, io.BytesIO) senza scrivere sul disco.

Esperienza dello sviluppatore

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

Il API è modellato sul familiare Aspose.Note per l’interfaccia .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. La libreria è rilasciata sotto licenza MIT, open-source, e accetta segnalazioni di bug e contributi su GitHub.

Caricare un file OneNote e estrarre tutto il testo

Installa con pip, quindi passa un percorso di file a Document() per analizzare il formato binario OneNote. GetChildNodes(RichText) esegue una ricerca ricorsiva profonda e restituisce ogni nodo di testo nel documento, che è utile per l’indicizzazione del testo completo o le condotte 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. Installa con pip install "aspose-note[pdf]". Lo stesso oggetto Document può essere iterato anche per i nodi Image per estrarre e salvare tutte le immagini incorporate sul disco in un solo passaggio.

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

Che cos’è Aspose.Note FOSS per Python?

È una libreria Python gratuita con licenza MIT per la lettura di file Microsoft OneNote (.one) senza richiedere Microsoft Office, automazione COM o qualsiasi tempo d’esecuzione proprietario.

Quali varianti di formato OneNote sono supportate?

Varianti di formato OneNote 2010, OneNote Online e OneNot 2007. Può essere caricato qualsiasi file di sezione .one valido.

Come lo instalo?

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

Posso esportare file OneNote in PDF?

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

Posso caricare file .one da un stream?

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

Quale versione di Python è richiesta?

Python 3.10 o successiva è richiesta.

Posso scrivere o modificare un file .one?

No. L’edizione corrente è solo lettura. Può aprire e analizzare qualsiasi file di sezioni .one valido, ma non è supportata la scrittura in formato binario OneNote.

Sono supportati i documenti OneNote crittografati?

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

Dove posso trovare il codice sorgente?

La libreria è concessa in licenza dal MIT e ospitata su GitHub. I report di bug e le richieste di pull sono benvenute.

  

Risorse di Supporto e Apprendimento

 Italiano