¿Cómo comparar las diferencias entre dos archivos PDF en Windows?


205

¿Conoces una buena manera de comparar archivos PDF uno al lado del otro y mostrar las modificaciones entre los dos?

Estoy buscando el software de Windows para lograr esto. Sería genial si puedes publicar productos gratuitos y no gratuitos.



1
Hay una biblioteca GRATUITA para comparar pdf píxel por píxel. Mira este blog: testautomationguru.com/…
Vinoth S

Respuestas:


109

Pruebe WinMerge con el complemento xdocdiff . Ambos son completamente gratis. Sin ataduras.


Algunos de los comentarios a continuación sugieren que no ven ninguna diferencia. Eso significa que el complemento no está instalado correctamente. Así es cómo:

  1. Coloque los archivos donde el xdocdiffarchivo Léame del complemento dice que los coloque (hay dos lugares; no los enumeraré aquí ya que los nombres de los archivos pueden cambiar, etc. - lea el archivo Léame)

  2. En WinMerge, vaya a Complementos> Lista y marque la casilla de verificación "Activar complementos" (este paso falta en el xdocdiffarchivo Léame)

  3. En WinMerge, elija Complementos> Desembalaje automático (esto se deshabilitó antes del paso 2)

Luego, al comparar, verá lo que parecen archivos de texto en las ventanas de comparación.


Intenté esto, pero no pude ver ninguna diferencia cuando no usé el complemento xdocdiff. ¿Hay una opción para seleccionar en la interfaz de usuario de WinMerge?
Umber Ferrule

1
¿Cuál es el propósito de ver el texto binario en un PDF? Esperaba ver las diferencias visuales como lo hizo i-net PDFC .
JJD

¿Hubo alguna forma de hacer que este identificador se rompa? Sin ella, uno cambia las cascadas en varias.
Stuart

1
Plugins > List and tick the "Enable Plugins" checkboxfue lo que me faltaba!
Septiembre

Faltan muchos caracteres en las versiones de texto de los PDF que se muestran en las ventanas de WinMerge diff
cja

168

En Linux y Windows puede usar diffpdf(que difiere de lo diff-pdfmencionado en este hilo).

ingrese la descripción de la imagen aquí

En la instalación de Ubuntu usando:

sudo apt-get install diffpdf

Vea más adelante esta página de UbuntuGeek para comparar pds textual o visualmente .

Para Windows , esta versión Diffpdf de Windows funciona realmente genial. Puede descargar desde http://soft.rubypdf.com/software/diffpdf (desplácese hacia abajo hasta la versión estática Win32 ).


12
El nombre apropiado es DiffPDF (como se ve en la captura de pantalla) y se basa en Qt 4 y la biblioteca Poppler, por lo que es portátil. Consulte la página principal de DiffPDF : qtrac.eu/diffpdf.html . La información sobre la compilación de Windows está aquí: soft.rubypdf.com/software/diffpdf . Y sus instrucciones de instalación también funcionan en Debian.
przemoc

3
La página de inicio de DiffPDF ahora también tiene enlaces para Linux, el instalador de Windows y las instalaciones de Mac DMG ( qtrac.eu/diffpdf.html ).
studgeek

66
DiffPDF es la herramienta más avanzada presentada aquí, en mi opinión. No solo ofrece una buena comparación gráfica, sino que rastrea los cambios de manera más inteligente que otros, por ejemplo, el xdocdiff para WinMerge. Sin embargo, tiene un problema grave: limita la comparación a las páginas. Eso significa que, si tiene algo de texto en la página 2 del documento A, pero este texto se mueve a la página 3 del documento B, entonces la herramienta piensa que es ido en A y en B. añadió
CAW

77
Las versiones gratuitas anteriores se pueden encontrar aquí
Shafik Yaghmour

3
Intenté usar esto para una novela que exporto a PDF. Desafortunadamente, la herramienta perdió la pista después de alrededor de 10 páginas y consideró que todo era "diferente", a pesar de que los pasajes grandes eran exactamente lo mismo.
Eric J.

42

Recientemente encontré esto y me encanta.

https://github.com/vslavik/diff-pdf

Multiplataforma, gratis, y funciona bien.

Aquí hay una captura de pantalla de diff-pdfen acción: tenga en cuenta que el texto no es diferente en el PDF, sino solo las fuentes (y, en consecuencia, la configuración de diseño):

diff-pdf.png

La llamada para obtener esa imagen fue:

diff-pdf --view testA.pdf testB.pdf

 

... donde testA.pdf / testB.pdf se obtienen compilando este simple archivo Latex con pdflatex(en consecuencia para cada pdf, ver comentario):

\documentclass[12pt]{article}


                        % without mathpazo: testA.pdf
\usepackage{mathpazo} % with mathpazo: testB.pdf
\usepackage{lipsum}


\title{A brand new test}
\author{Testulio}

\begin{document}

\maketitle

