{"id":13692526,"url":"https://vslavik.github.io/diff-pdf/","last_synced_at":"2025-05-02T19:32:13.654Z","repository":{"id":706821,"uuid":"353360","full_name":"vslavik/diff-pdf","owner":"vslavik","description":"A simple tool for visually comparing two PDF files","archived":false,"fork":false,"pushed_at":"2024-11-26T13:57:15.000Z","size":461,"stargazers_count":3883,"open_issues_count":16,"forks_count":234,"subscribers_count":51,"default_branch":"master","last_synced_at":"2025-04-23T18:56:55.530Z","etag":null,"topics":["pdf"],"latest_commit_sha":null,"homepage":"http://vslavik.github.io/diff-pdf","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vslavik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-10-28T21:13:20.000Z","updated_at":"2025-04-23T08:24:50.000Z","dependencies_parsed_at":"2024-01-14T09:57:55.891Z","dependency_job_id":"c6a2db7d-f7e9-4254-9b22-7bdbfd487d1b","html_url":"https://github.com/vslavik/diff-pdf","commit_stats":{"total_commits":127,"total_committers":23,"mean_commits":5.521739130434782,"dds":0.5196850393700787,"last_synced_commit":"6fcc13afcc49f73494c7a59771eeba10af66c837"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vslavik%2Fdiff-pdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vslavik%2Fdiff-pdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vslavik%2Fdiff-pdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vslavik%2Fdiff-pdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vslavik","download_url":"https://codeload.github.com/vslavik/diff-pdf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252095365,"owners_count":21693905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pdf"],"created_at":"2024-08-02T17:00:59.090Z","updated_at":"2025-05-02T19:32:13.388Z","avatar_url":"https://github.com/vslavik.png","language":"C++","funding_links":[],"categories":["PDF"],"sub_categories":["Diff Enhancers"],"readme":"*Note: this repository is provided **as-is** and the code is not being actively\ndeveloped. If you wish to improve it, that's greatly appreciated: please make\nthe changes and submit a pull request, I'll gladly merge it or help you out\nwith finishing it. However, please do not expect any kind of support, including\nimplementation of feature requests or fixes. If you're not a developer and/or\nwilling to get your hands dirty, this tool is probably not for you.*\n\n[![Build](https://github.com/vslavik/diff-pdf/actions/workflows/build.yml/badge.svg)](https://github.com/vslavik/diff-pdf/actions/workflows/build.yml)\n\n## Usage\n\ndiff-pdf is a tool for visually comparing two PDFs.\n\nIt takes two PDF files as arguments. By default, its only output is its return\ncode, which is 0 if there are no differences and 1 if the two PDFs differ. If\ngiven the `--output-diff` option, it produces a PDF file with visually\nhighlighted differences:\n\n```\n$ diff-pdf --output-diff=diff.pdf a.pdf b.pdf\n```\n\nAnother option is to compare the two files visually in a simple GUI, using\nthe `--view` argument:\n\n```\n$ diff-pdf --view a.pdf b.pdf\n```\n\nThis opens a window that lets you view the files' pages and zoom in on details.\nIt is also possible to shift the two pages relatively to each other using\nCtrl-arrows (Cmd-arrows on MacOS). This is useful for identifying translation-only differences.\n\nSee the output of `$ diff-pdf --help` for complete list of options.\n\n\n## Obtaining the binaries\n\nPrecompiled version of the tool for Windows is available as part of\n[the latest release](https://github.com/vslavik/diff-pdf/releases/latest/)\nas a ZIP archive, which contains everything you need to run diff-pdf. It will\nwork from any place you unpack it to.\n\nAlternatively, if you use [Chocolatey](https://chocolatey.org/), you can install\ndiff-pdf on Windows with:\n```\n$ choco install diff-pdf\n```\nOn Mac, if you use [Homebrew](https://brew.sh), you can use it to install diff-pdf with it:\n```\n$ brew install diff-pdf\n```\nOn Mac, if you use [Macports](https://macports.org), you can install diff-pdf with:\n```\n$ port install diff-pdf\n```\nOn  Fedora and CentOS 8:\n```\n$ sudo dnf install diff-pdf\n```\nPrecompiled version for openSUSE can be downloaded from the\n[openSUSE build service](http://software.opensuse.org).\n\n\n## Compiling from sources\n\nThe build system uses Automake and so a Unix or Unix-like environment (Cygwin\nor MSYS) is required. Compilation is done in the usual way:\n\n```\n$ ./bootstrap\n$ ./configure\n$ make\n$ make install\n```\n\n(Note that the first step, running the `./bootstrap` script, is only required\nwhen building sources checked from version control system, i.e. when `configure`\nand `Makefile.in` files are missing.)\n\nAs for dependencies, diff-pdf requires the following libraries:\n\n- wxWidgets \u003e= 3.0\n- Cairo \u003e= 1.4\n- Poppler \u003e= 0.10\n\n#### CentOS:\n\n```\n$ sudo yum groupinstall \"Development Tools\"\n$ sudo yum install wxGTK wxGTK-devel poppler-glib poppler-glib-devel\n```\n\n#### Ubuntu 24.04 / Debian 12 or newer:\n\n```\n$ sudo apt-get install make automake g++\n$ sudo apt-get install libpoppler-glib-dev poppler-utils libwxgtk3.2-dev\n```\n\n#### Older versions of Ubuntu / Debian:\n\n```\n$ sudo apt-get install make automake g++\n$ sudo apt-get install libpoppler-glib-dev poppler-utils libwxgtk3.0-gtk3-dev\n```\n\n#### macOS:\nInstall Command Line Tools for Xcode:\n\n```\n$ xcode-select --install\n```\n\nand install [Homebrew](https://brew.sh) or [MacPorts](https://www.macports.org) to manage dependencies, then:\n\n```\n$ brew install automake autoconf wxmac poppler cairo pkg-config\n```\n\nor\n\n```\n$ sudo port install automake autoconf wxWidgets-3.0 poppler cairo pkgconfig\n```\n\nNote that many more libraries are required on Windows, where none of the\nlibraries Cairo and Poppler use are normally available. At the time of writing,\ntransitive cover of the above dependencies included fontconfig, freetype, glib,\nlibpng, pixman, gettext, libiconv, libjpeg and zlib.\n\n\n### Compiling on Windows using MSYS + MinGW\n\n1. First of all, you will need working MinGW installation with MSYS2 environment\nand C++ compiler. Install MSYS2 by following [their instructions](https://www.msys2.org).\n\n1. Once installed, launch the MSYS2 MinGW shell. It will open a terminal window;\ntype `cd /c/directory/with/diff-pdf` to go to the directory with diff-pdf\nsources.\n\n1. You will need to install additional MSYS components that are not normally\nincluded with MSYS, using these commands:\n\n    ```\n    $ pacman -Syu\n    $ pacman -S automake autoconf pkg-config make zip pactoys\n    $ pacboy -S gcc:p poppler:p wxWidgets:p\n    ```\n\n1. Build diff-pdf in the same way as in the instructions for Unix above:\n\n    ```\n    $ ./bootstrap  # only if building from git repository\n    $ ./configure\n    $ make\n    ```\n\n1. To build a ZIP archive will all DLLs, run\n    ```\n    $ make windows-dist\n    ```\n\n\n## Installing\n\nOn Unix, the usual `make install` is sufficient.\n\nOn Windows, installation is not necessary, just copy the files somewhere. If\nyou built it following the instructions above, all the necessary files will be\nin the created ZIP archive.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/vslavik.github.io%2Fdiff-pdf%2F","html_url":"https://awesome.ecosyste.ms/projects/vslavik.github.io%2Fdiff-pdf%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/vslavik.github.io%2Fdiff-pdf%2F/lists"}