vslavik/diff-pdf is a open-source project on GitHub, written primarily in C++. It has 4.3k stars. A simple tool for visually comparing two PDF files
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Note: this repository is provided as-is and the code is not being actively
developed. If you wish to improve it, that's greatly appreciated: please make
the changes and submit a pull request, I'll gladly merge it or help you out
with finishing it. However, please do not expect any kind of support, including
implementation of feature requests or fixes. If you're not a developer and/or
willing to get your hands dirty, this tool is probably not for you.
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 --output-diff option, it produces a PDF file with visually
highlighted differences:
$ diff-pdf --output-diff=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 (Cmd-arrows on MacOS). This is useful for identifying translation-only differences.
You can also use Ctrl+< and Ctrl+> (Cmd+< and Cmd+> on MacOS) show the left and right documents respecively. Ctrl+D to return back to the diff view.
See the output of $ diff-pdf --help for complete list of options.
Obtaining the binaries
Precompiled version of the tool for Windows is available as part of
the latest release
as a ZIP archive, which contains everything you need to run diff-pdf. It will
work from any place you unpack it to.
Alternatively, if you use Chocolatey, you can install
diff-pdf on Windows with:
$ choco install diff-pdf
On Mac, if you use Homebrew, you can use it to install diff-pdf with it:
$ brew install diff-pdf
On Mac, if you use Macports, you can install diff-pdf with:
$ port install diff-pdf
On Fedora and CentOS 8:
$ sudo dnf install diff-pdf
Precompiled version for openSUSE can be downloaded from the
openSUSE build service.
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:
$ sudo port install automake autoconf wxWidgets-3.0 poppler cairo pkgconfig
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.
Compiling on Windows using MSYS + MinGW
First of all, you will need working MinGW installation with MSYS2 environment
and C++ compiler. Install MSYS2 by following their instructions.
Once installed, launch the MSYS2 MinGW shell. It will open a terminal window;
type cd /c/directory/with/diff-pdf to go to the directory with diff-pdf
sources.
You will need to install additional MSYS components that are not normally
included with MSYS, using these commands:
$ pacman -Syu
$ pacman -S automake autoconf pkg-config make zip pactoys
$ pacboy -S gcc:p poppler:p wxWidgets:p
Build diff-pdf in the same way as in the instructions for Unix above:
$ ./bootstrap # only if building from git repository
$ ./configure
$ make
To build a ZIP archive will all DLLs, run
$ make windows-dist
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 created ZIP archive.
The most recent commit recorded on vslavik/diff-pdf was 4 months ago, based on the GitHub push timestamp. The repository has 258 forks — one of the better signals of community interest.
How many stars does vslavik/diff-pdf have?
vslavik/diff-pdf has 4.3k GitHub stars — refresh the page for the live number, or check github.com/vslavik/diff-pdf. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is vslavik/diff-pdf open source?
Yes — vslavik/diff-pdf ships under the GPL-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/vslavik/diff-pdf.
What topics is vslavik/diff-pdf associated with?
GitHub's repository topics for vslavik/diff-pdf: "pdf". TopGit's editorial category is open-source.
Where can I see vslavik/diff-pdf in action?
The project maintains a homepage at http://vslavik.github.io/diff-pdf. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about vslavik/diff-pdf?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/vslavik/diff-pdf is the definitive source.
Read full README in the tab above.
Curious whether diff-pdf is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about diff-pdf.