注意:此存储库按原样提供,代码尚未积极开发。如果您希望改进它,我们将不胜感激:请进行更改并提交拉取请求,我很乐意合并它或帮助您完成它。但是,请不要期望获得任何类型的支持,包括功能请求或修复的实现。如果您不是开发人员和/或不愿意亲自动手,那么这个工具可能不适合您。
diff-pdf 是一个用于直观比较两个 PDF 的工具。
它需要两个 PDF 文件作为参数。默认情况下,它的唯一输出是返回码,如果没有差异,则为 0;如果两个 PDF 不同,则为 1。如果给定--output-diff
选项,它会生成一个 PDF 文件,其中差异以视觉方式突出显示:
$ diff-pdf --output-diff=diff.pdf a.pdf b.pdf
另一种选择是使用--view
参数在简单的 GUI 中直观地比较两个文件:
$ diff-pdf --view a.pdf b.pdf
这将打开一个窗口,您可以在其中查看文件页面并放大详细信息。还可以使用 Ctrl-箭头(MacOS 上的 Cmd-箭头)相对移动两个页面。这对于识别仅翻译的差异很有用。
请参阅$ diff-pdf --help
的输出以获取完整的选项列表。
适用于 Windows 的工具的预编译版本作为最新版本的一部分以 ZIP 存档形式提供,其中包含运行 diff-pdf 所需的所有内容。它可以在您将其解压到的任何地方使用。
或者,如果您使用 Chocolatey,则可以使用以下命令在 Windows 上安装 diff-pdf:
$ choco install diff-pdf
在 Mac 上,如果您使用 Homebrew,则可以使用它来安装 diff-pdf:
$ brew install diff-pdf
在 Mac 上,如果您使用 Macports,则可以使用以下命令安装 diff-pdf:
$ port install diff-pdf
在 Fedora 和 CentOS 8 上:
$ sudo dnf install diff-pdf
openSUSE 的预编译版本可以从 openSUSE 构建服务下载。
构建系统使用 Automake,因此需要 Unix 或类 Unix 环境(Cygwin 或 MSYS)。编译按照通常的方式完成:
$ ./bootstrap
$ ./configure
$ make
$ make install
(请注意,只有在从版本控制系统检查构建源时,即当configure
和Makefile.in
文件丢失时,才需要执行第一步,运行./bootstrap
脚本。)
至于依赖项,diff-pdf 需要以下库:
$ sudo yum groupinstall "Development Tools"
$ sudo yum install wxGTK wxGTK-devel poppler-glib poppler-glib-devel
$ sudo apt-get install make automake g++
$ sudo apt-get install libpoppler-glib-dev poppler-utils libwxgtk3.2-dev
$ sudo apt-get install make automake g++
$ sudo apt-get install libpoppler-glib-dev poppler-utils libwxgtk3.0-gtk3-dev
安装 Xcode 的命令行工具:
$ xcode-select --install
并安装 Homebrew 或 MacPorts 来管理依赖项,然后:
$ brew install automake autoconf wxmac poppler cairo pkg-config
或者
$ sudo port install automake autoconf wxWidgets-3.0 poppler cairo pkgconfig
请注意,Windows 上需要更多的库,而 Cairo 和 Poppler 使用的库通常都不可用。在撰写本文时,上述依赖项的传递覆盖包括 fontconfig、freetype、glib、libpng、pixman、gettext、libiconv、libjpeg 和 zlib。
首先,您需要使用 MSYS2 环境和 C++ 编译器安装 MinGW。按照说明安装 MSYS2。
安装后,启动 MSYS2 MinGW shell。它将打开一个终端窗口;输入cd /c/directory/with/diff-pdf
以转到包含 diff-pdf 源的目录。
您需要使用以下命令安装 MSYS 通常不包含的其他 MSYS 组件:
$ pacman -Syu
$ pacman -S automake autoconf pkg-config make zip pactoys
$ pacboy -S gcc:p poppler:p wxWidgets:p
按照与上述 Unix 说明相同的方式构建 diff-pdf:
$ ./bootstrap # only if building from git repository
$ ./configure
$ make
要构建所有 DLL 的 ZIP 存档,请运行
$ make windows-dist
在 Unix 上,通常的make install
就足够了。
在 Windows 上,不需要安装,只需将文件复制到某处即可。如果您按照上述说明构建它,所有必需的文件将位于创建的 ZIP 存档中。