当电源故障、应用程序崩溃或网络连接断开时,正在保存 PDF 文件。当您稍后尝试打开该文件时,PDF 阅读器会显示错误消息:“文件意外结束”、“文件已损坏且无法修复”或只是一个空白窗口。在中断保存之前文件是好的。现在它似乎已损坏且无法恢复。好消息是错误消息准确地描述了问题。该文件缺少其结束结构,特别是交叉引用表和预告片,它们告诉 PDF 阅读器如何在文件中查找对象。内容对象仍在文件中。如果没有地图告诉读者他们在哪里,他们根本就无法到达。

PDF 保存操作如何工作以及中断期间丢失的内容
PDF 文件由四个主要部分组成:将文件标识为 PDF 的标头、包含表示页面、图像、字体和所有其他内容的编号对象的正文、将对象编号映射到文件内字节偏移量的交叉引用表,以及告诉读者在哪里可以找到交叉引用表以及哪个对象是文档根的预告片。保存 PDF 时,所有四个部分必须以正确的顺序写入磁盘。保存期间的中断意味着写入操作在写入交叉引用表或尾部或两者之前停止。
主体部分中的内容对象在保存中断后几乎总是完好无损,因为它们是在引用它们的结构元素之前写入的。页面、文本、图像和字体已成功写入磁盘。丢失的是告诉读者如何查找这些对象并将其组合成一个连贯文档的索引。如果没有交叉引用表,则读取器打开文件,读取标头,在预告片指定的位置查找交叉引用表,但在那里找不到任何内容,或者找到部分或损坏的表。读取器报告意外的文件结束错误,因为文件在预期的结构元素开始之前结束。
尝试修复 PDF
无需安装。直接在您的浏览器中工作。
使用 PDF 修复工具重建交叉引用表
PDF 修复工具的工作原理是扫描损坏文件的主体部分,并根据找到的对象重建交叉引用表。每个 PDF 对象均以对象编号和生成编号开头,例如“12 0 obj”,以“endobj”结尾。修复工具按顺序读取文件,通过其开始和结束标记识别每个对象,记录其字节偏移量,并构建一个新的交叉引用表,将每个对象编号映射到其位置。然后,它识别哪个对象是文档根,通常是对象号 1 或文档目录引用的对象,并写入指向重建的交叉引用表的新尾部。
WukongPDF 的修复 PDF 工具可以处理损坏的 PDF 并尝试从可恢复内容重建文件结构。修复是否成功取决于中断之前主体部分的写入量。在写入所有对象之后但在写入交叉引用表之前中断的保存是完全可恢复的。在写入大图像对象时中断的保存可能会丢失该对象,但可以恢复文档的其余部分。修复工具会报告哪些对象已成功恢复以及哪些对象已损坏或丢失,从而为您提供保存的内容和丢失的内容的清单。
从无法修复的 PDF 中手动恢复内容
当自动修复工具无法重建交叉引用表时,手动内容恢复就是后备方案。在可以处理二进制文件的文本编辑器中打开损坏的 PDF,或使用命令行工具从文件中提取可读文本。正文对象以结构元素的纯文本和图像和字体的二进制数据的混合形式存储。文档的文本内容通常以 ASCII 或 UTF-8 字符串形式存储在正文对象中,并且在文本编辑器中查看时是可读的。搜索您知道出现在文档中的文本。即使文件结构被破坏,周围的内容也将作为可读字符串可见。
对于内容太宝贵而不能丢失且损坏的文件是唯一副本的 PDF,专门从事 PDF 修复的专业数据恢复服务可以使用文件的十六进制分析来执行更深入的恢复。即使标准标记损坏,这些服务也可以识别对象边界,重建部分对象,并在某些情况下从完全不可读的文件中恢复内容。成本与内容的价值成正比,对于不可替代的文档,通常是合理的。当自动化工具和手动提取已用尽时,通过专业恢复的修复 PDF 方法是最后的手段。
了解 PDF 错误消息以诊断损坏类型
PDF 阅读器发出的不同错误消息表明不同类型的文件损坏,了解如何解释它们可以指导修复方法。意外的文件结束错误表示文件末尾缺少结构元素,并且是最可修复的损坏类型。文件已损坏且无法修复的消息通常表示交叉引用表已损坏,但正文对象完好无损。根对象丢失或无效的消息表明文档目录已损坏,这很难修复,因为根对象告诉读者在哪里可以找到其他所有内容。将错误消息与修复方法相匹配可以指导您针对特定类型的损坏选择最合适的恢复方法,从而节省时间。
防止保存中断导致数据丢失
防止中断保存损坏的最佳防御方法是最小化风险窗口的保存工作流程。大多数 PDF 编辑器支持“另存为”功能,该功能可写入新文件,而不是就地修改原始文件。使用“另存为”新文件名,验证新文件是否正确打开,然后用新版本替换原始文件,确保保存过程中的中断仅影响新文件,而使原始文件保持不变。此工作流程会增加保存过程的时间,但消除了损坏重要文档的唯一副本的风险。
对于经常编辑的文档,请启用 PDF 编辑器的自动保存或备份功能(如果可用)。自动保存会定期写入恢复信息,因此即使主保存中断,也可以从自动保存数据中恢复文档的最新版本。在关键编辑里程碑时通过手动备份补充自动保存。在进行主要编辑之前,请复制文件。完成您不想重做的复杂编辑后,保存一个副本。这些手动备份提供独立于 PDF 内部结构的恢复点。 PDF 格式 了解文件结构在保存操作期间容易受到攻击,从而形成工作流程习惯,从而防止 PDF 损坏的最常见原因。
尝试修复 PDF
无需安装。直接在您的浏览器中工作。
