Windowsで2つのPDFファイルの違いを比較する方法は?


205

PDFファイルを並べて比較し、2つの間の変更を表示する良い方法を知っていますか?

これを実現するWindowsソフトウェアを探しています。無料の製品と無料でない製品の両方を投稿できるといいですね。



1
PDFをピクセルごとに比較する無料のライブラリがあります。このブログをチェックしてください:testautomationguru.com/...
Vinoth S

回答:


109

xdocdiffプラグインを使用してWinMergeを試してください。どちらも完全に無料です。付帯条件なし。


以下のコメントのいくつかは、彼らは違いを見ないことを示唆しています。これは、プラグインが正しくインストールされていないことを意味します。方法は次のとおりです。

  1. ファイル入れてxdocdiff(; - READMEを読むなど、ファイル名を変更することができますように私はここに表示されません二つの場所があります)プラグインのreadmeファイルには、それらを置くことを言いますが

  2. WinMergeで、[プラグイン]> [リスト]に移動し、[プラグインを有効にする]チェックボックスをオンにします(この手順はxdocdiffreadmeにはありません)

  3. WinMergeで、[プラグイン]> [自動アンパック]を選択します(これは手順2より前に無効にされていました)

比較すると、比較ウィンドウにテキストファイルのように見えるものが表示されます。


これを試してみましたが、xdocdiffプラグインを使用していない場合は違いを見ることができませんでした。WinMergeのUIで選択するオプションはありますか?
アンバーフェルール

1
PDFでバイナリテキストを表示する目的は何ですか?i-net PDFCによって行われる視覚的な違いを見ると期待していました
-JJD

このハンドル列をブレークする方法はありましたか?それなしでは、1つの変更がいくつかにカスケードされます。
スチュアート

1
Plugins > List and tick the "Enable Plugins" checkbox私に欠けていたものでした!
2014

WinMerge diffウィンドウに表示されるPDFのテキストバージョンに多くの文字がありませ
ん-cja

168

LinuxおよびWindowsで使用できますdiffpdfdiff-pdfこのスレッドで言及したものとは異なります)。

ここに画像の説明を入力してください

以下を使用してUbuntuにインストールします。

sudo apt-get install diffpdf

テキストまたは視覚的なpdsの比較については、このUbuntuGeekページを参照してください。

Windowsの場合、このDiffpdf Windowsバージョンは非常に優れた機能を発揮します。http://soft.rubypdf.com/software/diffpdfからダウンロードできます(Win32静的バージョンまでスクロールダウンします)。


12
適切な名前があるDiffPDF(スクリーンショットに見られるように)、それはQtの4とにPopplerライブラリに基づいているので、それは、あるポータブル。DiffPDFホームページ:qtrac.eu/diffpdf.htmlを参照してください。Windowsビルドに関する情報は、soft.rubypdf.com / software / diffpdfにあります。また、インストール手順はDebianでも機能します。
przemoc

3
DiffPDFホームページには、Linux、Windowsインストーラー、およびMac DMGインストールのリンクもあります(qtrac.eu/diffpdf.html)。
スタッドギーク

6
私の意見では、DiffPDFはここで紹介する最も先進的なツールです。優れたグラフィカルな比較を提供するだけでなく、WinMergeのxdocdiffなど、他よりも巧妙に変更を追跡します。ただし、1つの重大な問題があります:比較をページに制限します。つまり、文書Aの2ページのテキストを持っていますが、このテキストは、文書Bで3ページに移動した場合、そのツールは、そのは、BにAに行って、コメントを追加しました思って、意味
CAW

7
無料版を見つけることができる古いここに
Shafik Yaghmour

3
PDFにエクスポートする小説にこれを使用してみました。残念ながら、このツールは10ページ前後でトラックを失い、大きなパッセージがまったく同じであっても、すべてが「異なる」と見なしました。
エリックJ.

42

私は最近これを見つけ、私はそれが大好きです。

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

クロスプラットフォーム、無料、そしてうまく機能します。

diff-pdf動作中のスクリーンショットを次に示します-PDFのテキストは変わらず、フォント(およびそれに対応するレイアウト設定)のみが異なることに注意してください。

diff-pdf.png

その画像を取得するための呼び出しは次のとおりです。

diff-pdf --view testA.pdf testB.pdf

 

... testA.pdf / testB.pdfは、次のように単純なLatexファイルをコンパイルすることで取得されますpdflatex(各pdfについてはコメントを参照)。

\documentclass[12pt]{article}


                        % without mathpazo: testA.pdf
\usepackage{mathpazo} % with mathpazo: testB.pdf
\usepackage{lipsum}


\title{A brand new test}
\author{Testulio}

\begin{document}

\maketitle

\lipsum[1-3]

