Nota: este repositorio se proporciona tal cual y el código no se está desarrollando activamente. Si desea mejorarlo, se lo agradeceremos mucho: realice los cambios y envíe una solicitud de extracción; con gusto lo fusionaré o lo ayudaré a terminarlo. Sin embargo, no espere ningún tipo de soporte, incluida la implementación de solicitudes de funciones o correcciones. Si no eres desarrollador y/o estás dispuesto a ensuciarte las manos, esta herramienta probablemente no sea para ti.
diff-pdf es una herramienta para comparar visualmente dos archivos PDF.
Toma dos archivos PDF como argumentos. De forma predeterminada, su único resultado es su código de retorno, que es 0 si no hay diferencias y 1 si los dos PDF difieren. Si se le da la opción --output-diff
, produce un archivo PDF con diferencias resaltadas visualmente:
$ diff-pdf --output-diff=diff.pdf a.pdf b.pdf
Otra opción es comparar los dos archivos visualmente en una GUI simple, usando el argumento --view
:
$ diff-pdf --view a.pdf b.pdf
Esto abre una ventana que le permite ver las páginas de los archivos y ampliar los detalles. También es posible desplazar las dos páginas entre sí usando las flechas Ctrl (flechas Cmd en MacOS). Esto es útil para identificar diferencias de traducción únicamente.
Consulte el resultado de $ diff-pdf --help
para obtener una lista completa de opciones.
La versión precompilada de la herramienta para Windows está disponible como parte de la última versión como un archivo ZIP, que contiene todo lo necesario para ejecutar diff-pdf. Funcionará desde cualquier lugar donde lo descomprimas.
Alternativamente, si usa Chocolatey, puede instalar diff-pdf en Windows con:
$ choco install diff-pdf
En Mac, si usas Homebrew, puedes usarlo para instalar diff-pdf con él:
$ brew install diff-pdf
En Mac, si usa Macports, puede instalar diff-pdf con:
$ port install diff-pdf
En Fedora y CentOS 8:
$ sudo dnf install diff-pdf
La versión precompilada para openSUSE se puede descargar desde el servicio de compilación de openSUSE.
El sistema de compilación utiliza Automake y, por lo tanto, se requiere un entorno Unix o similar a Unix (Cygwin o MSYS). La compilación se realiza de la forma habitual:
$ ./bootstrap
$ ./configure
$ make
$ make install
(Tenga en cuenta que el primer paso, ejecutar el script ./bootstrap
, solo es necesario cuando se compilan fuentes verificadas desde el sistema de control de versiones, es decir, cuando faltan los archivos configure
y Makefile.in
).
En cuanto a las dependencias, diff-pdf requiere las siguientes bibliotecas:
$ 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
Instale herramientas de línea de comandos para Xcode:
$ xcode-select --install
e instale Homebrew o MacPorts para administrar las dependencias, luego:
$ brew install automake autoconf wxmac poppler cairo pkg-config
o
$ sudo port install automake autoconf wxWidgets-3.0 poppler cairo pkgconfig
Tenga en cuenta que se requieren muchas más bibliotecas en Windows, donde normalmente ninguna de las bibliotecas que utilizan Cairo y Poppler está disponible. Al momento de escribir este artículo, la cobertura transitiva de las dependencias anteriores incluía fontconfig, freetype, glib, libpng, pixman, gettext, libiconv, libjpeg y zlib.
En primer lugar, necesitará una instalación funcional de MinGW con el entorno MSYS2 y el compilador C++. Instale MSYS2 siguiendo sus instrucciones.
Una vez instalado, inicie el shell MSYS2 MinGW. Se abrirá una ventana de terminal; escriba cd /c/directory/with/diff-pdf
para ir al directorio con fuentes diff-pdf.
Necesitará instalar componentes MSYS adicionales que normalmente no se incluyen con MSYS, usando estos comandos:
$ pacman -Syu
$ pacman -S automake autoconf pkg-config make zip pactoys
$ pacboy -S gcc:p poppler:p wxWidgets:p
Compile diff-pdf de la misma manera que en las instrucciones para Unix anteriores:
$ ./bootstrap # only if building from git repository
$ ./configure
$ make
Para crear un archivo ZIP con todas las DLL, ejecute
$ make windows-dist
En Unix, la make install
habitual es suficiente.
En Windows, la instalación no es necesaria, simplemente copie los archivos en algún lugar. Si lo creó siguiendo las instrucciones anteriores, todos los archivos necesarios estarán en el archivo ZIP creado.