作者:JitWord 协同文档团队
开源、文档处理、企业OA、国产化协同文档
做企业协同文档这几年,有一个痛点反复被客户、开发者提起:老旧 .doc 文件的兼容噩梦。
很多政务、国企、传统企业的服务器、OA系统、知识库里面沉淀着海量 Word97‑2003 的 .doc 二进制文件。 现在几乎所有现代文档库、在线编辑器,只认 .docx(OOXML标准格式)。
想解析、预览、在线编辑这些历史文档,摆在开发者面前的选择并不多:
- 调用 LibreOffice:服务端要部署完整办公套件,资源开销巨大,容器环境各种坑,转换效果不稳定;
- 调用 Word COM组件:仅限Windows服务器,私有化Linux环境直接无解;
- 在线第三方转换接口:文件要外传,涉密、内网场景直接不敢用;
- 自己解析MS‑DOC二进制协议:协议晦涩庞大,开发周期长,坑多到怀疑人生。
我们 JitWord 在做企业协同文档产品时,同样被这个难题卡住。为了支撑政企客户存量公文、合同、历史档案导入协同编辑器,我们研发了一套服务端 .doc → .docx 转换内核,经过大量真实公文语料打磨,现在决定把它完整开源: @jitword/doc2docx。

文档地址:jitword.com/doc2docx.ht...
开源地址:github.com/jitOffice/d...
doc2docx:专为服务端而生的 doc 转 docx 开源库
doc2docx 是一套 Node.js 环境的文档转换库,专门用来把老旧二进制 .doc,输出标准 OOXML .docx Buffer,Buffer进、Buffer出,异步Promise API,只跑在服务端,浏览器不可用。
✨核心亮点
- 真实业务语料打磨,不是玩具Demo 这个库不是实验室项目,它本身就是JitWord协同文档内部的
.doc导入链路,已经在线上处理过大量公文、合同、企业旧档案。段落、字体、表格、内联图片都可以正常还原。 - 按平台分发原生二进制,轻量部署 原生二进制文件拆分为不同平台的可选依赖。npm安装只会下载当前服务器架构对应的二进制包,体积仅约34MB。不需要预装LibreOffice、不需要Word,容器、私有化内网直接跑,Linux‑x64/arm64、Windows‑x64、Mac Silicon/Intel全部支持。
- 友好的API设计,业务接入简单
javascript
const fs = require('node:fs')
const { convertDocToDocx } = require('@jitword/doc2docx')
// 读取doc buffer,直接输出docx buffer
const result = await convertDocToDocx(fs.readFileSync('存量合同.doc'))
fs.writeFileSync('存量合同.docx', result.buffer)
API返回包含转换耗时durationMs用于监控;如果输入本身已经是docx(很多业务会出现后缀名写错),直接透传返回passthrough:true;遇到加密文档、非Word文件,抛出明确可捕获业务错误,还支持超时配置,防止异常文档卡死服务线程。
- BSD‑3‑Clause宽松开源协议 企业商业项目可以直接集成使用,无需开源自身业务代码,欢迎Issue、PR共建完善项目。
⚠️ 边界说明:目前浮动锚定图片、艺术字会丢失;矢量图EMF/WMF尚未完全覆盖;独立使用仍属于试验阶段,接入生产务必先用自身真实文档做充分验证;加密doc文档暂无法处理。
结合JitWord协同文档,释放更大业务价值
开源转换内核,只是第一步。 很多企业的诉求不只是"把doc变成docx文件",而是把海量历史旧文档,直接搬进在线协同办公体系。

doc2docx + JitWord协同文档,完整打通「老旧存量文档 → 标准docx → 在线协同编辑」的全链路,适配这些高频企业场景:
1、政企存量档案批量迁移
政务、国企知识库、档案系统,成千上万份历史公文、合同是.doc格式。 先用doc2docx服务端批量转换成标准docx,再直接导入JitWord协同文档平台。实现历史文档在线预览、多人协同修订、版本回溯、权限管控,不需要人工逐个打开另存为,极大降低档案数字化成本。文件全程内网处理,数据不出域,满足涉密、合规要求。
2、OA/CRM业务系统后端集成
很多OA系统用户上传附件混杂大量旧版doc文件。 业务后端集成doc2docx,用户上传.doc,后端自动静默转换成docx,再送入JitWord在线编辑器。用户无感,直接打开就能在线编辑,不用提示用户"请把doc另存为docx再上传",极大改善终端用户体验。
3、私有化、国产化环境部署
金融、政务内网环境,服务器不能访问外网,不能部署庞大LibreOffice套件,更不能调用公有云转换接口。 doc2docx可以完全离线私有化部署,配合JitWord国产化协同文档SDK,嵌入业务系统,完成文档转换+在线编辑整套能力,完全适配信创环境需求。
简单说:doc2docx解决「旧格式到现代docx格式的格式鸿沟」;JitWord解决「docx文档之后的在线协同、预览、编辑、权限、SDK集成」,二者组合,真正解决企业文档数字化落地难题。
写在最后:为什么我们要把底层能力开源?
做企业协同文档,我们深深感受到:文档格式兼容是大量系统绕不开的基础设施难题。 市面上很多开源工具,要么效果差,要么部署重,要么协议不适合商业项目。
我们自己踩完所有坑打磨出来的转换内核,与其只留给JitWord的付费客户,不如把基础能力开放给整个开发者社区。
一方面希望能够帮到正在被.doc兼容折磨的后端开发者、OA厂商、SaaS产品团队;另一方面也期待社区反馈更多真实文档样本,一起把这个转换库打磨得更强。
如果你遇到老旧doc转换的问题,可以直接使用;
如果你正在使用JitWord协同文档,也可以直接接入这套能力补齐旧文档导入短板。
文档地址:jitword.com/doc2docx.ht...
开源地址:github.com/jitOffice/d...
欢迎大家Star、提Issue反馈转换异常样例,一起共建文档处理开源生态❤️。
大家业务系统里面还有大量 .doc 遗留文档吗?遇到过哪些文档格式兼容的坑?欢迎评论区留言交流。
关于JitWord:国产化企业级AI协同文档,支持私有化部署,提供SDK可嵌入OA、CRM、知识库系统,支持多人实时协同编辑、复杂Word导入导出、AI文档能力。