\lipsum[1-3]

\end{document}

10
Solo una nota más sobre diff-pdf: DiffPDF es ideal para una rápida comparación visual lado a lado del texto modificado, pero es prácticamente imposible depurar cosas como, por ejemplo, pequeños cambios en el espaciado de línea, diff-pdfpor otro lado, básicamente pone el contenido de la página de ambos archivos comparados en la misma página (pero con un color diferente), por lo que los problemas de interlineado se pueden identificar fácilmente ... ¡Salud!
sdaau

¡Esto es genial! ¿Hay alguna forma de rastrear el progreso en archivos grandes cuando se exporta a un archivo PDF (sin usar la opción --view)? La opción detallada / v no parece hacer nada. Además, cuando ejecuta el comando para generar un PDF de comparación, se ejecuta en un proceso separado, por lo que no detiene el símbolo del sistema como normalmente ocurre cuando ejecuta algo desde el indicador.
Lucas

Este es el que necesitaba. Estoy comparando informes en PDF sobre ejecuciones numéricas, por lo que estoy buscando diferencias en un dígito en una página completa. El problema es que no puedo identificar los caracteres cian, pero saber dónde está la diferencia es suficiente para encontrarlo en los informes originales.
manuelvigarcia

22

También necesitábamos comparar archivos PDF en nuestra empresa y no estábamos satisfechos con ninguna de las soluciones que encontramos, así que hicimos la nuestra: i-net PDFC . No es gratis, pero ofrecemos una prueba de 30 días.

Está escrito en Java, por lo que es multiplataforma.

captura de pantalla

Lo que lo hace especial es que compara el contenido en lugar de solo el texto (o simplemente convierte el pdf en una imagen y compara la imagen). También tiene una buena herramienta de comparación visual.


1
Buen bit de software.
Umber Ferrule

No pude hacer que esto funcione. Cargué los dos archivos e hice clic en el botón Comparar y no pasa nada.
Craig Fisher

1
Maneja correctamente las diferencias entre páginas. Tiene una funcionalidad de exportación / impresión. Diferentes perfiles de comparación (incluidos los personalizados). Al pasar el mouse, encontrará más detalles sobre lo que cambió. Se ve muy bien. Los inconvenientes son la prueba / costo y no maneja movimientos. Definitivamente superior a las herramientas más votadas por la OMI.
Jonathan Gawrych

@ JonathanGawrych gracias por las amables palabras! ¿Qué quieres decir con "movimientos" exactamente? Tal vez podríamos agregar esa funcionalidad ...
Epaga

@Epaga Si una sección de texto se mueve de una página a otra, se muestra como una eliminación y una adición. Por ejemplo, compare las propuestas de c ++ N4663 y N4680 . Vea alrededor de la página 19, un ejemplo se mueve del párrafo 11 al 8, sin embargo, se trata como una adición / eliminación. Para ver las diferencias reales, uno necesitaría detectar manualmente algo movido, luego copiar el ejemplo a otra herramienta de diferencias para ver que las cosas se agregaron al ejemplo (unhandled_exception, return_void, etc.)
Jonathan Gawrych


10

Quería hacer esto (archivos PDF de diferencias) recientemente con estos requisitos:

  • ignorar espacios en blanco, saltos de línea, saltos de página, etc.
  • vea fácilmente cuándo solo cambiaron un par de palabras, no solo líneas / párrafos enteros.
  • salida de diferencia de color

Instalé pdftotext, wdiff y colordiff, disponibles en varios administradores de paquetes. (Con macports: sudo port install poppler wdiff colordiff)

Entonces:

wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff

Ahora puedo ver qué palabras, bien coloreadas, han cambiado.

Más detalles: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

Variación:

El uso dwdiffpuede producir resultados ligeramente mejores.

También quería la salida HTML, por lo que este pequeño script crea una página web básica con un poco de CSS.

bash pc-script.bash old.pdf new.pdf > q.htlm

Luego abra q.htmlcon su navegador web.

pc-script.bash archivo:

#!/bin/bash

OLD="$1"
NEW="$2"

