比较大量PDF文件的工具?

Hor*_*ux7 83 pdf testing compare

我需要比较大量的PDF文件才能获得光学内容.由于PDF文件是在不同平台上创建的,并且使用不同版本的软件,因此存在结构差异.例如:

  • 文本的分块可以是不同的
  • 写入顺序可以不同
  • 位置可以有些像素不同

它应该像人类而不是内部结构那样比较内容.我想测试我们使用的不同版本的PDF生成器之间的回归.

Hor*_*ux7 39

因为没有这样的工具,我们已经写了一个.您可以下载i-net PDF内容比较器并使用它.我希望帮助其他同样的问题.如果您遇到问题或者您有反馈意见,那么您可以联系我们的支持.

在此输入图像描述

  • @gamma该应用程序免费在哪里?每年至少花费200美元(!).它只有30天免费一次.对于我用它做的事情来说,这太贵了. (4认同)
  • @LonelyPixel 是的,你是对的。1.0 版是免费的(截至 2010 年 10 月 14 日)。我们对其进行了相当多的更改,现在它是一个付费工具(2012-10)。不过,您可以试用 30 天,没有任何限制。它确实获得了很多新功能、稳定性和可靠性。我希望你仍然看看它;) (2认同)

小智 20

实际上有一个diffpdf工具.

http://www.qtrac.eu/diffpdf.html

它的缺点是,当添加新文本部分转移到新页面时它不会很好地反应.例如,如果应将旧页面4与第5页的末尾和第6页的开头进行比较,则需要移动参数以分别比较两个切片.


aka*_*ola 13

我用过自制的脚本

  • 将两个PDF上的所有页面转换为位图
  • 将PDF 1的颜色页面设置为红白色
  • 在PDF 2的页面上将白色更改为透明
  • 在PDF 1的相应页面顶部覆盖PDF 2中的每个页面
  • 在多个核心上运行转换/着色和并行覆盖

使用的软件:

  • 用于PDF到位图转换的GhostScript
  • ImageMagick用于着色,透明度和叠加
  • inotify用于同步并行进程
  • 任何支持PNG的图像查看器,用于查看结果

优点:

  • 简单的实施
  • 使用的所有工具都是开源的
  • 非常适合发现布局上的细微差别

缺点:

  • 转换很慢
  • PDF之间的主要差异(例如分页)导致混乱
  • 位图不可缩放
  • 仅适用于黑白文本和图表
  • 没有易于使用的GUI

我一直在寻找一种在PDF/PostScript级别上也能做同样工具的工具.

以下是我们的脚本如何调用实用程序(请注意,ImageMagick在后台使用GhostScript进行PDF-> PNG转换):

$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images
Run Code Online (Sandbox Code Playgroud)


sda*_*aau 12

我似乎无法在这里看到这一点,所以这里是:通过超级用户:如何比较两个PDF文件之间的差异?(答案#229891,@slestak),有

https://github.com/vslavik/diff-pdf

(可以在get-diff-pdf.sh中找到Ubuntu Natty的构建步骤)

据我所知,它基本上覆盖了pdf(s)中每个页面的文本/图形,让您轻松查看是否有任何变化......

干杯!


aka*_*ola 8

我们还使用pdftotext(参见Sklivvz的答案)生成PDF版本的ASCII版本和wdiff来比较它们.

使用pdftotext的-layout开关来增强可读性并了解布局中的更改.

要从wdiff获得漂亮的彩色输出,请使用此包装脚本:

#!/bin/sh
RED=$'\e'"[1;31m"
GREEN=$'\e'"[1;32m"
RESET=$'\e'"[0m"
wdiff -w$RED -x$RESET -y$GREEN -z$RESET -n $1 $2
Run Code Online (Sandbox Code Playgroud)