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
| Contenu | Pris en charge |
|---|---|
| Pages et titres de page | Oui |
Texte brut (RichText.Text) | Oui |
| Segments formatés (gras, italique, souligné, police, couleur) | Oui |
| Hyperliens dans les segments de texte | Oui |
| 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 PDF | Oui (ReportLab requis) |
Écrire de retour à .one | Non pris en charge |
| Documents chiffrés | Non 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
| Commande | Objectif |
|---|---|
pip install aspose-note | Bibliothè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
- PyPI: https://pypi.org/project/aspose-note/
- Code source: https://github.com/aspose-note-foss/Aspose.Note-FOSS-for-Python
- Signaler des problèmes: https://github.com/aspose-note-foss/Aspose.Note-FOSS-for-Python/issues
- Guide de démarrage
- Guide du développeur
- Référence de l’API
- Articles de la base de connaissances