Примечание. Этот репозиторий предоставляется «как есть» , и его код активно не разрабатывается. Если вы хотите его улучшить, мы будем очень признательны: внесите изменения и отправьте запрос на включение, я с радостью объединим его или помогу вам с завершением. Однако не ждите какой-либо поддержки, включая реализацию запросов на добавление новых функций или исправлений. Если вы не разработчик и/или не хотите испачкать руки, этот инструмент, вероятно, не для вас.
diff-pdf — инструмент для визуального сравнения двух PDF-файлов.
В качестве аргументов он принимает два PDF-файла. По умолчанию единственным выходом является код возврата, который равен 0, если различий нет, и 1, если два PDF-файла различаются. Если указана опция --output-diff
, создается PDF-файл с визуально выделенными различиями:
$ diff-pdf --output-diff=diff.pdf a.pdf b.pdf
Другой вариант — визуально сравнить два файла в простом графическом интерфейсе, используя аргумент --view
:
$ diff-pdf --view a.pdf b.pdf
Откроется окно, позволяющее просматривать страницы файлов и увеличивать детали. Также возможно сместить две страницы относительно друг друга с помощью стрелок Ctrl (стрелки Cmd в MacOS). Это полезно для выявления различий, связанных только с переводом.
Полный список опций смотрите в выводе $ diff-pdf --help
.
Предварительно скомпилированная версия инструмента для Windows доступна как часть последней версии в виде ZIP-архива, который содержит все необходимое для запуска diff-pdf. Он будет работать из любого места, куда вы его распакуете.
Альтернативно, если вы используете Chocolatey, вы можете установить diff-pdf в Windows с помощью:
$ 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
(Обратите внимание, что первый шаг — запуск сценария ./bootstrap
— требуется только в том случае, если исходные коды сборки проверены системой контроля версий, т. е. когда файлы configure
и Makefile.in
отсутствуют.)
Что касается зависимостей, для 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.
Прежде всего, вам понадобится работающая установка MinGW со средой MSYS2 и компилятором C++. Установите MSYS2, следуя инструкциям.
После установки запустите оболочку MSYS2 MinGW. Откроется окно терминала; введите 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
Соберите diff-pdf так же, как в инструкции для Unix выше:
$ ./bootstrap # only if building from git repository
$ ./configure
$ make
Чтобы создать ZIP-архив со всеми DLL, запустите
$ make windows-dist
В Unix достаточно обычной make install
.
В Windows установка не требуется, просто скопируйте куда-нибудь файлы. Если вы собрали его по инструкции выше, все необходимые файлы будут в созданном ZIP-архиве.