cat <<EOF
<html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style>
.plus  { color: green; background: #E7E7E7;                                }
.minus { color: red;   background: #D7D7D7; text-decoration: line-through; }
</style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre>
EOF

dwdiff -i -A best -P      \
  --start-delete='<span class="minus">' --stop-delete='</span>' \
  --start-insert='<span class="plus" >' --stop-insert='</span>' \
  <( pdftotext -enc UTF-8 -layout "$OLD" - )   \
  <( pdftotext -enc UTF-8 -layout "$NEW" - )   \

cat <<EOF
</pre></body></html>
EOF

Un ejemplo de salida se puede ver aquí

ingrese la descripción de la imagen aquí


@philcolbourn Google+ se está cerrando, ¿tal vez compartir la captura de pantalla a través de imgur?
myrdd

fwiw, me topé con este pequeño repositorio: github.com/tpltnt/cli-diffpdf/blob/master/cli-diffpdf.sh
myrdd

Si está utilizando Windows, Mac, Fedora, openSUSE o es capaz de compilar los archivos binarios desde la fuente para su sistema, diff-pdf es una mejor solución que logra esto sin necesidad de instalar tres dependencias diferentes. No debe confundirse con diffpdf mencionado en otra respuesta, que funciona solo a través de GUI.
Hashim

Tenga en cuenta que el pc-script.bashscript no escapa de caracteres para HTML.
Federico

7

Si está comparando texto dentro de un pdf, entonces Beyond Compare lo hace.

No es gratis, pero hay una prueba de treinta días.


Sí, New > Text Compareme ayudó a ver las diferencias básicas en el texto entre 2 archivos PDF.
Ryan

6

Gran herramienta y fácil de usar: Compare-It v4 (de http://www.grigsoft.com/ )

Compara muchos tipos diferentes de archivos. Tiene algunos convertidores integrados, incluido uno para archivos PDF.

Lo he usado varias veces con resultados satisfactorios.

Realmente debería probar esto. La versión de prueba permite la comparación por tiempo ilimitado.


1
Este fue el mejor y más fácil de todos para mí. ¡Gracias!
Ankur Jain

La herramienta más fácil y simple que encontré para usar. ¡Ojalá pudiera votar esto más de una vez!
Chad

Para PDF, la comparación parece ser textual. Último lanzamiento en 2010. Puede pagarlo, pero ¿cuál es la diferencia? ¿No vi ninguna limitación?
Zitrax


1

Gratis, no el mejor pero ...

Abro ambos documentos y los hago dividir la pantalla uno contra el otro.

No es la solución más práctica, ¡pero funciona!

No he visto un buen paquete DIFF para archivos PDF y, aunque es manual y molesto, ¡mi manera funciona!


Hum ... no era exactamente lo que estaba buscando, pero gracias.
Nelson Reis

Lo siento, no sé una buena respuesta, pero solo digo que nunca he encontrado una buena herramienta para archivos PDF.
William Hilsum

3
cruce los ojos para que las dos copias se superpongan, y cualquier diferencia parecerá parpadear. : D
endolito

Versión optimizada de este método: abra ambos archivos PDF en la pantalla completa de Acrobat Reader a través de CTRL + L, luego use CTRL + F6 para cambiar entre los archivos PDF, cualquier cosa que se mueva es diferente ...
Bernard Vander Beken


0

Otra solución menos que ideal:

  1. Convierta ambos archivos PDF a documentos de Microsoft Word utilizando uno de los sitios web que lo hacen de forma gratuita .
  2. Use la funcionalidad de comparación de documentos en Word.

Dependiendo de cuán complejo sea el formato en los PDF y el tipo de cambios que está buscando, esto podría estar bien.


En este caso sería difícil, ya que hay muchos documentos PDF y las modificaciones ocurren con mucha frecuencia. Pero gracias por la sugerencia.
Nelson Reis

Tampoco es bueno para la salida de LaTeX: no he encontrado uno de estos convertidores que maneje las ligaduras, etc.
Chris H

0

Comercial: puede usar el Adobe Acrobat Professional original, por la friolera de $ 449:
compare un PDF revisado con una versión anterior .

Si elige Acrobat, los comentarios en esta página son pertinentes para su uso.


"por la friolera de $ 449" ... ¿y cuántos MB de espacio en disco?
Hugh Allen el

3
@Hugh Allen: Mucho espacio en disco y algunas decenas de miles de entradas en el registro. Un verdadero bloatware.
harrymc el

Artículo de ayuda actualizado para Adobe Acrobat XI: adobe.com/uk/products/acrobat/file-compare-two-pdf-files.html
Squig el



0

Para una forma muy primitiva de desplazamiento sincronizado entre dos archivos pdf, puede usar el siguiente script de autohotkey que escribí. Se supone que tiene dos ventanas SumatraPDF abiertas. Presione hacia la derecha para ir a la página siguiente en ambas ventanas, presione hacia la izquierda para ir a la página anterior.

#IfWinActive ,SumatraPDF
Right::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Right}
WinActivate, ahk_id %win2%
sendinput {Right}
WinActivate, ahk_id %orig%
return

Left::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Left}
WinActivate, ahk_id %win2%
sendinput {Left}
WinActivate, ahk_id %orig%
return

0

Usé esta solución (no ideal, pero para mí suficiente):

  • Convertir PDF a texto plano (en mi caso con Adobe Reader, aplicación gratuita)
  • Use opendiff (incluido con XCode, gratis) y vea los cambios


0

También hay https://www.diffchecker.com/diff gratis en línea .

Pero solo resalta las diferencias de texto sin imágenes y formato. Y es demasiado débil para hacer coincidir fragmentos sin cambios en archivos grandes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.