Word → PDF 转换器,免费

将 Word 文件(.docx)即时转换为 PDF。无需注册。您的文件从不离开设备。

您的文件永不离开您的设备
将 Word 文件拖到此处 或点击浏览

支持 .docx · 最大 25 MB

注意:表格、图片和多栏等复杂格式可能在转换过程中被简化。

工作原理

  1. 上传 Word 文件:拖放或选择要转换的 .docx 文件。
  2. 配置选项:选择所需的页面大小和边距。
  3. 执行转换:点击「转换为 PDF」以生成 PDF。转换在浏览器中即时完成。

为什么转换为 PDF?

PDF 是通用文档格式。将 Word 文档转换为 PDF 可确保在所有设备和操作系统上格式一致,使文档只读以防止意外修改,减小文件大小,并非常适合分享、归档和专业提交。PDF 随处兼容,并保留您的原始格式。

「DOCX 转 PDF」到底意味着什么

`.docx` 文件并不是在 Word 中看到的那样一个单一文档。它是一个 ZIP 压缩包(ISO/IEC 29500-2 定义的 Open Packaging Conventions 容器),里面装着一棵 XML 文件树、嵌入的图像以及关系元数据。文档主要文本位于 word/document.xml 中的 WordprocessingML 标记里;段落样式在 word/styles.xml 中;列表编号在 word/numbering.xml 中;嵌入图像在 word/media/ 中。把任意 `.docx` 重命名为 `.zip` 并解压,就能用任意文本编辑器看到结构。该格式随 Microsoft Office 2007 一起推出,2006 年 12 月作为 ECMA-376 标准化,2008 年作为 ISO/IEC 29500 标准化,至今仍是数亿作者使用的 Word 默认格式。

PDF(Portable Document Format)描述相反的范式:固定布局的页面、确切坐标上的字形、嵌入的字体和绝对定位。DOCX 是基于流的(页面大小、边距或字体变化时文本会重排),PDF 则是像素定位的(每个字符都占据页面坐标系中一个具体的点)。两者之间的转换在结构上就是范式翻译:一个灵活的写作格式变成一个被冻结的渲染格式。无论是 Microsoft Word 自身、LibreOffice 的无界面转换器、Smallpdf 的云端引擎,还是这个浏览器工具,所有转换工具面对的都是同一个内在差距:源描述意图,目标描述外观,而意图必须在转换过程中被锁定为一个具体外观。

不同的转换方法在这个差距前做出不同的取舍。Word 自带的「另存为 PDF」使用与屏幕显示文档相同的渲染引擎,因此转换本质上是「渲染到 PDF 表面而非屏幕表面」;保真度极佳,输出中的文本可被选择。云服务通常使用服务端的 LibreOffice 或专有引擎;保真度高,文本可选,但文件被上传。这个浏览器工具使用一条不同的管线(下一节会描述),它在隐私和覆盖面(任意浏览器、任意设备、无需安装、无需上传)上做了优化,作为代价接受保真度上的损失。这些方法没有谁是普适的最佳;它们各自匹配不同的工作流。

这个工具的内部工作原理

转换完全在你的浏览器里,通过一条三阶段管线运行:mammoth.js 把 DOCX 解析为语义 HTML,html2canvas(由 html2pdf.js 调用)使用浏览器自身的渲染原语把那段 HTML 绘制到一个屏外的 `<canvas>` 元素,jsPDF(同样由 html2pdf.js 调用)把 canvas 包装为 JPEG 图像数据,放到 PDF 页面上,并在所配置的页面大小和边距所暗示的边界处加入分页。输出的 PDF 是一系列整页位图图像,每个源页面对应一张或多张,外加 PDF 元数据头。

这个管线有一个值得开头就坦白讲明的重要后果:输出的 PDF 是基于位图的,不是基于文本的。PDF 主体中可见的字符是图像中的像素,而不是带有嵌入字体数据的文本定位算子。实际上这意味着:在 PDF 中搜索找不到词;从页面主体复制粘贴什么也得不到;屏幕阅读器无法把内容当作文本来读;如果 PDF 被送入下游的文字处理工具,则需要先做 OCR。如果任何一种情形对你重要(法律取证、无障碍提交、用于检索的文档存档、任何会被软件解析的场景),合适的工具是 Microsoft Word 的「文件 → 另存为 PDF」或 LibreOffice 的「文件 → 导出为 PDF」,两者从 DOCX 源生成的都是基于文本的 PDF,文本可选、可搜索、对屏幕阅读器可访问。这个工具的目的是在不上传任何文档的前提下,从一份 Word 文档交付一个视觉上干净的 PDF;位图输出就是这份隐私保证的代价。

