3

視覚的な違いを確認するために、あるフォルダにある約1500のPDFと別のフォルダにある1500のPDFを比較する必要があります。自動化されたAcrobatProの比較よりもはるかに高速なWindows用のDiffPDF(およびcomparePDFコマンドラインバージョン)が見つかりました。

これまで私が使用したもの:

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

しかし、これに伴う問題は、「これらのファイルは異なる」というだけを返すことです。コマンドラインからの出力を保存する方法を知っている人はいますか?GUIからこれを行うことができますが、それはTestCOmpleteのようなものを使用して自動化することを意味します:(

または、2つのPDFを視覚的に比較するより良い方法があります-出力/ハイライト/

C#.netライブラリのボーナスポイント。

4

2 に答える 2

7

同様の質問に対するこれらの回答を見ることができます。

ただし、これらのいずれかが、自動化されたAcrobatProの比較よりも高速に実行されるかどうかはわかりません...わかった場合はお知らせください。

ショートカット:

簡単にするために、比較する入力ファイルが十分に類似していて、それぞれが1ページだけであると仮定しましょう。(複数ページの入力の場合は、この回答の基本的な考え方を拡張してください...)

このような比較で最も重要な2つのコマンドは、次のとおりです。

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以上を追加します。ただし、出力に必要なディスク容量と同様に、処理時間もそれに応じて増加します。 ...)
  • 2番目のコマンドは、結果のPDFを${input1}から取得した背景とマージしようとします。

必要に応じ-verbose -debug coderて、コマンドの後に追加してcompare、何が起こっているのかをよりよく理解することができます。

compare.exeは、優れたImageMagickファミリのユーティリティ(Linux、Windows、Unix、およびMacOSXで利用可能)のコマンドラインツールです。ただし、PDF入力を処理できるようにするには、「デリゲート」として使用するGhostscriptをインストールする必要があります。 pdftk.exe同じプラットフォームで使用できるコマンドラインユーティリティでもあります。両方とも自由ソフトウェア。

最初のコマンドの後、ページに違いが見られる赤いピクセルのみを含む出力ファイルが作成されます。

2番目のコマンドの後、最初の入力PDFのコンテキストで、すべて赤の「diff」ピクセルを含む出力が表示されます。

出力例:

内容が異なる2つの1ページのPDFファイルのスクリーンショットを次に示します。

PDFファイルの例1 PDFファイルの例2


上記の2つのコマンドによって生成された出力のスクリーンショットは次のとおりです。

  • 左側は中間結果(最初のコマンドの後)を示しており、差のあるピクセルのみが赤で表示されています(同一のピクセルは白です)。
  • のスクリーンショットは赤い差のピクセルを示していますが、今回は入力されたPDFファイル番号1を(灰色の)背景として使用しています(2番目のコマンドの後)。

赤の差のピクセルのみ。 同一のピクセルは白です 背景コンテキストとしてPDFファイル1を使用した赤の差分ピクセル


(PDF入力ファイルは、美しいDiffPDFツールの作成者であるMark Summerfieldの厚意により提供されています。)

于 2012-06-22T18:47:21.443 に答える
2

私も同じ問題を抱えていました。diffpdfは高速で優れていますが、GUIのみです。[comparepdf]はコンソール1ですが、終了コードのみを報告します(diff自体は報告しません)。[diff-pdf]にはコンソールモードとdiff.pdf出力の両方がありますが、速度が遅く、出力が適切ではありません。

必要なコードをdiffpdfに追加しようとしましたが、ここで見つけることができます:http: //github.com/taurus-forever/diffpdf-console

于 2013-05-22T22:50:18.763 に答える