Repolode
mwilliamson

mwilliamson/mammoth.js

一个 JavaScript 库和命令行工具,可将 .docx Word 文档转换为简洁的语义化 HTML。

Star
6,330
Fork
673
未关闭 Issue
60
最近提交
5天前

这是什么?

Mammoth 可将 Microsoft Word、Google Docs 和 LibreOffice 等工具生成的 .docx 文档转换为 HTML。它主要依据文档中的语义信息(如段落样式)生成结构,忽略大部分视觉排版,例如将应用了“标题 1”样式的段落转换为 h1 元素,而不是复制其字体和字号。

项目可在 Node.js 和浏览器中运行,既能作为库调用,也提供命令行工具。通过自定义样式映射,可以把自有的 Word 样式对应到指定的 HTML 元素和类名;文档转换钩子则允许在生成 HTML 前修改解析后的文档结构。图片可以以 data URI 内联输出,也可以写入指定目录。

输出内容不做任何清理,处理不可信输入时需格外谨慎。外部文件访问默认关闭。Python、Java/JVM 和 .NET 版本由独立项目维护。

核心功能

  • 01将标题、列表、表格、图片、链接、脚注和尾注转换为 HTML。
  • 02通过样式映射把自定义 Word 样式对应到指定 HTML 元素。
  • 03支持粗体、斜体、下划线、删除线、上标和下标。
  • 04提供命令行工具以及 Node.js 和浏览器端的库 API。
  • 05可提取文档纯文本,忽略格式。
  • 06支持在生成 HTML 前对文档进行转换。

适用场景

  • 将 Word 撰写的文章或文档导入网站或内容管理系统。
  • 在浏览器中预览 .docx 内容,无需安装 Word。
  • 在 Node.js 构建或服务端流程中批量把 Word 文件转换为 HTML。

快速上手

  1. 1

    从 npm 安装该库

    npm install mammoth
  2. 2

    使用命令行将 .docx 文件转换为 HTML

    mammoth document.docx output.html

使用前须知

  • Mammoth 不会对源文档进行清理,处理不可信输入时需要格外小心。
  • 由于 .docx 与 HTML 的结构差异较大,复杂文档的转换结果可能不完美。
  • Markdown 输出已被弃用。

标签

常见问题

mammoth.js 是什么?
一个 JavaScript 库和命令行工具,可将 .docx Word 文档转换为简洁的语义化 HTML。 Mammoth 可将 Microsoft Word、Google Docs 和 LibreOffice 等工具生成的 .docx 文档转换为 HTML。它主要依据文档中的语义信息(如段落样式)生成结构,忽略大部分视觉排版,例如将应用了“标题 1”样式的段落转换为 h1 元素,而不是复制其字体和字号。
mammoth.js 可以免费使用吗?用的什么许可证?
mammoth.js 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
mammoth.js 还在维护吗?
活跃维护中。mammoth.js 最近一次提交是在 2026年10月16日。
mammoth.js 适合用来做什么?
将 Word 撰写的文章或文档导入网站或内容管理系统。 在浏览器中预览 .docx 内容,无需安装 Word。 在 Node.js 构建或服务端流程中批量把 Word 文件转换为 HTML。
mammoth.js 怎么安装和运行?
从 npm 安装该库: npm install mammoth 使用命令行将 .docx 文件转换为 HTML: mammoth document.docx output.html
在哪里获取 mammoth.js?
源代码和安装说明在 GitHub 上:https://github.com/mwilliamson/mammoth.js

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目