diff-pdf

vslavikGPL-2.0活跃维护

可视化对比两个 PDF 文件的差异,把页面渲染成图像后逐页比对,适合检查文档改版前后的细微变化。

A simple tool for visually comparing two PDF files

v0.5.3发布于 2026-03-28 12:43 UTC4,339star +1 / 7 天266fork同步于 2026-11-10 11:38 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
brew install diff-pdf
brew install automake autoconf wxmac poppler cairo pkg-config
硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v0.5.3
  1. v0.5.3Version 0.5.3最新正式版2026-03-28 · 2026-03-28 12:43 UTC

    Left/right document isolated view (https://github.com/vslavik/diff-pdf/pull/92 by @mandulaj)

  2. v0.5.2Version 0.5.22024-01-26 · 2024-01-26 17:33 UTC
    查看更新说明

    Windows binaries are now built as 64-bit. Fixed display of usage message on Windows to show in a message box.

  3. v0.5.1Version 0.5.12023-04-15 · 2023-04-15 08:10 UTC
    查看更新说明

    Added new --per-page-pixel-tolerance option by @gstark.

  4. v0.5Version 0.52021-02-13 · 2021-02-13 13:57 UTC
    查看更新说明
    • Added new --dpi option that helps with ignoring small differences, particularly when combined with channel-tolerance. Thanks @bendablegears!
    • Added --grayscale option to convert the diff output to grayscale and only use color for pixels with differences. This is useful for comparing documents that use colors and that may look confusing in the diff view.
  5. v0.4.1Version 0.4.12020-01-17 · 2020-01-17 16:45 UTC
    查看更新说明

    Fixes some bugs (#64, #65) that crept into 0.4. All users of 0.4 should update. Thanks go to @alxckn and @pietvo for spotting and fixing the bugs.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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.

    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:

    • 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 24.04 / Debian 12 or newer:
    $ sudo apt-get install make automake g++
    $ sudo apt-get install libpoppler-glib-dev poppler-utils libwxgtk3.2-dev
    
    Older versions of Ubuntu / Debian:
    $ 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.