Aspose.Note FOSS for Python Is Now Available

Nous sommes heureux d’annoncer la disponibilité de Aspose.Note FOSS for Python sur PyPI. Cette bibliothèque gratuite et open-source permet aux développeurs Python de lire Microsoft OneNote .one les fichiers de sections, de parcourir leur modèle d’objet complet, d’extraire le contenu et d’exporter en PDF, sans nécessiter Microsoft Office ni aucun runtime propriétaire.

Installez-le maintenant :

pip install aspose-note

Pour l’exportation PDF :

pip install "aspose-note[pdf]"

Qu’est‑ce que Aspose.Note FOSS pour Python ?

Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) pour lire Microsoft OneNote .one fichiers. Elle repose sur un analyseur binaire MS-ONE/OneStore pur-Python intégré, sans interop COM, sans DLL native de plateforme, et aucune installation de Microsoft Office requise.

L’interface de l’API est modélisée d’après Aspose.Note for .NET, rendant la transition familière pour les équipes qui utilisent déjà les produits Aspose sur d’autres plateformes.


Fonctionnalités clés

Lire n’importe quel fichier .one

Chargez les fichiers de section OneNote 2010, OneNote Online et OneNote 2007 à partir d’un chemin de fichier ou de n’importe quel flux binaire :

from aspose.note import Document

doc = Document("MyNotes.one")
print(doc.DisplayName)   # Section name
print(len(list(doc)))       # Number of pages

Parcourir le DOM complet du document

La bibliothèque expose un modèle d’objet complet : Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. Utilisez GetChildNodes(Type) pour des recherches récursives et filtrées par type :

from aspose.note import Document, RichText

doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]

Extraire le texte avec un formatage riche

Chaque RichText node contient une liste de TextRun segments. Chaque run porte des métadonnées par caractère TextStyle métadonnées : gras, italique, souligné, nom de police, couleur de police, adresse du lien hypertexte, et plus :

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}")

Enregistrer les images et les pièces jointes

Récupérer les images intégrées sous forme d’octets bruts avec le nom de fichier et les dimensions. Enregistrer les fichiers joints sur le disque :

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)

Analyser les tableaux

Parcourir Table → TableRow → TableCell hiérarchies et lire le contenu des cellules :

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)

Comment faire : exporter en PDF

Enregistrez tout document chargé au format PDF en utilisant le backend optionnel ReportLab. Configurez la plage de pages et le rendu des icônes de balises avec PdfSaveOptions:

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

Types de contenu pris en charge

ContenuPris en charge
Pages et titres de pageOui
Texte brut (RichText.Text)Oui
Segments formatés (gras, italique, souligné, police, couleur)Oui
Hyperliens dans les segments de texteOui
Images intégrées (octets, nom de fichier, dimensions)Oui
Fichiers joints (octets, nom de fichier)Oui
Tableaux (lignes, cellules, largeurs de colonnes)Oui
Étiquettes OneNote (NoteTag : forme, libellé, couleur)Oui
Listes numérotées et à puces (NumberList)Oui
Métadonnées de page (auteur, date de création, niveau)Oui
Exportation PDFOui (ReportLab requis)
Écrire de retour à .oneNon pris en charge
Documents chiffrésNon pris en charge

API familière pour les développeurs .NET

Les équipes utilisent déjà Aspose.Note pour .NET trouvera l’API Python immédiatement reconnaissable. Les classes de base telles que Document, Page, RichText, Image, DocumentVisitor, et SaveFormat correspondent aux équivalents .NET en nom et en comportement.

Pour les scénarios nécessitant une prise en charge complète en écriture, la conversion vers des formats supplémentaires ou la gestion de documents chiffrés, le commercial Aspose.Note for .NET et Aspose.Note for Java produits sont disponibles.


Résumé de l’installation

CommandeObjectif
pip install aspose-noteBibliothèque de base (lecture, traversée, accès DOM)
pip install "aspose-note[pdf]"Base + export PDF (ajoute ReportLab)
pip install -e ".[pdf]"Installation modifiable à partir du code source (contributeurs)

Prérequis: Python 3.10, 3.11 ou 3.12. Aucun Microsoft Office requis.


Commencer