BSD-3-Clause 开源 · 来自 JitWord .doc 导入链路

doc2docx
Node.js 文档格式转换库

把 Word 97-2003 二进制文档(.doc)转换为 OOXML(.docx), Buffer 进、Buffer 出,仅限 Node.js 环境,源自 JitWord 协同文档 .doc 导入链路

安装命令
npm install @jitword/doc2docx
Node ≥ 18
服务端专用
5 平台
按需下载 ~34MB
Buffer I/O
异步 Promise API
BSD-3
开源协议

核心特性

专为服务端文档处理场景打造,兼顾性能、还原度与易用性

补齐 .doc 那一跳

现代 JS 生态的 docx 解析库一律只认 .docx,本包负责把 [MS-DOC] 二进制转成标准 OOXML,产出可交给任意 docx 处理器

真实公文语料打磨

已用于 JitWord 的 .doc 导入链路,日常处理公文、合同等真实文档,段落、字体、表格、内联图片正常还原

按平台分发二进制

自包含原生可执行文件按平台拆成 optionalDependencies,npm 只下载匹配当前机器的一份(约 34MB),目标机无需额外运行时

Buffer 进 Buffer 出

异步 API 只有 convertDocToDocx 一个入口,输入本就是 .docx 时原样透传,非 Word 文档或加密文件抛出可操作错误

快速开始

Buffer 进、Buffer 出,几行代码完成 .doc → .docx 转换

1

安装

Node.js ≥ 18
npm i @jitword/doc2docx

原生二进制按平台拆成 optionalDependencies,npm 只会下载匹配当前机器的那一份(约 34MB),不会为用不到的架构浪费带宽。

2

基本用法

CommonJS · 异步
const fs = require('node:fs')
const { convertDocToDocx } = require('@jitword/doc2docx')

const docx = await convertDocToDocx(fs.readFileSync('合同.doc'))
fs.writeFileSync('合同.docx', docx.buffer)

进 Buffer、出 Buffer,没有别的概念。产出是标准 .docx,交给任意 docx 解析器或编辑器继续处理即可。

3

API 签名与返回字段

TypeScript
convertDocToDocx(
  input: Buffer | Uint8Array | ArrayBuffer,
  options?: { timeoutMs?: number },
): Promise<{ buffer: Buffer; durationMs: number; passthrough: boolean }>
  • passthrough: true —— 输入本来就是 .docx(扩展名写错是很常见的情形)时原样返回。
  • durationMs —— 本次转换耗时,便于打点与性能监控。
  • 输入不是 Word 二进制文档、或受密码保护时,抛出带可操作说明的错误。
  • options.timeoutMs —— 可选超时时间,避免异常文档阻塞主流程。
4

支持的平台

仅限 Node.js
平台 可选依赖包
linux-x64@jitword/doc2docx-linux-x64
linux-arm64@jitword/doc2docx-linux-arm64
win32-x64@jitword/doc2docx-win32-x64
darwin-arm64(Apple Silicon)@jitword/doc2docx-darwin-arm64
darwin-x64(Intel Mac)@jitword/doc2docx-darwin-x64

其它平台可自行构建后用环境变量 DOC2DOCX_PATH 指向可执行文件。内部调用原生二进制,无法在浏览器中运行

已知边界: 浮动(锚定)图片与艺术字当前会丢失,内联图片正常;复杂版式、多图文档、矢量图(EMF/WMF)尚未充分覆盖。 本包在独立使用场景下仍处于试验阶段,语料验证样本有限,接入生产前请先用自己的文档验证效果。

应用场景

覆盖各类服务端文档处理与办公系统场景

批量文档迁移

历史存量 .doc 文档批量转换为标准 docx 格式,统一文档标准,便于在线协作与管理

企业办公系统

OA、CRM、知识管理系统后端集成,自动处理用户上传文档,提升系统兼容性

私有化部署

内网、涉密环境服务端本地转换,文件不出域,满足金融、政务等强合规需求

开源 · 共建 · 共享

doc2docx 基于 BSD-3-Clause 协议开源,由 JitWord 协同办公团队持续维护, 欢迎提交 Issue、PR 一起完善项目

来自 JitWord 即时文档团队

企业级协同文档 私有化部署 AI 智能能力