🩹PDF 修复在线工具 - 打不开、损坏、下载不完整的 PDF 恢复
PDF 打不开、提示“文件已损坏”“无法读取交叉引用表”,或者下载 / 传输中断只剩半个文件?这个工具先做一次体检:检查 %PDF 文件头是否被前置垃圾数据挤开、末尾是否缺少 %%EOF、startxref 是否指向真正的交叉引用表、表里每个对象的偏移是否正确、trailer 和文档目录(/Root)是否还在、流的 /Length 是否与实际数据一致,并把发现的问题逐条列出。修复时先用容错解析器读取所有对象(不依赖已损坏的偏移表);解析失败或文件被截断时,改为自己逐个扫描“N 0 obj … endobj”重建一份干净的文件——同一编号取最后一个完整版本,被截断的压缩流尽量解出前面那部分内容,让半页文字也能保住。接着修复文档目录和页面树:找不到目录就重新定位或新建,页面树断了就收集所有页面对象重建,缺失的页面尺寸、资源会补上,指向不存在对象的引用一并清除。修好后用 PDF.js 逐页校验;如果结构上实在救不回来,会自动用 PDF.js(容错能力最强的解析器)把能显示的页面渲染成图片重新组成 PDF。最后给出修复报告:发现了什么问题、做了哪些修复、恢复了多少页。全部在浏览器本地完成,文件不会上传。
免费 · 无需注册 · 浏览器本地处理最后更新:
正在加载工具...
如何使用PDF 修复
- 1上传打不开或报错的 PDF,工具自动诊断并列出发现的问题
- 2选择修复方式:结构修复(保留文字,失败时自动改用渲染重建)或直接渲染重建
- 3点击“修复并下载”,查看修复报告并下载修复后的 PDF
常见问题
- 什么样的 PDF 能修好?
- 交叉引用表偏移错乱、缺少 trailer 或 startxref、文件头前多了数据、流长度写错、页面树损坏、文档目录丢失这些结构性问题,通常都能完整修复且不丢内容。文件被截断时,截断位置之前的页面一般能恢复,被截断的那一页可能只剩部分内容,之后的内容已经不在文件里,无法找回。
- “结构修复”和“渲染重建”有什么区别?
- 结构修复保留原文件的文字、字体和矢量图形,文字仍可选中搜索,是首选。渲染重建是用 PDF.js 把每页画成图片再组成新 PDF,外观能保住,但文字变成图片不能再复制。默认先尝试结构修复,只有失败时才自动改用渲染重建。
- 加密的 PDF 能修复吗?
- 能做结构修复,修好后仍保持原来的加密,打开时照样需要密码。如果你知道密码,也可以先修复再用“PDF 去除密码”解密。渲染重建方式需要能打开文件,所以不适用于需要打开密码的文件。
- 文件会上传吗?修复会改动内容吗?
- 不会上传,全部在浏览器本地完成。结构修复只重写文件结构(交叉引用表、目录、页面树),页面上的内容保持原样;被截断而丢失的数据无法凭空恢复,报告里会说明丢弃了哪些残缺对象。