diciembre 25, 2024

Complete News World

Compare visualmente archivos PDF | Hackaday

2 min read

A veces, un problema parece difícil, pero una buena comprensión puede facilitarlo. Si te pidieran que escribieras un programa para comparar dos archivos PDF y mostrar las diferencias, ¿crees que sería difícil? Si usted es [serhack]llegarás ahí más fácil puedes adivinar

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

Obviamente, es mejor para archivos PDF que solo tienen algunas ediciones. Insertar un párrafo, por ejemplo, hace que la salida sea bastante inútil. Para esto, 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 una gran cantidad de mensajes sobre archivos perdidos, pero aún parece hacer el trabajo. Este es el resultado de comparar dos versiones de la página de inicio de Hackaday capturadas en PDF con unos minutos de diferencia:

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

Sigue siendo una idea inteligente. Sorprendentemente, hay pocas herramientas para esto, a pesar de que lo hicimos encontrar a otros. Hay, por supuesto, muchos Herramientas de Linux para manipular archivos PDF. Muchos de ellos son mashups de otras herramientas como éste.

READ  Bitcoin (BTC) llegará muy pronto a cientos de bancos estadounidenses, dice NYDIG »Crypto Insiders


Deja una respuesta

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