第2の人生の構築ログ

自分の好きなことをやりつつ、インカムもしっかりと。FIRA60 (Financial Independence, Retire Around 60) の実現を目指します。SE を生業としていますが、自分でプログラミングしながら自分が欲しいと思うアプリケーションを作ることが楽しみです。旅行と温泉、音楽と読書は欠かすことができません。

PDF の差分をとるフリーのツール pdf-diff

PDF ファイルの差分を取りたいことが時々あります。これまでは本家の Acrobat8 を使って差分をとっていたのですが、全ての端末にライセンスを用意しておらず、使えない端末もあるので、他に差分がとれるツールがないかと探していました。

とりあえずフリーで探していたのですが、diff-pdf が今回の利用目的で使えそうですので、しばらく使ってみることにしました。

github.com

ちょっと Win 環境はインストールで苦労しそうな雰囲気がありますが、macOS は brew でいれられます。環境によっては追加でインストールを求められるものもあると思いますが、brew は親切ですので、表示されるメッセージに従って対応すればインストールできると思います。

$ brew install diff-pdf

brew コマンドの Homebrew をまだ入れていない方は以下から。

brew.sh

使い方は、

$ diff-pdf --output-diff=diff.pdf a.pdf b.pdf

output-diff に指定をしたファイル、上記では diff.pdf に変更分が反映されたPDFファイルが出力されます。変更された箇所は色が変わって表示され、重なって表示されます。 先に引数に渡したファイル(a.pdf)の方が赤、後(b.pdf)が水色となりますので、最新のファイルを先に渡した方が見やすいのではないかと思います。

変更箇所は重なって表示されますので状況によっては若干見難いのですが、まずは変更箇所がわかること、その内容がさらっと確認できれば充分ですので私の今回の用途しては問題ありません。ちゃんとした差分の情報は原本で見ればよいですので。 フリーでこれだけのツールを用意してもらえるととても助かります。

例えば、以下は分かりやすさのためにワードの変更履歴で表示していますが、大きく3カ所変えています。頭で数字を変えており、途中文字を追加し、最後に文字を削除しています。変更前のPDFがあり、以下の内容の変更を行った変更後のPDFがあるとします。

f:id:dr_taka_n:20190319224701p:plain
変更履歴

この変更がどのように見えるかと言いますと、以下のような PDF ファイルになります。上記の例の diff.pdf です。なお、3つの変更箇所を強調している橙色の囲みは私の方で追加しています。

f:id:dr_taka_n:20190319224847p:plain
diff-pdf による差分表示

例えば段落が変わってしまった(ズレてしまった)り、ページズレなどがあった場合は正直差分の画面が大分見辛くなり、ちょっとツライところもあるのですが、フォーム、レイアウトが決まっているPDFファイルの比較など(今回の目的はこのケースです)では大きな問題にはならないように思います。

しばらくこのツールを使わせていただこうと思います。