如何通过命令行比较两个PDF文件

10
如何在Windows命令行上使用命令来比较两个PDF文件?我希望通过命令行来做这个,因为我每天都要通过一些自动化的Windows任务来比较数百个文件。

这个命令行结果到底应该告诉你什么?是说两个文件之间存在视觉差异,还是说输入文件在视觉上没有不同?!?或者你想要一个新的PDF文件来突出显示可以找到的差异吗?! - Kurt Pfeifle
你只是在寻找免费软件,还是也想了解付费应用程序? - Kurt Pfeifle
3个回答

5

如何使用i-net PDFC?它可以进行完整的内容比较,包括文本、图片、行、页眉/页脚检测等。您可以在命令行或GUI(2.0目前处于公共测试阶段)中使用它。

命令行工具已经有了将PDF文件夹相互比较的选项(或者采用极端方式:使用API ;))

免责声明:是的,我为制作此产品的公司工作-因此非常感谢您的反馈。


这个软件很棒,但是非常昂贵:每年180欧元!(考虑到我每个月只使用一两次) - yannis
好的。当然这取决于具体的使用情况。我们现在已经推出了 v5 版本,多年来进行了许多改进。您可以在每个主要版本发布时免费尝试桌面应用程序。而且,在我们的网站上有一个公共演示,可能适合您的个人需求。 - gamma

3

请看comparepdf:

comparepdf是一个用于比较两个PDF文件的命令行工具。默认情况下,它会比较它们的文本内容,但也可以进行视觉比较(例如,检测图表、图片、字体和布局中的变化)。它应该对自动化测试非常有用。

它是开源的(GPL),并提供Windows二进制文件

另外:

如果您想要一个GUI应用程序,用于显示PDF之间的详细差异,请使用DiffPDF


1
以下信息已经不再有效:(1)comparepdf无论是命令行还是非命令行,只能在Windows上运行,(2)它不是开源的。 - yannis
@yannis,链接似乎已经过期了,GPL cmdline工具的新链接是http://www.qtrac.plus.com/comparepdf.html,我已经提交了更新,不知道是否会被批准。 - Othrayte

2

您想要的功能无法通过Adobe Acrobat命令行完成。不过,您可以借助一些命令行工具,将它们组合到一个shell或批处理脚本中来完成。

1. 快速检查页面图像差异

其中一个工具是ImageMagick的convert命令。您可以为两个内容相似的单页PDF文件进行测试:

convert -label '%f' -density '100' first.pdf second.pdf -scale '100%' miff:- \
 | montage - -geometry +0+0 -tile 1x1 -background white miff:- \
 | animate -delay '50' -dispose background -loop 0 -

这将打开一个窗口,它在显示两个文件之间切换时有50个十分之一秒的延迟,因此很容易发现视觉差异。

2. 生成PDF输出脚本以可视化PDF文件之间的差异

我正在使用Linux上的shell脚本执行相同的操作,该脚本包装了:

  1. ImageMagick的compare命令
  2. pdftk实用程序
  3. Ghostscript(可选)

(将其移植到DOS / Windows的.bat批处理文件中将是相当容易的。)

您可以在此答案中阅读有关此方法的详细信息


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接