\end{document}

10
もう1つ注意点がありdiff-pdfます。DiffPDFは、変更されたテキストをすばやく視覚的に並べて比較するのに最適ですが、行間隔の小さな変更などをデバッグすることは事実上不可能です- diff-pdf一方、基本的にはページコンテンツを配置します同じページ上の両方の比較ファイルから(ただし色が異なる)-行間隔の問題を簡単に特定できます...乾杯!
sdaau

これは素晴らしい!とにかくPDFファイルに出力するときに(--viewオプションを使用せずに)大きなファイルの進行状況を追跡する必要はありますか?詳細オプション/ vは何もしないようです。また、コマンドを実行して比較PDFを生成する場合、別のプロセスで実行されるため、プロンプトから何かを実行するときに通常発生するようなコマンドプロンプトを一時停止しません。
ルーク

これが必要なものです。数値の実行に関するPDFレポートを比較しているので、ページ全体で1桁の違いを探しています。問題は、シアンの文字を特定できないことですが、違いがどこにあるかを知っていれば、元のレポートでそれを見つけるのに十分です。
マヌエルビガルシア

22

また、当社でPDFを比較する必要があり、見つかったソリューションに満足できなかったため、独自のi-net PDFCを作成しました。無料ではありませんが、30日間の試用版を提供しています。

Javaで書かれているため、クロスプラットフォームです。

スクリーンショット

特別なのは、テキストだけではなくコンテンツを比較することです(または、pdfを画像に変換して画像を比較するだけです)。また、視覚的な比較ツールもあります。


1
ちょっとしたソフトウェア。
アンバーフェルール

これを機能させることができませんでした。2つのファイルをロードし、比較ボタンをクリックしても何も起こりません。
クレイグフィッシャー

1
クロスページの違いを正しく処理します。エクスポート/印刷機能があります。異なる比較プロファイル(カスタムを含む)。マウスオーバーすると、変更内容の詳細が表示されます。素晴らしく見える。欠点は試行錯誤であり、移動を処理しません。IMOの上位投票ツールよりも明らかに優れています。
ジョナサンガウリッチ

@JonathanGawrych優しい言葉をありがとう!「動き」とはどういう意味ですか?その機能を追加できるかもしれません...
Epaga

@Epagaテキストのセクションをあるページから別のページに移動すると、削除および追加として表示されます。たとえば、C ++の提案N4663N4680を比較します。19ページを参照して、例を11から8に移動しましたが、追加/削除として扱われます。実際の違いを確認するためには、物事は一例に追加されたことを確認するために、手動で、その後、何かが移動検出し、別のdiffツールに例をコピーする必要があります(unhandled_exception、return_void、など)
ジョナサンGawrych

12

Adobe Acrobat Xを使用することもできます。「表示->ドキュメントの比較」の下にPDF比較機能が組み込まれています。


1
AcrobatまたはAcrobat Reader?Readerソフトウェアにはこれがありません
Jason S

4
AcrobatX Proは、この機能を備えた唯一のバージョンです。「単なるAcrobatX」はそうではありません。
カールウィットソフト

2
Acrobat 9 Proでは、[ドキュメント]メニューの下にあります。
スビント


10

私は最近これらの要件でこれを実行したかった(diff PDF)。

  • 空白、改行、改ページなどを無視します。
  • 行/段落全体だけでなく、いくつかの単語が変化したときに簡単に確認できます。
  • カラー差分出力

