两个 PDF 文件,除了封面可能不同之外完全相同 - 如何删除重复项?

两个 PDF 文件,除了封面可能不同之外完全相同 - 如何删除重复项?

我有一堆 PDF 文件,都是从各个期刊网站下载的文章。问题是,其中一些 PDF 文件是彼此重复的。但是,如果我运行基本的重复文件查找器,它们不会显示出来,因为期刊有(有点烦人的)习惯,会将封面在 PDF 中实际文章之前。换句话说,如果我有作者 Y 的文章“X”的两个副本,一个从网站 A 下载,另一个从网站 B 下载,它们不是完全相同的副本,因为一个有来自 A 的封面,另一个有来自 B 的(不同的)封面。所以我的问题是:

是否可以检查两个 PDF 文件是否重复,忽略第一页

当然,这并不能解决我所有的问题,因为有些期刊网站没有封面!所以最好的问题是:

是否可以检查两个 PDF 文件是否重复,其中一个(或两个)可能有封面

答案1

根据PDF 规范有些东西也许可以帮助到你。

首先是 ID,这是一个唯一的标识符,在首次创建后不应更改。

从上面链接的 PDF 规范第 14.4 节中:

文件标识符应由 PDF 文件尾部字典中的可选 ID 条目定义(请参阅 7.5.5“文件尾部”)。ID 条目是可选的,但应使用。此条目的值应为两个字节字符串的数组。第一个字节字符串应是基于文件最初创建时的内容的永久标识符,并且在文件增量更新时不应更改

其次,您可以看一下 7.5.6 图 3。根据该图,您应该有一个原始的主体。

对于第一个选项,有一个 poppler 函数可以提取 ID(你对永久的 ID 感兴趣)http://people.freedesktop.org/~aacid/docs/qt5/classPoppler_1_1Document.html#a2561d28a219676acff2036e5a3bacc83,但是我现在不知道如何剥离原始主体来比较这些哈希值。

答案2

差异PDF可以直观地比较 PDF(我自己还没有尝试过),也可以作为便携式应用程序

即使你删除了所有文章的封面,并添加类似PDFTK,我非常怀疑 PDF 在二进制比较中是否会相同。

也许另一种方法是将每个文件重命名为文章中唯一的名称,可能是文章编号,或者包括时间的日期?然后您可以进行文件名比较。

答案3

我发现唯一能解决此类问题的软件是 Devonthink(我假设您使用的是 Mac)。但您需要删除一个变体的第一页。通过在 Finder 搜索中插入一个独特的短语,您可以轻松过滤掉带有封面的版本。标记它们或将它们分组,然后运行脚本删除第一页。当您索引所有这些时,Devonthink 将选择重复项。其他重复查找器,如 Gemini、Dupe Guru(顺便说一句,比 Gemini 更好)和其他重复查找器都依赖于一些简单的标准进行比较。他们不比较内容。Devonthink 会比较内容。而且,据我所知,它是 100% 准确的。

相关内容