「转个 PDF」这件事看起来只有一个按钮,但转出来的 PDF 其实分两种:文字层还在的(能选中、能搜索、能复制)和只有一张图的(看得见字,选不中字)。这两种在体积、清晰度、后续可加工性上完全不同,选错了会在流程后半段付出代价。
本站的 Word转PDF、Excel转PDF、PPT转PDF 产出的都是第二种。这不是偷懒,而是一个明确的权衡,先把原因讲清楚。
一、为什么本站的 Office 转 PDF 是图片型的
PDF 要显示文字,必须能拿到字形。要么依赖阅读器本地有这套字体,要么把字体子集嵌进 PDF 文件里。英文只有几十个字形,嵌进去只有几十 KB;中文是另一回事,一套完整的中日韩字体动辄十几 MB,如果在浏览器里做转换,就意味着用户每次转换前要先下载十几 MB 的字体文件,而且一旦文档里用了这套字体没覆盖的生僻字,就会出现方框或缺字。
所以本站选了另一条路:既然浏览器本身已经装好了系统中文字体,就让浏览器把版面画出来,再把画好的结果封装成 PDF。具体流程是:
- Word 转 PDF:用 mammoth 把 docx 的 WordprocessingML 解析成语义 HTML,标题、段落、列表、表格、加粗斜体、内嵌图片都会保留,套一份接近 Word 默认版式的样式后按纸张尺寸分页,再用 html2canvas 逐页渲染成位图,经 pdf-lib 写入 PDF。
- Excel 转 PDF:解析 xlsx 取出各工作表的单元格数据与合并信息,渲染成带边框的 HTML 表格后同样分页输出。
- PPT 转 PDF:pptx 本质是 ZIP 加 OOXML,工具读出幻灯片尺寸、每个文本框的位置尺寸字号颜色对齐以及内嵌图片,按比例还原成绝对定位的 HTML 页面,页面比例与原始幻灯片一致,16:9 和 4:3 会自动识别。
代价很直接:产物是图片型 PDF,文字不可选中、不可搜索、不可复制,体积也比文字型 PDF 大。好处同样直接:不缺字、不需要下载字体、版式与你在浏览器里看到的完全一致,而且整个过程在你自己的浏览器里跑完,文档不会被传到任何服务器。
二、什么场景可以接受,什么场景不要用
判断标准只有一条:这个 PDF 之后还需要被机器读吗?
可以放心用的场景:
- 定稿存档。文件已经最终确认,之后只需要有人打开看,图片型 PDF 完全够用,而且顺带获得「不容易被随手改」的副作用。
- 打印与投递。打印机本身就是把页面栅格化,输入是文字还是位图对打印结果没有区别,只要 DPI 设得够。
- 发给对方确认版式。你要的正是「对方看到的和我看到的一模一样」,图片型 PDF 在这点上最稳,不会因为对方缺字体而版式跑掉。
- 微信、邮件里传阅的短文档。几页的东西,体积差异感知不到。
不要用的场景:
- 需要全文检索的资料库。图片型 PDF 在检索系统里等于空白文档,扔进去搜不到任何内容。
- 后续要提取文字或数据。转完再想拿回文字,就只能靠 OCR,而本站不提供 OCR。
- 要投给有格式审查的平台。部分投稿、投标系统会校验 PDF 是否含文本层,或者要求能复制正文比对查重,图片型 PDF 会被直接退回。
- 上百页的长文档。每页都是位图,DPI 一高体积就上去了,浏览器内存也吃紧。
如果既要中文不缺字又要文字可选中,正确做法是在 Word、Excel、PowerPoint 里直接「另存为 PDF」或「导出为 PDF」——桌面软件能访问本机全部字体,这是它天然的优势。本站这几个工具解决的是「手边没有 Office、或者不想装软件」时的问题。
三、参数怎么取:DPI、纸张、方向
DPI(输出清晰度)是唯一需要认真选的参数。 它决定每页位图的像素密度,直接影响清晰度、文件体积和转换耗时,而且三者同向变化。经验取法:
- 屏幕阅读为主:选较低档,文字边缘略软但正常阅读距离看不出来,体积最小、速度最快。
- 需要打印:选中高档。打印是把位图放到纸上,DPI 不足时最先暴露的是小字号的注释和表格线,会发虚发糊。
- 含大量小字号表格或图表:直接上高档。表格线和五六号字对分辨率最敏感。
Excel 转 PDF 的重点不在 DPI,而在列宽和页宽的关系。 表格列一多,按纵向 A4 排必然被切到第二页,读起来非常难受。工具提供三个手段:改横向纸张、开启缩放铺满页宽、列宽按内容自适应。优先级建议是先试横向,仍然放不下再开缩放;缩放会等比缩小字号,缩太多同样看不清。另外可以勾选「每个工作表另起一页」和「重复表头行」,多页表格里表头重复出现能省掉大量来回翻页。
PPT 转 PDF 要先接受它是版式近似还原。 文本框、图片、纯色背景能还原;自动图形与连接线、SmartArt、图表、渐变与阴影、艺术字、动画与切换、嵌入的音视频不会被绘制,母版与占位符继承只做有限处理。所以转完必须在预览区逐页看一遍,发现流程图整块消失属于已知限制,不是文件坏了——这种页面只能回 PowerPoint 里导出。
四、PDF 转 Word 是反方向的重建,不是撤销
PDF转Word 不是把上面的过程倒回去,它是一次重建:用 pdf.js 提取每个文本片段的坐标与字号,按基线把片段聚成行,按行间距与缩进判断段落边界,再依据字号相对正文的比例推断标题层级(明显偏大的行当作标题),最后手写 WordprocessingML 生成标准 docx 文件包,Word、WPS、Pages、Google Docs 都能打开继续编辑。
理解这个原理,就能预判它能做什么、做不到什么。能还原的是文字内容与基本层级:段落、标题、加粗。不还原的是分栏、文本框、表格边框、页眉页脚与图片位置。原因不是实现偷工减料,而是 PDF 是版式格式、docx 是流式格式,两者之间不存在无损映射——PDF 里只记录「这个字符画在这个坐标」,并没有「这是表格的第二行第三列」这种信息,任何工具都只能靠坐标去猜。
三个关键选项:
- 合并跨行段落:正文推荐开启。PDF 每行都是独立的文本片段,不合并就会得到一堆断行的短句,粘到 Word 里没法编辑。
- 保留原始换行:适合代码、诗歌、地址清单这类换行本身有意义的内容。
- 识别标题层级:开启后偏大的行会变成 Word 标题样式,可以直接用导航窗格和自动目录;如果原文档字号混乱,可能误判,关掉更省心。
最重要的一条:扫描件转不出文字。 手机拍的、扫描仪扫的 PDF,内部只有一张位图,没有文本层,pdf.js 提取到的字符数是零,结果自然是空的。遇到「转出来一片空白」,先在 PDF 阅读器里试试能不能用鼠标选中文字——选不中就说明是图片型 PDF,需要先做 OCR。顺便说一句,用本站 Word 转 PDF 生成的图片型 PDF 再拿去转 Word,同样是空的,这两个工具不构成一个来回。
五、组合起来的实际流程
「Word 定稿 → 发出去」:直接 Word 转 PDF,DPI 按是否打印选,转完检查分页位置,尤其看表格有没有被拦腰截断。分页不理想时回 Word 调段前段后间距比调 DPI 有效。
「收到别人的 PDF,要改一段话」:先确认能选中文字,然后 PDF 转 Word,在预览区核对段落切分,下载 docx 改完再转回 PDF。要有心理准备:复杂排版转完需要在 Word 里重新调一次版式,这一步省不掉。
「几十份 Excel 报表要统一归档」:Excel 转 PDF 时勾上需要的工作表、开启重复表头,横向纸张打底。如果之后要从归档里查数据,请同时保留原始 xlsx——图片型 PDF 里的数字是查不出来的。
「讲稿要发给听众」:PPT 转 PDF 后逐页确认,缺图形的页面单独回 PowerPoint 导出,再和其他页拼起来。
常见问题
转出来的 PDF 为什么选不中文字? 这是本站 Office 转 PDF 的既定行为,不是故障。为了避免加载十几 MB 中文字体并彻底规避缺字,页面是先渲染成位图再封装进 PDF 的。需要文字可选中,请用 Office 自带的导出功能,或者反过来用 PDF 转 Word 走文字重建的路线。
上传 .doc 或 .ppt 老格式提示不支持怎么办? .doc 和 .ppt 是二进制格式,与 docx / pptx 的 ZIP + OOXML 结构完全不同,浏览器端解析不了。用 Word 或 PowerPoint 打开后「另存为」新格式即可。Excel 的 .xls 可以按兼容模式解析,但复杂样式可能丢失。
Excel 里的公式结果和图表为什么和原文件不一样? 公式取的是 Excel 保存时缓存的计算结果值,工具不重新计算,所以如果原文件保存前没有重算,缓存值就是旧的。图表、条件格式、批注、数据透视表不会被渲染,这些需要在 Excel 里先转成静态内容或截图。
PDF 转 Word 后表格全散了,有办法吗? 没有完美办法。工具还原的是文字与段落层级,不重建表格结构。如果目标就是拿到表格数据,用「PDF转Excel」按坐标聚类重建行列会比转 Word 更接近可用状态;如果表格是扫描出来的,两条路都走不通,只能 OCR。