首页 > 解决方案 > 从原始 PDF 文本恢复被 Mac 的 Preview 应用程序损坏的 PDF 中的注释

问题描述

概括

MacOS 原生用于查看和编辑 PDF 的“预览”应用程序有一个恼人的错误,该错误似乎自“High Sierra”以来就存在,并且在当前操作系统版本“Catalina”中仍未解决。它表现为以下方式:

我尝试过的事情

昨天,在对多个 PDF 文件进行了一些重要工作后,我出现了这个错误,导致我调查了这个问题。由于我打开的文件存储在同步文件夹中,因此我可以访问我正在处理的文件的多个版本。我注意到两件事:

  1. 出于某种原因,即使是在我进行了大多数注释但在崩溃发生之前同步的版本也只会显示注释的一个子集。
  2. 文件大小随着时间的推移而增加,这让我假设丢失的注释仍存储在文件中,但不知何故已损坏,因此未显示。

这让我认为预览以某种损坏的形式保存了新的注释,但仍然能够以某种方式处理查看它们 - 至少在它崩溃之前有一段时间。

在网上搜索解决方案时,我遇到了建议“修复”PDF( )的这个帖子,但这并没有解决我的问题。qpdfqpdf --qdf original.pdf unpacked.pdf

相反,我决定以文本格式查看原始 PDF 的来源,看看我是否能发现一些东西。正如我所料,在损坏的 PDF 中搜索我的用户名会显示大量匹配项,显然我所做的每个注释都有一个匹配项。另一方面,对“已修复”的文件执行相同操作,qpdf仅针对实际显示在 PDF 中的注释显示匹配项。我试图找出注释源代码中出现的一些模式与那些没有出现的注释的模式,但到目前为止还没有成功。

问题

我现在的希望是,有人可以在没有显示的注释源代码中发现问题,以解决这个混乱。我感兴趣的问题是:

是否有某种方法可以编辑 PDF 源代码(最好是自动)以恢复被 Mac 的 Preview 应用程序损坏的注释?

示例性参考

显然,我们首先需要弄清楚出了什么问题。由于我不允许自己上传 PDF,因此我提供了一些我认为相关的来源摘录,请随时索取更多摘录!摘录包含对两个出现的注释和两个不出现的注释的 obj 标识符的引用。

出现的笔记

没有出现的笔记

标签: macospdfcorruption

解决方案


推荐阅读