你选择 `.docx` 时,浏览器的 File API 把字节交给 mammoth.js。mammoth 把 DOCX 当作一个 OPC 包,提取 word/document.xml,并遍历 WordprocessingML 树:`<w:p>` 变成 `<p>`,`<w:tbl>` 变成 `<table>`,带粗体或斜体的运行变成行内标记,超链接变成 `<a>`,`word/media/` 中嵌入的图像变成行内的 base64 编码的 `<img>` 标签。然后工具把 HTML 渲染到一个隐藏的 DOM 容器内,把选中的页面大小与边距作为 CSS 应用,并以该容器调用 html2pdf。html2pdf 遍历容器,在 CSS 页面边界处把它切成虚拟页面,对每一页大小的片段调用 html2canvas,把所得的 canvas 位图组装成一个 jsPDF 文档。整条管线在初次加载库以后不再发起任何网络请求。

支撑转换的三个库

mammoth.js 是 DOCX 解析器。由 Michael Williamson 在 BSD-2-Clause 许可证下创建并在 GitHub 上以 mwilliamson/mammoth.js 维护。Williamson 自己写的设计哲学是:转换应保留语义内容(段落、标题、列表、表格、脚注、超链接、嵌入图像),而不是直接的视觉格式(特定字体、字号、颜色、间距)。作者认为文档会在不同上下文(Word、Web、ePub、PDF)之间迁移,而适合一种上下文的视觉样式很少同样适合另一种;保留语义结构比保留确切外观更有用。浏览器版的 bundle 约 600 KB 压缩后大小。

jsPDF 是 PDF 写入器。由 James Hall(GitHub:MrRio)于 2010 年创建,现由 yWorks GmbH 共同维护,MIT 许可证,在 GitHub 上位于 parallax/jsPDF。jsPDF 可以从文本、矢量图形、图像和 HTML canvas 写出 PDF;在本工具里它消费 html2canvas 提供的 canvas 位图并将其组装为 PDF 页面。html2canvas,由 Niklas von Hertzen 创建(MIT 许可证),是 HTML 到 canvas 的渲染器,使用每个元素的计算 CSS 把 DOM 节点绘制到 `<canvas>` 上。html2pdf.js 由 Erik Koopmans 编写(MIT 许可证),是粘合剂:编排 html2canvas 和 jsPDF,处理分页,提供干净的配置 API,并把所有这些打包为一个约 350 KB 压缩后大小的单一 bundle。

首次加载的总占用约为 950 KB。两个库在首次访问后被浏览器缓存,所以后续访问从网络角度看是瞬时的。四个项目(mammoth.js、html2canvas、jsPDF、html2pdf.js)都是开源的,使用 MIT 或 BSD 许可证,并已部署在数以万计的生产项目中。这条管线对其所服务的用例,不经过服务端渲染的视觉保真度 DOCX 转 PDF,是成熟的、被充分理解的、经过实战检验的。

DOCX 与 OOXML 标准的简史

驱动 Word 转 PDF 的真实工作流

常见陷阱及其含义

隐私:文档留在你的设备上

每一个主流的云端 Word 转 PDF 服务(Smallpdf、iLovePDF、Adobe Acrobat Online、PDF24、Sejda、Soda PDF)都会把你的文件上传到运营商的服务器,使用 LibreOffice 或专有引擎在服务端解析,渲染 PDF,再作为下载发回。隐私上的影响并不轻,Word 文档常常是个人或敏感的:简历和求职信里有家庭住址、电话和工作履历;求职信和个人陈述里有真诚的自我披露;HR 表单里有薪资预期;合同里有商务条款;医疗记录信件里有受保护的健康信息;法律草案里有律师与客户之间的特权内容。主流服务商发布的隐私政策都承诺在一两小时内删除、传输用 TLS 加密,规模较大的还持有 ISO/IEC 27001 认证并与 GDPR 对齐。他们有强烈的商业动机去履行这些承诺。但「一小时内删除」不等于「从未看过」:在那一小时里,文件内容驻留在他们的基础设施中,任何具备相应权限的进程或人都可访问,并按适用的保留期限出现在日志和备份中。

这个转换器不上传任何东西。mammoth.js 和 html2pdf.js 完全在你的浏览器标签页里运行;文件字节由 File API 读取,在 JavaScript 中处理,PDF 输出以 Blob 形式作为下载返回。你可以通过在点击「转换」之前打开浏览器开发者工具到 Network 标签页来验证没有上传:不会发出任何包含你文件内容的请求。唯一的网络流量是首次访问时一次性从 CDN 加载两个库(总计约 950 KB 压缩后),随后留存在浏览器缓存中。页面加载之后切换到飞行模式,转换器仍然可以处理本地文件。代价正如「工具如何工作」一节所述,是输出 PDF 基于位图:它失去了服务端转换所保留的文本可选性和可搜索性。对于绝大多数个人 Word 转 PDF 流程(简历、求职信、内部备忘、合同草稿、申请表),位图输出完全够用,隐私保证值得这个代价。对于输出需要可选文本的文档,正确的答案是 Word 自带的「另存为 PDF」或 LibreOffice 的「导出为 PDF」,只要文档永远不需要离开本地机器,它们也都可以离线、隐私地完成工作。

