API Python para convertir contenido DOCX de Word en HTML listo para la web

Biblioteca Python de código abierto que permite a los desarrolladores de software leer y convertir contenido DOCX de Microsoft Word en HTML listo para la web dentro de aplicaciones Python.

¿Qué es Python-Mammoth?

La conversión de documentos se ha convertido en una necesidad crucial para los desarrolladores de software que crean aplicaciones que interactúan con texto en el entorno digital actual. Una transición fluida entre formatos de archivo puede garantizar compatibilidad y ahorrar tiempo al trabajar en una plataforma de e‑learning, una herramienta de automatización de documentos o un sistema de gestión de contenidos (CMS). Una biblioteca potente en este ámbito es Python-Mammoth, una biblioteca Python de código abierto diseñada específicamente para convertir documentos Microsoft Word (DOCX) en HTML limpio y semántico. Soporta salida HTML semántico, extracción de imágenes de archivos DOCX, mapeos de estilos personalizados, advertencias útiles sobre elementos no compatibles o posibles problemas de formato, integración fácil con aplicaciones basadas en Python y mucho más.

Desarrollado por Michael Williamson, Python-Mammoth es una biblioteca Python de código abierto centrada en extraer el contenido esencial de documentos DOCX y convertirlo en HTML bien estructurado. Su objetivo principal es producir salida HTML limpia y semántica sin estilos inline innecesarios ni marcado desordenado. A diferencia de muchas otras herramientas de conversión de documentos, prioriza la simplicidad y la precisión, preservando la semántica del documento como encabezados, párrafos y listas, en lugar de centrarse en una representación pixel‑perfecta. La biblioteca soporta la generación de informes HTML limpios y consistentes a partir de plantillas de Word. Su enfoque en la simplicidad, salida limpia y extensibilidad la convierte en una excelente opción para desarrolladores que buscan soluciones de conversión de documentos.

Previous Next

Introducción a Python-Mammoth

Python-Mammoth está alojado en PyPI, por lo que es muy sencillo instalarlo. Puede instalarse con pip usando el siguiente comando.

Instalar Python-Mammoth mediante el comando pip

 pip install mammoth 

Conversión de Word DOCX a HTML mediante Python

También puede instalarse mediante easy_install, pero no se recomienda.

¿Cómo convertir contenido DOCX a HTML mediante la API de Python?

 import mammoth

with open("document.docx", "rb") as docx_file:
    result = mammoth.convert_to_html(docx_file)
    html = result.value # The generated HTML
    messages = result.messages # Any messages, such as warnings during conversion

Soporte de mapeo de estilos personalizados

La biblioteca de código abierto Python-Mammoth facilita a los desarrolladores cargar y convertir archivos Microsoft Word DOCX a HTML dentro de aplicaciones Python. Una de sus características más destacadas es su capacidad para producir una salida HTML limpia y semántica. Evita incrustar estilos inline innecesarios o etiquetas propietarias, asegurando que el HTML final sea ligero y fácil de estilizar con CSS. El siguiente ejemplo muestra cómo el contenido DOCX se convierte en HTML, listo para mostrarse o estilizarse más.

¿Cómo MAPEAR el estilo Heading 1 en DOCX a una etiqueta HTML H1 dentro de aplicaciones Python?

style_map = "p[style-name='Heading 1'] => h1:fresh"
with open("document.docx", "rb") as docx_file:
    result = mammoth.convert_to_html(docx_file, style_map=style_map)
    html = result.value
print(html)

 

Convertir imágenes DOCX a HTML mediante Python

La biblioteca Python-Mammoth ofrece una variedad de opciones de personalización, permitiendo a los desarrolladores afinar el proceso de extracción de texto para adaptarlo a sus necesidades específicas. Los desarrolladores pueden definir mapeos de estilos personalizados para controlar cómo los estilos DOCX se convierten en elementos HTML específicos. Esto permite mayor flexibilidad al renderizar el contenido del documento. Aquí hay un ejemplo que muestra cómo el estilo Heading 1 en DOCX se asigna explícitamente a una etiqueta HTML h1 dentro de aplicaciones Python.

¿Cómo convertir imágenes de un archivo DOCX a salida HTML mediante la API de Python?

with open("document.docx", "rb") as docx_file:
    result = mammoth.convert_to_html(docx_file, convert_image=mammoth.images.img_element())
    html = result.value

print(html)

 

Análisis de diseño

La biblioteca de código abierto Python-Mammoth facilita a los desarrolladores extraer imágenes de archivos Microsoft Word DOCX e incluirlas en el HTML resultante. Por defecto, las referencias a imágenes se incluyen como URLs, pero los desarrolladores pueden personalizar cómo se manejan las imágenes. Aquí hay un ejemplo que muestra cómo se preservan las imágenes del archivo DOCX en la salida HTML usando comandos Python.

 Español