【问题标题】:Saving the output from DiffPDF / ComparePDF command line. - Comparing folders of PDF's保存 DiffPDF / ComparePDF 命令行的输出。 - 比较 PDF 的文件夹
【发布时间】:2012-06-24 21:50:04
【问题描述】:

我们必须将一个文件夹中的大约 1500 个 PDF 与另一个文件夹中的 1500 个 PDF 进行比较,以检查视觉差异。 我们发现适用于 Windows 的 DiffPDF(和 comparePDF 命令行版本)比我们的自动 Acrobat Pro 比较快得多。

到目前为止我用过:

comparepdf -v=2 =c=a old.pdf new.pdf

但问题在于它只返回“这些文件不同”。有谁知道从命令行保存输出的任何方法?您可以从 GUI 执行此操作,但这意味着使用 TestCOmplete 之类的东西来自动化它:(

或者有没有更好的方法来比较 2 个 PDF 的视觉效果 - 与输出/突出显示/

C# .net 库的奖励积分。

【问题讨论】:

  • 有些人要求我添加某种差异输出选项来比较pdf,以便当文件对不同时。这在我的待办事项清单上。但是,它不太可能很快完成。我自己使用 DiffPDF 并且只创建 comparepdf 来满足那些不断要求命令行版本的人。现在人们不断要求为 comparepdf 提供更多功能:-) 当然,赞助可以让我花一些时间来添加这些东西!
  • 我们当前的系统自动使用 GUI,因此如果命令行选项不起作用,可以使用 DiffPDF :) comparePDF 确实很快,到目前为止印象深刻!

标签: pdf automation comparison imagemagick diff


【解决方案1】:

您可以查看以下类似问题的答案:

但是,我不知道这些中的任何一个是否会比您的自动 Acrobat Pro 比较执行得更快...如果您发现了,请告诉我,好吗?

快捷方式:

为简单起见,我们假设要比较的输入文件足够相似,并且每个文件只有 1 页。 (对于多页输入,请扩展此答案的基本思想...)

任何此类比较归结为以下两个最基本的命令:

compare.exe ^
    %input1% ^
    %input2% ^
    -compose src ^
    %output%.tmp.pdf

pdftk.exe ^
    %output%.tmp.pdf ^
    background %input1% ^
    output %output%.pdf
  • 第一个命令会生成一个 PDF,其中所有差分像素都以红色着色。 (此处使用默认分辨率,72 dpi。要更精细地查看像素差异,请添加-density 200(这意味着:200 dpi) 或更高——但您的处理时间会增加因此,输出所需的磁盘空间也将如此...)
  • 第二个命令尝试将生成的 PDF 与取自 ${input1} 的背景合并。

或者,您可以在compare 命令之后添加-verbose -debug coder,以便更好地了解正在发生的事情。

compare.exe 是一个命令行工具,来自伟大的 ImageMagick 实用程序系列(适用于 Linux、Windows、Unix 和 MacOSX)。但它需要安装 Ghostscript 才能用作“代表”,以便能够处理 PDF 输入。 pdftk.exe 也是一个命令行实用程序,可用于相同的平台。两者都是免费软件。

在第一个命令之后,您将得到一个输出文件,其中只有红色像素,页面上存在差异。

在第二个命令之后,您将在第一个输入 PDF 的上下文中得到一个包含所有红色“差异”像素的输出。

示例输出:

以下是两个 1 页 PDF 文件的屏幕截图,它们的内容有所不同:


以下是上面两个命令产生的输出截图:

  • left 显示中间结果(在第一个命令之后),只有差异像素显示为红色(相同像素为白色)。
  • 右侧的屏幕截图显示了红色差异像素,但这次将输入的 PDF 文件编号 1 作为(灰色)背景(在第二个命令之后)。


(PDF 输入文件由 beautiful DiffPDF 工具的作者 Mark Summerfield 提供。)

【讨论】:

  • 谢谢!我从星期五就离开了,但我今天会看看这个,让你知道它是否合适。我在命令行上做了一些测试,diffPDF 至少比 PDF 快了两倍——虽然不确定提供输出时的差异。今晚我会将此标记为答案:)
【解决方案2】:

我遇到了同样的问题,diffpdf 又快又好,但只有 GUI。 [comparepdf] 是控制台之一,但只报告退出代码(本身没有差异)。 [diff-pdf] 有控制台模式和 diff.pdf 输出,但是速度慢,输出不友好。

我已尝试将所需的代码添加到 diffpdf, 你可以在这里找到它:http://github.com/taurus-forever/diffpdf-console

【讨论】:

    猜你喜欢
    • 2010-12-16
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多