什么时候另一个工具才是合适的选择

功能特性

常见问题

支持哪些 Word 格式?

此转换器支持 .docx 文件(Microsoft Word 2007 及更高版本)。不支持较旧的 .doc 文件;您可以先在 Microsoft Word 中将其转换为 .docx,然后再使用此工具。

我的格式会被保留吗?

大部分格式会被保留,包括字体、大小、颜色和基本版式。但复杂的表格、多栏布局和嵌入对象等元素可能在转换时被简化或调整。

我的 Word 文档会发送到服务器吗?

不会。所有转换通过 Mammoth 和 html2pdf 库在您的浏览器本地完成。您的 Word 文件从不离开设备,完全保证隐私和安全。

可以一次转换多个文件吗?

此工具一次转换一个 Word 文件。每次转换时,只需上传一个新 .docx 文件并进行转换即可。

文件大小限制是多少?

支持最大 25 MB 的文件。非常大的文件可能需要更长时间,取决于您浏览器的可用内存。

可以调整边距和页面大小吗?

可以。在转换前,您可以选择页面大小(A4 或 Letter)和边距宽度(正常、窄或宽)。

更多常见问题

为什么 PDF 中的文本不能选中?

本工具产出的是基于位图的 PDF:它先把 Word 文档渲染为 HTML,再用浏览器把 HTML 绘到屏外的 canvas 上,然后把 canvas 作为图像嵌入 PDF。因此输出 PDF 里装的是页面的图片,而不是带有位置的字符。从页面主体复制粘贴什么也得不到,PDF 内搜索找不到词。如果需要可选文本(法律取证、研究数据库、无障碍),请使用 Microsoft Word 的「文件 → 另存为 PDF」或 LibreOffice 的「文件 → 导出为 PDF」;两者从 DOCX 源生成的都是基于文本的 PDF。

为什么字体和我原来的 Word 文档不一样?

本工具用 mammoth.js 解析 DOCX,它有意聚焦于语义内容(段落、标题、列表、表格),而非直接的视觉格式(具体字体、确切字号、颜色)。浏览器使用你本机已安装的字体来渲染生成的 HTML。如果你的 Word 文档使用了一种只装在你工作机上的公司或品牌字体,PDF 就会用浏览器的回退字体(通常是某种通用无衬线字体)来显示。要保留字体,要么在设备上安装同样的字体,要么使用 Word 自带的「另存为 PDF」,它会把文档引用的字体嵌入。

本工具能离线使用吗?

首次访问之后可以。两个库(mammoth 约 600 KB、html2pdf 约 350 KB)会从 CDN 加载一次,之后被浏览器缓存。后续访问转换器在没有网络连接时也能工作,只要浏览器缓存没被清空。转换本身从来不需要网络;只有最初加载库需要。你可以在首次打开页面后开启飞行模式,再尝试转换一个本地 DOCX 来验证。

我能转换老的 .doc 文件(Word 97-2003)吗?

不行。本工具只接受 .docx(Office Open XML),即 Word 2007 引入的格式。老的二进制 .doc 格式需要不同的解析器(mammoth 只处理基于 XML 的 .docx)。如要转换 .doc 文件,请先在 Word 或 LibreOffice 中打开,另存为 .docx,然后再来这里转换。.doc 到 .docx 的转换在两款工具中都是一键完成且保留内容。

结果 PDF 中的超链接可以点击吗?

源文档中的超链接在 PDF 中以视觉上加样式的文本出现(蓝色、下划线),但不是可交互的:因为 PDF 主体是渲染后 HTML 的位图,PDF 阅读器中点击链接文本不会跳转到任何地方。如果需要在输出 PDF 中保留可点击链接,请使用 Word 的「文件 → 另存为 PDF」(它会保留 PDF 链接注释)或 LibreOffice 的「导出为 PDF」。两者产生的 PDF 在转换后超链接仍可工作。

有桌面或命令行的等价方案吗?

有,多种。标准的服务端/命令行方案是 LibreOffice 的无界面模式:soffice --headless --convert-to pdf input.docx --outdir output/ 原地完成转换,适合批量,无需 GUI。LibreOffice 可装在 Linux、macOS 和 Windows 上;同一条命令行在哪都能用。需要在程序里得到与 Word 像素一致的输出时,Windows 上 Microsoft Word + PowerShell COM 自动化是金标准(需要安装 Word)。本工具使用的同款 mammoth.js 与 html2pdf.js 库也能在 Node.js 中运行,可用于以相同的保真度做脚本化、无浏览器的转换。Pandoc 搭配 LaTeX 引擎是另一个选择,适合学术出版工作流。

相关工具