Ciencias

Compara archivos PDF visualmente | hackaday

A veces, un problema parece difícil, pero el conocimiento adecuado puede facilitarlo. Si te pidieran que escribieras un programa para comparar dos archivos PDF y mostrar las diferencias, ¿qué tan difícil crees que sería? Si tu eres [serhack]lo conseguiras muy fácil de lo que puedes imaginar.

Por supuesto, a veces hacer algo simple depende de hacer suposiciones simplificadoras. Si está esperando una utilidad «similar a diff» que muestre inserciones y eliminaciones, eso no es lo que está sucediendo aquí. En su lugar, verá una imagen del PDF con los cambios resaltados con un cuadro rojo. Esto es fácil porque el programa utiliza las utilidades disponibles para representar los archivos PDF como imágenes y luego simplemente compara los píxeles de las imágenes resultantes, dibujando cuadros rojos sobre las partes que no coinciden.

Obviamente, esto es mejor para archivos PDF que solo tienen algunos cambios. Insertar un párrafo, por ejemplo, hace que la salida sea bastante inútil. Para eso, podría considerar extraer el texto del PDF usando algo como pdf2text (que usa la misma biblioteca subyacente que se usa para generar imágenes).

El programa muestra muchos mensajes sobre archivos que faltan, pero parece hacer el trabajo de todos modos. Este es el resultado de comparar dos versiones de la página de inicio de Hackaday capturadas en PDF con minutos de diferencia:

Sin embargo, puede ver que si se publicara un nuevo artículo y todo se redujera en uno, no tendría nada más que un bloque rojo gigante.

Sigue siendo una idea inteligente. Hay sorprendentemente pocas herramientas para esto, aunque tenemos encontrar algunos otros. Hay, por supuesto, muchos Herramientas de Linux para manejar archivos PDF. muchos de ellos son mashups de otras herramientas como es esto


Prudencia Febo

"Explorador. Entusiasta de la cerveza. Geek del alcohol. Gurú de Internet sutilmente encantador. Erudito de la web en general".

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba