多数のPDFファイルの光学コンテンツを比較する必要があります。PDFファイルは異なるプラットフォームおよび異なるバージョンのソフトウェアで作成されたため、構造的な違い。例:
内部構造ではなく、人間のようなコンテンツを比較する必要があります。私たちが使用したPDFジェネレーターの異なるバージョン間の回帰のテストが必要です。
私たちが書いたようなツールはないので。 i-net PDF content comparer をダウンロードして使用できます。同じ問題で他の人にも役立つことを願っています。問題がある場合やフィードバックがある場合その場合は、サポートにご連絡ください。
実際にはdiffpdfツールがあります。
http://www.qtrac.eu/diffpdf.html
その弱点は、追加によって新しいテキストが部分的に新しいページに移動する場合にうまく反応しないことです。たとえば、古いページ4をページ5の終わりとページ6の始まりと比較する必要がある場合、2つのスライスを個別に比較するためにパラメーターをシフトする必要があります。
私は自家製のスクリプトを使用しました
使用したソフトウェア:
長所:
短所:
私は、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
私はこれをここで見ることができないようですので、ここにあります:via スーパーユーザー:2つのPDFファイルの違いを比較する方法?(answer#229891、 @slestak) 、あります
https://github.com/vslavik/diff-pdf
(Ubuntu Nattyのビルド手順は get-diff-pdf.sh にあります)
私が見る限り、それは基本的にpdfの各ページのテキスト/グラフィックをオーバーレイし、変更があったかどうかを簡単に確認できるようにします...
乾杯!
あなたの最善のアプローチは、PDFを適切な解像度の画像に変換し、画像を比較するよりも良いと思います。
から画像を生成するには、PDF Adobeを使用できますPDFライブラリまたは pdfファイルをtiffファイルに変換する最良の方法 。
生成されたTIFFファイルを比較するには、GNU tiffcmp ( GnuWin32 tiff のwindows部分の場合)および tiffinfo tiffcmp -lを使用して出力の行数をカウントし、相違点を見つけます。少しのコンテンツ変更(アンチエイリアシングの違いなど)がある場合は、tiffinfoを使用して、ピクセルを使用すると、パーセンテージの差の値を生成できます。
構造が変更されていない単純なPDF比較を行う人にとっては、コマンドラインdiffを使用し、特定のパターンを無視することが可能です。たとえば、GNU diff 2.7:
diff --brief -I xap:-I xapMM:-I/CreationDate -I/BaseFont -I/ID --binary --text
これには、生成されたフォント名の変更を常にキャッチするとは限らないという問題がまだあります。
ニーズに応じて、テキストへの変換ソリューションが最も簡単で直接的なものになります。ビットマップのアイデアはかなりクールだと思いました。
当社の製品PDF Comparator- http://www.premediasystems.com/pdfc.html "-これを非常にエレガントかつ効率的に行います。無料ではありませんが、 Mac OS X専用のアプリケーションです。
bluebeam pdfソフトウェアがこれを行います
compare pdf ファイルをTarkware Pdf Comparerでバッチ処理できます。ただし、無料ではなく、Adobe Acrobatが必要です。