さまざまなパッケージマネージャーで利用可能なpdftotext、wdiff、colordiffをインストールしました。(MacPortsの付:sudo port install poppler wdiff colordiff

次に:

wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff

これで、きれいに色付けされた単語が変更されたことがわかります。

詳細:http : //philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

変化:

を使用dwdiffすると、若干良い結果が得られます。

HTML出力も必要だったので、この小さなスクリプトは、少しのCSSを使用して基本的なWebページを作成します。

bash pc-script.bash old.pdf new.pdf > q.htlm

次にq.html、Webブラウザーで開きます。

pc-script.bash ファイル:

#!/bin/bash

OLD="$1"
NEW="$2"

cat <<EOF
<html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style>
.plus  { color: green; background: #E7E7E7;                                }
.minus { color: red;   background: #D7D7D7; text-decoration: line-through; }
</style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre>
EOF

dwdiff -i -A best -P      \
  --start-delete='<span class="minus">' --stop-delete='</span>' \
  --start-insert='<span class="plus" >' --stop-insert='</span>' \
  <( pdftotext -enc UTF-8 -layout "$OLD" - )   \
  <( pdftotext -enc UTF-8 -layout "$NEW" - )   \

cat <<EOF
</pre></body></html>
EOF

出力の例はここで見ることができます

ここに画像の説明を入力してください


@philcolbourn Google+はシャットダウンされます。スクリーンショットをimgurで共有しますか?
myrdd

fwiw、私はこの小さなリポジトリにつまずいた:github.com/tpltnt/cli-diffpdf/blob/master/cli-diffpdf.sh
myrdd

Windows、Mac、Fedora、openSUSEを使用している場合、またはシステムのソースからバイナリをコンパイルできる場合、diff-pdfは、3つの異なる依存関係をインストールすることなくこれを実現する優れたソリューションです。別の回答で言及されているdiffpdfと混同しないようにしてください。
ハシム

pc-script.bashスクリプトはHTMLの文字をエスケープしないことに注意してください。
フェデリコ

7

PDF内のテキストを比較する場合、Beyond Compareがこれを行います。

無料ではありませんが、30日間の試用版があります。


はい、New > Text Compare2つのPDFファイルのテキストの基本的な違いを確認するのに役立ちました。
ライアン

6

優れたツールと使いやすい:Compare-It v4(http://www.grigsoft.com/から)

さまざまな種類のファイルを比較します。PDFファイル用など、いくつかの組み込みコンバーターがあります。

満足のいく結果で何度も使用しました。

本当にこれを試してみてください。試用版では、無制限の時間の比較が可能です。


1
これは私にとって最高で最も簡単なものでした。ありがとう!
アンクールジャイン

私が使用することがわかった最も簡単で最もシンプルなツール。これに何度も賛成できたらと思います!
チャド

PDFの場合、比較はテキスト形式のようです。2010年の最後のリリースです。料金はかかりますが、違いは何ですか?制限はありませんでしたか?
Zitrax


1

無料、最高ではないが...

両方のドキュメントを開き、画面を互いに分割します。

最も実用的なソリューションではありませんが、機能します!

PDFファイル用の優れたDIFFパッケージは見たことがありませんが、手作業や煩わしい作業はうまくいきます!


ええと...私が探していたものではなく、ありがとう。
ネルソンレイズ

申し訳ありませんが、良い答えはわかりませんが、PDFファイルに適したツールを見つけたことがないと言っています。
ウィリアムヒルサム

3
2つのコピーが重なるように目を交差させて、違いがちらつくように見えます。:D
エンドリス14年

この方法の最適化されたバージョン:CTRL + Lを経由してアクロバットリーダーフルスクリーンの両方のPDFファイルを開くには、その後、動くものが...違う、PDFファイルを切り替えるには、Ctrl + F6を使用
バーナード・ヴァンダーBeken


0

理想的ではない別のソリューション:

  1. 無料でこれを行うWebサイトのいずれかを使用して、両方のPDFをMicrosoft Word文書に変換します。
  2. Wordのドキュメント比較機能を使用します。

PDFの書式設定の複雑さと、探している変更の種類によっては、これで問題ない場合があります。


この場合、多くのPDFドキュメントがあり、変更は非常に頻繁に行われるため、困難です。しかし、提案に感謝します。
ネルソンレイズ

また、LaTeX出力には適していません-合字などを適切に処理するこれらのコンバーターが見つかりませんでした。
クリスH

0

商用:オリジナルのAdobe Acrobat Professionalを使用すると、なんと$ 449で購入できます。
改訂版PDFを以前のバージョンと比較してください

Acrobatを決定する場合、このページのコメントはその使用に関連しています。


「なんと449ドル」…そして何MBのディスク容量?
ヒューアレン

3
@Hugh Allen:大量のディスクスペースとレジストリ内の数万のエントリの地獄。本物のブロートウェア。
harrymc

アドビのAcrobat XIのために更新されたヘルプ記事:adobe.com/uk/products/acrobat/file-compare-two-pdf-files.html
Squig

とにかくバグがあります:forums.adobe.com/thread/647854?tstart
Michal Sokolowski


0

2つのpdfファイル間の同期スクロールの非常に原始的な形式については、私が書いた次のautohotkeyスクリプトを使用できます。2つのSumatraPDFウィンドウが開いていることを前提としています。右を押して両方のウィンドウの次のページに移動し、左を押して前のページに移動します。

#IfWinActive ,SumatraPDF
Right::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Right}
WinActivate, ahk_id %win2%
sendinput {Right}
WinActivate, ahk_id %orig%
return

Left::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Left}
WinActivate, ahk_id %win2%
sendinput {Left}
WinActivate, ahk_id %orig%
return

0

私はこの(理想的ではないが、私にとっては十分な)ソリューションを使用しました:

  • PDFをプレーンテキストに変換します(私の場合は、Adobe Readerを使用する無料アプリ)
  • opendiff(XCodeに含まれ、無料)を使用して変更を確認する


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.