Aspose.Note FOSS for Python Is Now Available

Nos complace anunciar la disponibilidad de Aspose.Note FOSS for Python en PyPI. Esta biblioteca gratuita y de código abierto permite a los desarrolladores Python leer Microsoft OneNote .one archivos de sección, recorrer su modelo de objeto de documento completo, extraer contenido y exportar a PDF, sin requerir Microsoft Office ni ningún runtime propietario.

Instálalo ahora:

pip install aspose-note

Para exportar a PDF:

pip install "aspose-note[pdf]"

¿Qué es Aspose.Note FOSS para Python?

Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) para leer Microsoft OneNote .one archivos. Está respaldado por un analizador binario MS-ONE/OneStore puro-Python incorporado, sin interoperabilidad COM, sin DLL nativa de la plataforma y sin requerir la instalación de Microsoft Office.

La superficie de la API está modelada después de Aspose.Note for .NET, lo que hace que la transición sea familiar para los equipos que ya utilizan productos Aspose en otras plataformas.


Capacidades clave

Leer cualquier archivo .one

Cargue archivos de sección de OneNote 2010, OneNote Online y OneNote 2007 desde una ruta de archivo o cualquier flujo binario:

from aspose.note import Document

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

Recorrer el DOM completo del documento

La biblioteca expone un modelo de objeto de documento completo: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. Utilice GetChildNodes(Type) para búsquedas recursivas y filtradas por tipo:

from aspose.note import Document, RichText

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

Extraer texto con formato enriquecido

Cada RichText el nodo contiene una lista de TextRun segmentos. Cada run lleva metadatos por carácter TextStyle metadatos: negrita, cursiva, subrayado, nombre de fuente, color de fuente, dirección de hipervínculo y más:

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

Guardar imágenes y archivos adjuntos

Recuperar imágenes incrustadas como bytes sin procesar con nombre de archivo y dimensiones. Guardar archivos adjuntos en 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)

Analizar tablas

Recorrer Table → TableRow → TableCell jerarquías y leer el contenido de la celda:

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)

Cómo hacerlo: Exportar a PDF

Guarda cualquier documento cargado en PDF usando el backend opcional ReportLab. Configura el rango de páginas y la renderización de íconos de etiquetas con PdfSaveOptions:

from aspose.note import Document, SaveFormat

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

Tipos de contenido compatibles

ContenidoSoportado
Páginas y títulos de página
Texto plano (RichText.Text)
Secuencias formateadas (negrita, cursiva, subrayado, fuente, color)
Hipervínculos en secuencias de texto
Imágenes incrustadas (bytes, nombre de archivo, dimensiones)
Archivos adjuntos (bytes, nombre de archivo)
Tablas (filas, celdas, anchos de columna)
Etiquetas de OneNote (NoteTag: shape, label, color)
Listas numeradas y con viñetas (NumberList)
Metadatos de página (author, creation time, level)
Exportación a PDFSí (se requiere ReportLab)
Escribir de vuelta a .oneNo compatible
Documentos cifradosNo compatible

API familiar para desarrolladores de .NET

Los equipos que ya usan Aspose.Nota para .NET encontrará la API Python inmediatamente reconocible. Clases principales como Document, Page, RichText, Image, DocumentVisitor, y SaveFormat coinciden con los equivalentes de .NET en nombre y comportamiento.

Para escenarios que requieren soporte completo de escritura, conversión a formatos adicionales o manejo de documentos cifrados, el comercial Aspose.Note for .NET y Aspose.Note for Java productos están disponibles.


Resumen de instalación

ComandoPropósito
pip install aspose-noteBiblioteca central (lectura, recorrido, acceso DOM)
pip install "aspose-note[pdf]"Central + exportación PDF (añade ReportLab)
pip install -e ".[pdf]"Instalación editable desde el código fuente (colaboradores)

Requisitos: Python 3.10, 3.11, o 3.12. No se requiere Microsoft Office.


Comenzar