Necesito comparar una gran cantidad de archivos PDF para su contenido óptico. Debido a que los archivos PDF se crearon en diferentes plataformas y con diferentes versiones del software, existen diferencias estructurales. Por ejemplo:
- la fragmentación del texto puede ser diferente
- el orden de escritura puede ser diferente
- la posición puede diferir algunos píxeles
Debe comparar el contenido como un pueblo humano y no la estructura interna. Quiero probar las regresiones entre diferentes versiones del generador de PDF que usamos.
Respuestas:
Debido a que no existe tal herramienta disponible, hemos escrito una. Puede descargar el comparador de contenido PDF i-net y utilizarlo. Espero que ayude a otros con el mismo problema. Si tiene problemas con él o tiene comentarios para nosotros, puede comunicarse con nuestro soporte.
fuente
En realidad, existe una herramienta diffpdf.
http://www.qtrac.eu/diffpdf.html
Su debilidad es que no reacciona bien cuando las adiciones hacen que el texto nuevo cambie parcialmente a una nueva página. Por ejemplo, si la antigua página 4 debe compararse con el final de la página 5 y el comienzo de la página 6, deberá cambiar los parámetros para comparar las dos secciones por separado.
fuente
He usado un guión casero que
Software utilizado:
Pros:
Contras:
He estado buscando una herramienta que haga lo mismo a nivel de PDF / PostScript.
Así es como nuestro script invoca las utilidades (tenga en cuenta que ImageMagick usa GhostScript detrás de escena para hacer la conversión PDF-> PNG):
fuente
for i in $(seq -w 0 05); do /cygdrive/c/Progra~1/ImageMagick-6.6.9-Q8/composite.exe 1-$i.png 2-$i.png result-$i.png; done
pdfdiff
directorio y, además, imprime los números de las páginas que difieren entre los dos PDF.Parece que no puedo ver esto aquí, así que aquí está: a través de superusuario: ¿Cómo comparar las diferencias entre dos archivos PDF? (respuesta # 229891, por @slestak) , hay
https://github.com/vslavik/diff-pdf
(Los pasos de compilación para Ubuntu Natty se pueden encontrar en get-diff-pdf.sh )
Por lo que puedo ver, básicamente superpone el texto / gráficos de cada página en el (los) pdf (s), lo que le permite ver fácilmente si hubo algún cambio ...
¡Salud!
fuente
También hemos utilizado pdftotext (consulte la respuesta de Sklivvz) para generar versiones ASCII de PDF y wdiff para compararlos.
Utilice pdftotext's
-layout
conmutador para mejorar la legibilidad y tener una idea de los cambios en el diseño.Para obtener una salida en color agradable de wdiff, use este script contenedor:
fuente
Creo que su mejor enfoque sería convertir el PDF a imágenes con una resolución decente y luego comparar una imagen.
Para generar imágenes a partir de PDF, puede utilizar Adobe PDF Library o la solución sugerida en Mejor forma de convertir archivos pdf a archivos tiff .
Para comparar los archivos TIFF generados, encontré GNU tiffcmp (para Windows parte de GnuWin32 tiff ) y tiffinfo hizo un buen trabajo. Utilice tiffcmp -l y cuente el número de líneas de salida para encontrar las diferencias. Si está contento de tener una pequeña cantidad de cambio de contenido (por ejemplo, diferencias de suavizado), use tiffinfo para contar el número total de píxeles y luego puede generar un valor de diferencia porcentual.
Por cierto, para cualquiera que haga una comparación simple de PDF donde la estructura no ha cambiado, es posible usar la línea de comando diff e ignorar ciertos patrones, por ejemplo, con GNU diff 2.7:
Esto todavía tiene el problema de que no siempre detecta cambios en los nombres de fuente generados.
fuente
Nuestro producto, PDF Comparator - http://www.premediasystems.com/pdfc.html "- hará esto de manera bastante elegante y eficiente. Tampoco es gratuito y es una aplicación exclusiva para Mac OS X.
fuente
ImageMagick
, vea algunas de mis otras respuestas: uno , dos , tres .Según sus necesidades, una solución de conversión a texto sería la más sencilla y directa. Pensé que la idea del mapa de bits era muy buena.
fuente
El software blubeam pdf hará esto por usted
fuente
Puede comparar archivos PDF por lotes con Tarkware Pdf Comparer. Pero no es gratis y requiere Adobe Acrobat.
fuente