Skip to content

apex-hughin/DiffPDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiffPDF

DiffPDF is used to compare two PDF files.

By default the comparison is of the words on each pair of pages, but comparing character by character is also supported (e.g., for logographic languages). And there's also support for comparing the pages by appearance (for example, if a diagram is changed or if a paragraph is reformatted, or a font changed). It is also possible to compare particular pages or page ranges. For example, if there are two versions of a PDF file, one with pages 1-12 and the other with pages 1-13 because of an extra page having been added as page 4, they can be compared by specifying two page ranges, 1-12 for the first and 1-3, 5-13 for the second. This will make DiffPDF compare pages in the pairs (1, 1), (2, 2), (3, 3), (4, 5), (5, 6), and so on, to (12, 13).

A couple of example PDF files are provided online so that you can try it out. PDF files can be loaded from the GUI (by pressing the File #1 and File #2 buttons), or by specifying them on the command line. More information is available in the program's tooltips and About box.

(If you want a command line tool for comparing PDFs see http://www.qtrac.eu/comparepdf.html.)

Home page: http://www.qtrac.eu/diffpdf.html

Windows Users

Download the zip file, e.g., diffpdf-1.9.2.zip (where the number will vary depending on the version). Navigate to the file in Windows Explorer and use the context menu to choose the Extract All option. It doesn't matter what folder you extract to, but best to use one specifically for DiffPDF. The folder will contain diffpdf.exe and may contain some .dll files too. If there are .dll files, you must not move diffpdf.exe to any other folder!

Once unzipped you can double-click diffpdf.exe to run it. You might also like to add a shortcut to it from the desktop or from the start menu.

Compiling and Installing DiffPDF (Mac-specific notes are at the end.)

Prerequisites: A C++ compiler, the Qt 4 libraries (I test with Qt 4.7 and Qt 4.8. Earlier Qt's may work although Qt 4.4 and 4.5 will at least need a compiler with tr1 support), and the Poppler libraries (at least 0.20.1, including Poppler's Qt 4 headers). Linux and BSD users should be able to get everything through their package management system---and some distros already include diffpdf so you don't even have to build it. Mac OS X users can get a compiler by installing Xcode; you'll need to get Qt and Poppler separately.

  1. Unpack the archive file, diffpdf-XXX.tar.gz $ tar xvfz diffpdf-XXX.tar.gz
  2. Change directory to diffpdf-XXX $ cd diffpdf-XXX
  3. Run lrelease; on some sytems this might be called lrelease-qt4 $ lrelease diffpdf.pro
  4. Run qmake; on some systems, run qmake-qt4 $ qmake
  5. Run make $ make
  6. Copy or soft-link the diffpdf executable to somewhere on your PATH
  7. Only the executable is needed; all the files that were unpacked or generated can be safely deleted.

That's it!

Running DiffPDF

A pair of tiny example files are available: http://www.qtrac.eu/boson1.pdf and http://www.qtrac.eu/boson2.pdf. You can use these to see the difference between text and appearance comparisons and to get a feel for how DiffPDF works.

If you hit a bug, please report it to mark@qtrac.eu. Be sure to include "DiffPDF" in the subject line and specify the version you are using and details of your system, e.g., operating system name and version, compiler name and version, Qt library version, Poppler library version.

License

This program was written by Mark Summerfield. Copyright © 2008-13 Qtrac Ltd. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option), any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (in file gpl-2.0.txt) for more details.

Building on Mac OS X

Here's how to build it:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
$ brew install qt
$ brew install poppler --with-qt4

# Dirs must be writeable because macdeployqt modifies copied files
$ chmod -R u+w /usr/local/Cellar/qt/
$ chmod -R u+w /usr/local/Cellar/poppler/

$ curl -O http://www.qtrac.eu/diffpdf-1.5.0.tar.gz
$ tar xvfz diffpdf-1.5.0.tar.gz
$ cd diffpdf-1.5.0
$ lrelease diffpdf.pro
$ qmake -spec macx-g++
$ make

Here's how to make a .dmg:

# Fix references, remove unneeded Frameworks and build DMG
$ macdeployqt diffpdf.app/
$ cd diffpdf.app/Contents/Frameworks/
$ rm -r QtDeclarative.framework/ QtNetwork.framework/
QtScript.framework/ QtSql.framework/ QtSvg.framework/
QtXmlPatterns.framework/
$ cd ../../..
$ hdiutil create diffpdf-1.5.0.dmg -srcfolder diffpdf.app/

Thanks to Dirk Loss for this information.

About

DiffPDF is used to compare two PDF files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages