一组简短、独立的 JavaScript 文章与代码片段,帮助开发者快速学习日常编程技巧。
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
从 npm 安装该库
npm install mammoth - 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 数据每日更新。
相关项目
用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架,基于 Node.js 与 Chromium。
Node.js 是一个开源、跨平台的 JavaScript 运行时,可在浏览器之外运行 JavaScript。
一体化 JavaScript/TypeScript 工具链,集运行时、打包器、测试运行器和包管理器于一个可执行文件。
一个面向 TypeScript 和 JavaScript 的渐进式 Node.js 服务端框架,用于构建高效、可扩展的应用。
面向 Node.js 的快速、极简网络框架,用于构建 Web 应用和 HTTP API。