1. 产品
  2.   字处理
  3.   Python
  4.   Python-Mammoth
 
  

Python API 将 Word DOCX 内容转换为网页就绪的 HTML

开源 Python 库,允许软件开发者在 Python 应用中读取并将 Microsoft Word DOCX 内容转换为网页就绪的 HTML。

什么是 Python-Mammoth?

文档转换已成为当今数字环境中开发交互式文本应用的软件开发者的一项关键需求。文件格式之间的平滑转换能够保证兼容性,并在构建电子学习平台、文档自动化工具或内容管理系统(CMS)时节省时间。在这一领域中,一个强大的库是 Python-Mammoth,这是一款专门用于将 Microsoft Word(DOCX)文档转换为干净且语义化 HTML 的开源 Python 库。它支持语义化 HTML 输出、从 DOCX 文件中提取图像、自定义样式映射、对不支持的元素或潜在的格式问题提供有用的警告、轻松集成到基于 Python 的应用中等众多功能。

Python-Mammoth 由 Michael Williamson 开发,是一款专注于从 DOCX 文档中提取核心内容并将其转换为结构良好的 HTML 的开源 Python 库。其主要目标是生成干净且语义化的 HTML 输出,避免不必要的内联样式或杂乱的标记。与许多其他文档转换工具不同,它强调简洁性和准确性,保留文档的语义,如标题、段落和列表,而不是追求像素级完美。该库支持从 Word 模板生成干净且一致的 HTML 报告。它对简洁、干净输出和可扩展性的关注,使其成为寻求文档转换解决方案的开发者的绝佳选择。

Previous Next

Python-Mammoth 入门指南

Python-Mammoth 托管在 PyPI 上,安装非常简便。可使用以下命令通过 pip 安装。

通过 pip 命令安装 Python-Mammoth

 pip install mammoth 

通过 Python 将 Word DOCX 转换为 HTML

开源的 Python-Mammoth 库使软件开发者能够在 Python 应用中轻松加载并将 Microsoft Word DOCX 文件转换为 HTML。该库的突出特性之一是能够生成干净、语义化的 HTML 输出。它避免嵌入不必要的内联样式或专有标签,确保最终的 HTML 仍然轻量并易于使用 CSS 进行样式化。以下示例展示了如何将 DOCX 内容转换为 HTML,准备好进一步显示或样式化。

如何通过 Python API 将 DOCX 内容转换为 HTML?

 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

自定义样式映射支持

Python-Mammoth 库提供了一系列自定义选项,使软件开发者能够微调文本提取过程以满足其特定需求。开发者可以定义自定义样式映射,以控制 DOCX 样式如何转换为特定的 HTML 元素。这为渲染文档内容提供了更大的灵活性。以下示例展示了如何将 DOCX 中的 Heading 1 样式明确映射为 Python 应用中的 HTML h1 标签。

如何将 DOCX 中的 Heading 1 样式映射为 Python 应用中的 HTML H1 标签?

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)

 

通过 Python 将 DOCX 图像转换为 HTML

开源的 Python-Mammoth 库使软件开发者能够轻松从 Microsoft Word DOCX 文件中提取图像并将其包含在生成的 HTML 中。默认情况下,图像引用会以 URL 形式包含,但开发者可以自定义图像的处理方式。以下示例展示了如何使用 Python 命令在 HTML 输出中保留来自 DOCX 文件的图像。

如何通过 Python API 将 DOCX 文件中的图像转换为 HTML 输出?

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)

 

布局分析

开源的 Python-Mammoth 库可以分析 Word DOCX 文档的布局,识别表格、图像和文本块等元素。此功能对需要准确提取布局信息的应用至关重要。

 中国人