コマンドラインからPDFファイルの差分を確認する


初投稿です。PDFファイルの差分を確認したいときちょくちょくってありますよね。PDFで提供されるマニュアルの改訂版を確認するとき、どこが改訂されたのかがわからず困ってしまいます。そんなあなたにおすすめなのが diff-pdf です。PDFの差分をテキスト・画像の両面から知ることができます。GUIで表示することも、コマンドラインで実行して結果をPDFファイルとして出力することもできます。便利ですね!


(出典:公式 GitHub Pages)

クロスプラットフォーム対応で、Windows版はバイナリとしても提供されています。本稿では Linux 版のコンパイル方法を中心に記載していきます。

コンパイル編

CentOS 7 を想定しています。

前提:依存性を解消する

Development Tools および GTK2, poppler をインストールします。GTK2 は wxWidgets が、poppler は diff-pdf が依存しているパッケージです。


sudo yum groupinstall "Development Tools"
sudo yum install -y gtk2 gtk2-devel poppler-glib poppler-glib-devel

もしgitが入ってない場合、ついでにインストールしておきましょう。

wxWidgetsをインストールする

wxWidgetsはクロスプラットフォームなGUIライブラリです(参考)。diff-pdf も wxWidgets3 を利用していますが、yum からインストールできるのは wxWidgets2 なので、ソースからコンパイルする必要があります。

  1. wxWidgetsのソースコードをここからダウンロードして展開する

    
    wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.tar.bz2
    bzip2 -dc wxWidgets-3.1.2.tar.bz2 | tar xvf - 
    
  2. configureを実行する

    
    cd wxWidgets-3.1.2
    ./configure
    
  3. コンパイル&インストール

    
    make
    sudo make install
    
  4. CentOS 7 の場合、/usr/local/lib にパスを通す

    
    echo /usr/local/lib  | sudo tee -a /etc/ld.so.conf
    sudo ldconfig
    

diff-pdf をコンパイルする

  1. git clone する

    
    cd ~
    git clone https://github.com/vslavik/diff-pdf.git
    
  2. bootstrapconfigure を実行する

    
    cd diff-pdf
    ./bootstrap
    ./configure
    
  3. コンパイル

    
    make
    

使い方編

CLI


diff-pdf --output-diff=差分.pdf 比較元.pdf 比較先.pdf

GUI


diff-pdf --view 比較元.pdf 比較先.pdf

参照