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

Aspose.Note FOSS para Python

Lee, recorre y exporta archivos (.one) de Microsoft OneNote desde Python — gratuito y de código abierto, sin necesidad de Microsoft Office.

Biblioteca de Python de código abierto para archivos OneNote

Aspose.Note FOSS para Python es una biblioteca 100% gratuita, con licencia MIT, que le permite leer archivos Microsoft OneNote (.one) completamente desde Python, sin Microsoft Office, sin automatización COM y sin requerir un tiempo de ejecución propietario. Expone una API pública limpia (aspose.note.*) modelada en la familiar interfaz Aspose.Note para .NET, respaldada por un analizador binario MS-ONE/OneStore incorporado escrito en puro Python.

Instale desde PyPI con pip install aspose-note (o pip install "aspose-note[pdf]" para habilitar la exportación a PDF). Requiere Python 3.10 o posterior.

La biblioteca es adecuada para scripts de automatización de documentos, canalizaciones de indexación de contenido, herramientas de archivo y cualquier flujo de trabajo del lado del servidor que necesite consumir contenido de OneNote sin una dependencia de Microsoft Office. Para la familia de productos empresariales, consulte Aspose.Note — Enterprise Product Family.

Lee y recorre documentos OneNote

  • Cargar archivos .one: Abra cualquier sección de OneNote desde una ruta de archivo o flujo binario mediante Document.
  • Full DOM traversal: Navegue Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Extracción de texto enriquecido: Leer texto sin formato a través de RichText.Text o inspeccionar segmentos TextRun para metadatos de negrita, cursiva, fuente, color y de hipervínculo.
  • Análisis de tabla: Recorra jerarquías Table → TableRow → TableCell; lea los anchos de columna mediante TableColumn.Width.
  • Inspección de etiquetas: Leer los metadatos NoteTag (shape, label, color, completion state) en nodos de texto, imagen y tabla.

Dónde se puede usar Aspose.Note FOSS

  • Indexación de contenido: Extraiga e indexe todo el texto de los archivos de OneNote para los pipelines de búsqueda.
  • Migración de documentos: Exportar secciones de OneNote a PDF, texto sin formato o datos estructurados.
  • Herramientas de archivado: Guardar imágenes incrustadas y archivos adjuntos en disco desde archivos .one.
  • Flujos de trabajo CI/CD: Validar o procesar contenido de OneNote dentro de contenedores Docker.
  • Knowledge-base pipelines: Extraiga contenido estructurado de los cuadernos OneNote del equipo.

Exportar, imágenes y archivos adjuntos

  • PDF export: Guarde cualquier Document cargado a PDF usando Document.Save(path, SaveFormat.Pdf). La edición FOSS utiliza una renderización predeterminada; las opciones avanzadas de PDF por página no están disponibles en esta versión.
  • Exportación de imagen: Iterar nodos Image para obtener bytes sin procesar (Bytes), nombre de archivo (FileName) y dimensiones (OriginalWidth, OriginalHeight).
  • Guardado de adjuntos: Iterar AttachedFile nodos para guardar los archivos adjuntos incrustados en el disco.
  • Carga basada en flujo: Abra archivos .one desde un flujo binario (p. ej., io.BytesIO) sin escribir en disco.

Experiencia del desarrollador

Aspose.Note FOSS se instala con un solo comando pip install aspose-note. El paquete base no tiene dependencias opcionales; la exportación a PDF requiere ReportLab, instalado a través de pip install "aspose-note[pdf]".

La API está modelada en la familiar Aspose.Note para .NET interfaz: Document, Page, Outline, RichText, Image, Table, AttachedFile. La biblioteca tiene licencia MIT, es de código abierto y acepta informes de errores y contribuciones en GitHub.

Cargar un archivo OneNote y extraer todo el texto

Instala con pip, luego pasa una ruta de archivo a Document() para analizar el formato binario de OneNote. GetChildNodes(RichText) realiza una búsqueda recursiva profunda y devuelve cada nodo de texto en el documento, lo que es útil para la indexación de texto completo o pipelines de migración.

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)

Exportar a PDF y Guardar Imágenes Adjuntas

La exportación de PDF requiere la dependencia opcional ReportLab. Instálala con pip install "aspose-note[pdf]". El mismo objeto Document también puede iterarse para los nodos Image para extraer y guardar todas las imágenes incrustadas en disco en una sola pasada.

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)

Preguntas frecuentes

¿Qué es Aspose.Note FOSS para Python?

Es una biblioteca Python gratuita y con licencia MIT para leer archivos Microsoft OneNote (.one) sin requerir Microsoft Office, automatización COM o cualquier tiempo de ejecución propietario.

¿Qué variantes de formato de OneNote son compatibles?

OneNote 2010, OneNote Online y variantes de formato de OneNote 2007. Cualquier archivo de sección .one válido puede cargarse.

¿Cómo lo instalo?

Ejecute pip install aspose-note para la biblioteca base, o pip install "aspose-note[pdf]" para incluir la dependencia opcional de ReportLab para la exportación a PDF.

¿Puedo exportar archivos de OneNote a PDF?

Sí. Llame a Document.Save(path, SaveFormat.Pdf). La exportación a PDF requiere la dependencia opcional de ReportLab instalada mediante el extra [pdf].

¿Puedo cargar archivos .one desde un flujo?

Sí. La clase Document acepta un flujo binario (p. ej., io.BytesIO o un cuerpo de respuesta HTTP) para que pueda procesar archivos sin escribirlos en disco.

¿Qué versión de Python se requiere?

Python 3.10 o posterior es necesario.

¿Puedo escribir o modificar un archivo .one?

No. La edición actual es de solo lectura. Puede abrir y analizar cualquier archivo de sección .one válido, pero no se admite escribir de nuevo al formato binario de OneNote.

¿Se admiten los documentos de OneNote cifrados?

No. Cargar un archivo .one protegido con contraseña genera un IncorrectPasswordException. Los documentos cifrados no son compatibles en la edición actual.

¿Dónde puedo encontrar el código fuente?

La biblioteca tiene licencia MIT y está alojada en GitHub. Se agradecen los informes de errores y las pull requests.

  

Recursos de soporte y aprendizaje

 Español