testing - programa - ¿Herramienta para comparar grandes cantidades de archivos PDF?
herramientas para comparar archivos (10)
Creo que su mejor enfoque sería convertir el PDF a imágenes con una resolución decente y comparar las imágenes.
Para generar imágenes desde un PDF, puede utilizar Adobe PDF Library o la solución sugerida en Best way para 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. Use 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 anti-aliasing) entonces 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 de PDF simple 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:
diff --brief -I xap: -I xapMM: -I /CreationDate -I /BaseFont -I /ID --binary --text
Esto todavía tiene el problema de que no siempre capta los cambios en los nombres de fuente generados.
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 una persona humana y no la estructura interna. Quiero probar las regresiones entre las diferentes versiones del generador de PDF que utilizamos.
El software blubeam pdf hará esto por usted
En realidad, hay una herramienta diffpdf.
http://www.qtrac.eu/diffpdf.html
Su debilidad es que no reacciona bien cuando las adiciones hacen que el nuevo texto se desplace parcialmente a una nueva página. Por ejemplo, si la página anterior 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 divisiones por separado.
He usado un guión casero que
- convierte todas las páginas en dos archivos PDF en mapas de bits
- páginas de colores de PDF 1 a rojo sobre blanco
- cambia de blanco a transparente en las páginas de PDF 2
- superpone cada página del PDF 2 en la parte superior de la página correspondiente del PDF 1
- ejecuta conversión / coloración y superposición en paralelo en múltiples núcleos
Software utilizado:
- GhostScript para conversión de PDF a mapa de bits
- ImageMagick para colorear, transparencia y superposición
- inotify para sincronizar procesos paralelos
- cualquier visor de imágenes con capacidad PNG para revisar el resultado
Pros:
- implementación simple
- todas las herramientas utilizadas son de código abierto
- ideal para encontrar pequeñas diferencias en el diseño
Contras:
- la conversión es lenta
- las principales diferencias entre archivos PDF (por ejemplo, paginación) resultan en un desastre
- los mapas de bits no son zoomables
- solo funciona bien para texto y diagramas en blanco y negro
- no hay GUI fácil de usar
He estado buscando una herramienta que haría lo mismo en el nivel PDF / PostScript.
Así es como nuestra secuencia de comandos invoca las utilidades (tenga en cuenta que ImageMagick utiliza GhostScript detrás de las escenas para hacer la conversión PDF-> PNG):
$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images
Nuestro producto, Comparator PDF - http://www.premediasystems.com/pdfc.html "- hará esto de manera elegante y eficiente. Tampoco es gratis, y es una aplicación Mac OS X solamente.
Parece que no puedo ver esto aquí, así que aquí está: a través del 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 se superpone el texto / gráficos de cada página en el pdf (s), lo que le permite ver fácilmente si hubo algún cambio ...
¡Aclamaciones!
Puede comparar por lotes archivos PDF con Tarkware Pdf Comparer. Pero no es gratis y requiere Adobe Acrobat.
Según sus necesidades, una solución de conversión a texto sería la más fácil y la más directa. Pensé que la idea del mapa de bits era genial.
También usamos pdftotext (vea la respuesta de Sklivvz) para generar versiones ASCII de PDF y wdiff para compararlas.
Use el interruptor de puesta al día de pdftotext para mejorar la legibilidad y tener una idea de los cambios en el diseño.
Para obtener una buena salida de color de wdiff, use este script de envoltura:
#!/bin/sh
RED=$''/e''"[1;31m"
GREEN=$''/e''"[1;32m"
RESET=$''/e''"[0m"
wdiff -w$RED -x$RESET -y$GREEN -z$RESET -n $1 $2
Debido a que no hay tal herramienta disponible, hemos escrito una. Puede descargar el comparador de contenido PDF de i-net y usarlo. Espero que ayuden a otros con el mismo problema. Si tiene problemas o si tiene comentarios para nosotros, puede comunicarse con nuestro servicio de asistencia.