Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A simple tool for visually comparing two PDF files (Note: this repo is provided *as-is*; PRs are welcome and promptly handled, but please don’t expect any kind of support, including implementation of feature requests or fixes. If you’re not a developer, this tool is probably not for you.)
C++ Shell
tree: 5b9ec0857d

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
fonts
.gitignore
AUTHORS
COPYING
COPYING.icons
Makefile.am
Makefile.mingw
README
bmpviewer.cpp
bmpviewer.h
bootstrap
configure.ac
diff-pdf.cpp
gtk-zoom-in.xpm
gtk-zoom-out.xpm
gutter.cpp
gutter.h

README

  0. Usage
============

diff-pdf is a tool for visually comparing two PDFs.

It takes two PDF files as arguments. By default, its only output is its return
code, which is 0 if there are no differences and 1 if the two PDFs differ. If
given the --pdf option, it produces a PDF file with visually highlighted
differences:

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

Another option is to compare the two files visually in a simple GUI, using
the --view argument:

   $ diff-pdf --view a.pdf b.pdf

This opens a window that lets you view the files' pages and zoom in on details.
It is also possible to shift the two pages relatively to each other using
Ctrl-arrows. This is useful for identifying translation-only differences.

See the output of `diff-pdf --help` for complete list of options.



  1. Obtaining the binaries
=============================

Precompiled version of the tool for Windows is available from
http://github.com/vslavik/diff-pdf/downloads -- the ZIP archive contains
everything you need to run diff-pdf. It will work from any place you with
unpack it to.



  2. Compiling from sources
=============================

The build system uses Automake and so a Unix or Unix-like environment (Cygwin
or MSYS) is required. Compilation is done in the usual way:

   $ ./bootstrap
   $ ./configure
   $ make
   $ make install

(Note that the first step, running the ./bootstrap script, is only required
when building sources checked from version control system, i.e. when configure
and Makefile.in files are missing.)

As for dependencies, diff-pdf requires the following libraries:

 * wxWidgets >= 2.8.11
 * Cairo >= 1.4
 * Poppler >= 0.10

Note that many more libraries are required on Windows, where none of the
libraries Cairo and Poppler use are normally available. At the time of writing,
transitive cover of the above dependencies included fontconfig, freetype, glib,
libpng, pixman, gettext, libiconv, libjpeg and zlib.

Precompiled version of the dependencies for Windows, built with MinGW, are
available from http://github.com/vslavik/diff-pdf/downloads (wxWidgets is
not included, as it supports MinGW well).


  1.1. Compiling on Windows using MinGW
-----------------------------------------

1. First of all, you will need working MinGW installation with MSYS environment
   and C++ compiler. The instructions on installing MinGW can be found here:

       http://www.mingw.org/wiki/Getting_Started

2. Once installed, launch the MinGW Shell tool. It will open a terminal window;
   type "cd /c/directory/with/diff-pdf" to do to the directory with diff-pdf
   sources.

3. You will need to install additional MinGW components that are not normally
   included with MinGW, using these commands:

       mingw-get install msys-wget
       mingw-get install msys-unzip
       mingw-get install msys-perl

4. It's time to build the software now. Type

      make -f Makefile.mingw

   and give it some time to finish. Note that this step requires Internet
   connectivity, as it downloads some dependencies packages.

5. If everything went well, diff-pdf is now in the mingw\Products\ directory.



  3. Installing
=================

On Unix, the usual `make install` is sufficient.

On Windows, installation is not necessary, just copy the files somewhere. If
you built it following the instructions above, all the necessary files will be
in the mingw\Products\ directory.
Something went wrong with that request. Please try again.