Word 转PDF
在浏览器本地用 mammoth 把 .docx 解析成规整的排版预览(标题、段落、列表、表格、图片),选好纸面与字号后点「打印导出 PDF」,在浏览器打印对话框里选「另存为 PDF」即得成品。全程无服务端渲染,文档不出设备。
「Word 转 PDF」的红海方案几乎都在服务端跑 LibreOffice;本工具换了条完全本地的路:mammoth 把 docx 转成网页排版,浏览器负责分页与出图——传上去的是你的打印机驱动,不是你的文档。作业、合同、公文这类不便上传的文件尤其合适。
口径提醒:这是「排版预览 + 打印导出」,不是 Word 引擎逐像素复刻。页眉页脚、艺术字、复杂混排可能与 Word 里的样子有差异;要求严格一致的场景请用 Word/WPS 自带的「另存为 PDF」。老 .doc 格式不支持,先在 Word 里另存为 .docx。
—
—
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 「选择文件」上传一个 .docx(或直接用内置示例)。
- 选纸面:A4(默认)、Letter 或 A5。
- 选正文字号:小号 / 标准 / 大号。
- 点「生成预览」核对排版,再点「打印导出 PDF」,在打印对话框目标里选「另存为 PDF」。
计算原理与示例
怎么把 Word 文档转成 PDF
上传 .docx 后 mammoth 在浏览器本地解析文档体:标题层级、段落、列表、表格和内嵌图片转成网页排版,按你选的纸面宽度和字号呈现;核对无误点「打印导出 PDF」,在打印对话框把目标改成「另存为 PDF」保存即可。
为什么用打印对话框导出
因为「把网页排成 PDF」正是浏览器最擅长的事:分页、字体嵌入、边距控制都由打印引擎完成,不需要上传文件、也不需要服务端渲染。各家在线转换站的服务器负载,在这里全部转移给了你自己的浏览器。
预览和 Word 里显示不完全一样?
预览覆盖正文主干;页眉页脚、脚注、文本框、艺术字这类「版式物件」docx 里是独立部件,mammoth 不搬运,所以不会出现。文字内容本身不丢;需要和 Word 逐像素一致时用 Office 自带「另存为 PDF」。
图片、表格能带过去吗
表格与内嵌图片会保留进预览(图片以内联方式渲染,打印成 PDF 后一并带出)。超大图片会拖慢解析,单个文件限 20 MB;链接、批注、修订记录等交互元素转后会变成纯文本。
代码示例
JavaScript mammoth 把 docx 转成网页排版(浏览器内,不上传)
// docx 读出 HTML:标题/段落/列表/表格/内嵌图片都会保留
const buffer = await file.arrayBuffer();
const { value } = await mammoth.convertToHtml({ arrayBuffer: buffer });
previewEl.innerHTML = value;
// 「转 PDF」这一步交给浏览器打印排版引擎:
// 打印对话框 → 目标选「另存为 PDF」,分页与字体由浏览器完成
window.print();
Shell 本机命令行(需要逐像素一致时)
# LibreOffice 无头转换,版式与 Word 最接近
soffice --headless --convert-to pdf report.docx
# macOS 用系统自带的 cups/PDF 服务(同引擎不同入口)
cupsfilter report.docx > report.pdf
# 批量:当前目录全部 docx 转 pdf
for f in *.docx; do soffice --headless --convert-to pdf "$f"; done
常见问题
Word 文档会上传到服务器吗?
不会。解析(mammoth)与排版(浏览器打印引擎)都在本机完成,本站这条链路没有任何服务端参与,涉密文档、未定稿合同都可以放心走本地。
为什么最后一步要点「打印」?
生成的 PDF 来自浏览器打印引擎:目标选「另存为 PDF」就是导出。这样做换来两点——文件不出设备、字体和分页由成熟引擎处理;代价是要在对话框里多点一下,Chrome/Edge 里通常不到两秒。
老 .doc 格式支持吗?
不支持。本工具解析的是 Office 2007+ 的 .docx(zip 结构);上传 .doc 会明确报错提示。先在 Word 或 WPS 里「另存为 .docx」,再回来转换即可。
页眉页脚怎么没了?
页眉页脚、脚注、文本框属于 docx 的版式部件,mammoth 的转换口径只搬运正文流,这是「本地方案」与「Word 引擎」的能力边界,页面文案已如实标注。需要页眉页脚请用 Office 自带导出。
手机和平板上怎么导出 PDF?
能。解析全在浏览器里,手机浏览器同样支持:预览后用系统分享/打印面板里的「存储为 PDF」(iOS)或「另存为 PDF」(Android Chrome)即可导出。
最大支持多大的文件?
单个 .docx 限 20 MB——超出通常意味着内嵌了大量高清图片,解析既慢、打印分页也更吃力。建议先在 Word 里压缩图片,或拆分文档后再转。
转换会丢文字吗?
正文文字不会丢:标题、段落、列表、表格单元格都会进预览。批注、修订痕迹、域代码(如自动目录)会转成纯文本或被略过,导出前建议按「生成预览」核对一遍。
导出的 PDF 能编辑吗?
PDF 里的文字是可选中的真文字(非图片贴页),复制、检索没问题;要改动内容请回到 .docx 原件修改后重新导出——这也正是「Word + 按需导出 PDF」工作流的好处。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。