工具
Merge PDF Split PDF Compress PDF 所有 PDF 工具 →
解决方案
For Business For Education For Developers
公司
关于 博客 Press 联系
产品
价格 功能 常见问题 Security
首页工具修复PDF

修复PDF

对损坏的 PDF 进行尽力而为的恢复:损坏的 xref 表、被截断的下载、损坏的文件头。全程在你的浏览器中运行。

选择一个损坏的 PDF

或把一个 PDF 拖到这里 —— 修复在你的浏览器中本地运行

100% in-browser No upload No signup

如何修复 PDF

三个步骤。文件永远不会离开你的浏览器。

1

打开损坏的文件

选择或拖入无法打开的 PDF。它只会在你浏览器的内存中被读取。

2

运行修复

我们先尝试标准加载器,然后是容错加载器,最后从原始字节重建 xref 表。

3

下载修复后的副本

你会得到一个新的 PDF,以及一份诊断报告,显示哪条恢复路径起了作用。

修复 PDF 是如何工作的

从结构上看,一个 PDF 文件由三部分组成:一个文件头(%PDF-1.x)、 一系列间接对象(页面、字体、内容流),以及末尾的一个 xref 表,它说明“对象 N 位于字节偏移 X 处”。 当一个 PDF 无法打开时,几乎总是发生了两种情况之一: xref 出了问题(下载被截断、保存不完整、偏移指向了 错误的位置),或者某个间接对象损坏了(压缩有误、 缺少长度、流被破坏)。

我们分三个阶段尝试修复。第一阶段是用 pdf-lib 进行严格加载: 这能解决文件其实没问题的简单情形。第二阶段是 容错加载:我们让 pdf-lib(以及 @cantoo/pdf-lib 分支,它的 xref 解析器稍微宽松一些)忽略个别损坏的对象并继续处理。 第三阶段是最后手段:我们遍历原始字节,寻找每一个 N G obj … endobj 块,构建一个全新的、指向 我们找到的那些对象的 xref 表,然后用这个合成的文件 再次尝试容错加载器。

这个工具能修复什么

  • 被截断的下载,其中 xref 和文件尾因结尾丢失而缺失。
  • 错误的 xref 偏移 —— 常见于不完整的保存或处理不当的增量更新。
  • 开头被加入的垃圾数据(我们会重新定位 %PDF- 文件头)。
  • 顺序错乱的对象,在第三方工具以错误方式写入文件之后。

这个工具不能修复什么

  • 密码未知的加密文件。 修复纠正的是结构,而非访问权限。请改用解锁 PDF。
  • 损坏的内容流。 如果页面真正的绘图指令已损坏,修复可能会产生一个能打开但显示为空白的文件。
  • 没有可恢复对象的文件。 如果文件头之后只剩垃圾数据,就没有任何东西可供重建。

隐私与安全

损坏的 PDF 往往是某个重要文件出了问题的结果: 一份无法打开的最终合同、一份 Acrobat 拒绝加载的 税务文档、一份下载后莫名其妙损坏的对账单。 大多数在线修复服务会把你的文件上传到它们的服务器。 由于本工具全程在浏览器中运行,没有任何上传步骤, 所以即使是包含机密内容的文件,也能在不离开你设备的情况下 被修复。

常见问题

一个 PDF 是一系列间接对象(页面、字体、流)外加一个用于索引它们的“xref”交叉引用表。当 PDF 损坏时,通常是这两部分之一出了问题——对象没事但索引坏了,或者反过来。我们首先尝试标准的 PDF 加载器。如果失败,我们会逐字节遍历原始数据,定位每一个对象标记,并重建一个指向它们的全新 xref 表。然后用最具可移植性的 PDF 设置(不使用对象流)重新序列化输出,使其能在每个阅读器中打开。

不会。损坏的 PDF 完全由 pdf-lib 和我们的字节级修复程序在你的浏览器中解析。没有服务器步骤,所以即使是包含机密内容的文件也能安全修复。

修复是尽力而为的。如果页面内容流本身被破坏,文件可能能加载但渲染为空白——这属于数据丢失,工具无法凭空恢复。如果文件根本没有任何可恢复的间接对象(一切都被覆盖,或在第一个对象之后被截断),我们会抛出明确的错误,而不是生成一个虚假的结果。

不一定。修复后的文件通常与原文件大小相近。如果原文件使用了对象流(一种压缩特性),修复后的副本可能会稍大一些,因为我们为了最大兼容性而不使用对象流来重新输出它。

只能恢复结构性损坏,无法恢复密码。如果你有一个既损坏又有密码保护的 PDF,请先修复它,然后用我们的解锁 PDF 工具配合正确的密码来处理。

 中文
Get unlimited PDF tools + AI features
Start free trial →