https://github.com/vslavik/diff-pdf Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} vslavik / diff-pdf Public * Notifications You must be signed in to change notification settings * Fork 169 * Star 2.6k A simple tool for visually comparing two PDF files vslavik.github.io/diff-pdf License GPL-2.0, Unknown licenses found Licenses found GPL-2.0 COPYING Unknown COPYING.icons 2.6k stars 169 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Pull requests 0 * Actions * Wiki * Security * Insights Additional navigation options * Code * Pull requests * Actions * Wiki * Security * Insights vslavik/diff-pdf This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 134 Commits .github/workflows .github/ workflows admin admin win32 win32 .gitignore .gitignore AUTHORS AUTHORS COPYING COPYING COPYING.icons COPYING.icons Makefile.am Makefile.am README.md README.md bmpviewer.cpp bmpviewer.cpp bmpviewer.h bmpviewer.h bootstrap bootstrap configure.ac configure.ac diff-pdf.cpp diff-pdf.cpp gtk-zoom-in.xpm gtk-zoom-in.xpm gtk-zoom-out.xpm gtk-zoom-out.xpm gutter.cpp gutter.cpp gutter.h gutter.h View all files Repository files navigation * README * GPL-2.0 license * License 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. Build 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. 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: * wxWidgets >= 3.0 * Cairo >= 1.4 * Poppler >= 0.10 CentOS: $ sudo yum groupinstall "Development Tools" $ sudo yum install wxGTK wxGTK-devel poppler-glib poppler-glib-devel Ubuntu: $ sudo apt-get install make automake g++ $ sudo apt-get install libpoppler-glib-dev poppler-utils libwxgtk3.0-gtk3-dev macOS: Install Command Line Tools for Xcode: $ xcode-select --install and install Homebrew or MacPorts to manage dependencies, then: $ brew install automake autoconf wxmac poppler cairo pkg-config or $ 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 1. First of all, you will need working MinGW installation with MSYS2 environment and C++ compiler. Install MSYS2 by following their instructions. 2. 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. 3. 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 4. Build diff-pdf in the same way as in the instructions for Unix above: $ ./bootstrap # only if building from git repository $ ./configure $ make 5. 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. About A simple tool for visually comparing two PDF files vslavik.github.io/diff-pdf Topics pdf Resources Readme License GPL-2.0, Unknown licenses found Licenses found GPL-2.0 COPYING Unknown COPYING.icons Activity Stars 2.6k stars Watchers 51 watching Forks 169 forks Report repository Releases 6 Version 0.5.2 Latest Jan 26, 2024 + 5 releases Packages 0 No packages published Contributors 20 * @vslavik * @fatalmind * @gstark * @orlitzky * @mrsarm * @pietvo * @alxckn * @Arlon1 * @MichaelPFrey * @chuim * @Vascom * @jbonigomes * @cliffmaury * @fxcoudert + 6 contributors Languages * C++ 49.5% * M4 46.1% * Shell 3.7% * Makefile 0.7% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.