从 PDF 文档中删除具有冗余内容的页面

Byt*_*der 6 pdf

我有一个很大的 PDF 文档(几百页),很可能是从 PowerPoint 演示文稿中生成的。

每个演示步骤包含一页,因此如果在一张 PowerPoint 幻灯片上有一些文本或图像稍后出现动画,则 PDF 中将有两页:一页仅包含幻灯片的初始内容,另一页包含添加了动画对象。

我无权访问原始演示文稿,只能访问 PDF。

现在有没有办法(脚本,应用程序,...)自动删除所有冗余页面,只保留最后一页,其中包含每张原始幻灯片的每组页面的所有信息,丢弃带有动画步骤的不完整页面?

检查算法实际上非常简单:对于每个页面,检查下一页是否至少包含当前页面的所有信息(文本、图像、对象)或更多,如果是,则删除当前页面。

不幸的是,我不知道是否或如何比较 PDF 文档的页面并找出一个的元素是否是另一个的子集。

你能给我任何帮助我整理我巨大的 PDF 文档并删除动画步骤以便打印出来的解决方案吗?

我真的不想要一个 PDF 编辑器应用程序,我必须手动检查和删除所有页面,我已经有了https://www.xodo.com/。我希望的是一种使过程自动化的方法。

Jay*_*Eye 3

您研究过pdfbox吗?您可以从命令行调用其各种功能。您可以将每个页面提取为文本,使用 diff 来查看每个连续页面是否主要对前一页进行了添加,跟踪有趣的页面,然后再次使用 pdfbox 只提取这些页面。

根据您的评分,我认为您不需要有关如何完成这一切的详细说明:)


小智 2

我恰好遇到了同样的事情的需要。因此,我创建了一个 Python 脚本,可以自动检查并删除 PDF 中包含冗余内容的页面。在这里检查一下。

这对于重复的文本内容非常有效,但如果同一张幻灯片上的动画替换了上一张图像,它可能不会保留图像 - 因为我不需要它。如果有人找到了方法,请通过打开 PR 让我知道 - 我很乐意改进它。

PS:感谢您提出的详细问题!它帮助我为这个脚本编写了一个很好的自述文件。:)