一份从同事那儿收到的 PDF,在对方电脑上翻得好好的,传到自己机器上双击,弹出来的是「载入 PDF 时发生错误,文件可能已损坏」。文件是同一个文件,传输没中断,硬盘也没报错。机主的第一反应是卸载阅读器重装一遍,装完再双击,还是同一句提示。
这类提示背后有两种完全不同的原因:一种是文件本身缺了一段,任何程序都读不出来;另一种是文件完好,只是本地那个 PDF 阅读组件没有把它解析出来。两者撞在同一句报错上,处理方向却相反——前一种要重新拿文件,后一种只要修本地环境。方向判错,卸载重装多少次都不会有变化。
下面这套顺序在 Windows 10/11 上实测可用。它先用两条一分钟内能出结论的判据把两类原因分开,再按五种情况分别处理,全程只用到系统自带的 certutil。
把「载入 PDF 时发生错误」拆开看,能对上的原因只有三类,而且各自留下的痕迹不一样:
后两类的区别在于「有没有东西可读」:0KB 是真的没有内容落盘,文件头损坏则是内容还在、开头那段标识没了。
至于阅读组件为什么会停住,常见的三种情况是版本过旧、被安全软件拦过、上一次安装留下的残留没清干净。阅读器的 PDF 组件装在 C:\Users\你的用户名\AppData\Roaming\Kingsoft\office6 下面的插件目录里,这几类问题都会让它在打开文件时停住。Windows 10 21H2 和 Windows 11 上都出现过这类报错。
先分清「文件坏」和「阅读器坏」再动手。下面三步不分先后,但建议从方法 1 开始。
浏览器解析 PDF 的方式和阅读器不一样,用它开一次,几秒钟就能把两类原因分成两条路。这是整个排查里最省事的一步,不建议跳过。
file:///D:/文档/报告.pdf 后回车,路径换成文件的真实位置这一步只是换一个程序打开文件,不会改动原文件。路径里带空格或中文时,直接在地址栏粘贴完整路径即可。
常见的误区是一看到报错就认定文件损坏,然后卸载重装阅读器,再把同一个文件反复双击十几次。同一个文件换个程序能读出来,就已经说明文件是完好的,该处理的是阅读组件这一侧。浏览器里能显示,就去修阅读器;浏览器里也打不开,才去查文件本身。

大小只有 0KB,或者比下载页面上标注的体积小一大截,说明文件根本没下完,换任何阅读器都打不开。
D:\文档),不要留在 U 盘里直接打开这几类情况的共同点是文件只写到一半就停了,系统不会报错,双击却打不开。重新下一份完整的文件,比反复换阅读器试要快得多。
PDF 文件的开头必须带一段 %PDF- 标识,certutil 能把它原样打出来。有标识说明格式完整,没有就说明文件头已经坏了。
certutil -dump "D:\报告.pdf"cmd 回车,打开命令提示符%PDF-1.4、%PDF-1.7 这样的标识,说明文件头完整certutil: 读取错误,说明文件头已被破坏,属于文件级损坏这条命令只做读取,不修改原文件,可以放心执行。检查本身只有三步:打开命令提示符、跑一次 certutil、看开头几行的标识。
看到 %PDF- 就继续修阅读组件,看不到就说明这份文件的内容已经缺了,只能找对方重新传一份。

已经确认文件完好、浏览器里也能正常显示时,剩下的就是让阅读组件的状态回到正常。
修复只解决阅读组件这一侧的问题,文件头已经损坏的 PDF,修完照样打不开。反过来也一样:如果重装之后打开同一个文件还是「载入 PDF 时发生错误」,基本可以排除阅读器,回到方法 2 和方法 3 去查文件。
整份文件大部分能翻、只有个别几页报「本页面上存在错误」,说明损坏只落在这些页上,把好页面导出来就能保住大部分内容。
1-8,12-20,先导出能正常显示的部分判断标准很简单:个别页报错就按上面的步骤导出;整份文件一页都打不开,说明损坏在文件头,只能重新获取一份。
看到的现象 | 说明什么 | 接下来做什么 |
|---|---|---|
浏览器能正常翻页,阅读器报载入错误 | 文件完好,问题在阅读组件 | 方法 4 |
文件大小 0KB 或明显小于来源标注体积 | 没有下载完整 | 重新下载一份 |
certutil 开头是 %PDF-1.7 | 文件头完整,格式正常 | 回到方法 4 |
certutil 输出乱码或提示读取错误 | 文件头已损坏 | 重新获取文件 |
只有个别页报「本页面上存在错误」 | 损坏落在少数页上 | 方法 5 导出可读页 |
阅读器提示载入错误,但浏览器能正常显示,是文件坏了吗?
文件没坏。浏览器能读出来,说明内容和结构都完整,问题在本地那个 PDF 阅读组件上,按方法 4 修复或重装即可。
文件大小显示 0KB,还能修复吗?
0KB 表示文件内容根本没有写进磁盘,本地没有可恢复的数据。只能从原来的网盘或邮件里重新下载一次,这次等进度条走完再打开。
certutil -dump 出来一堆乱码,这个 PDF 还有救吗?
文件头已被破坏,本地恢复不了。按方法 5 把还在的页面另存导出,其余部分找发送方重新传一份,或者用原始文档重新生成 PDF。
提示「本页面上存在错误」,怎么只导出能看的那几页?
拖进 Chrome 或 Edge,Ctrl+P 打开打印面板,目标选「另存为 PDF」,在页码范围里填 1-8,12-20 这样跳过报错页的区间,导出后再逐页翻一遍。
卸载重装阅读器有用吗?
文件本身完好时管用,方法 4 做完基本能恢复;文件头已经损坏的 PDF,重装多少次都一样。先用方法 1 和方法 3 判断清楚再动手。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。