J'ai voulu faire cela (différencier les PDF) récemment avec ces exigences :
- ignore les espaces blancs, les sauts de ligne, les sauts de page, etc.
- voir facilement quand quelques mots seulement ont été modifiés, et non des lignes/paragraphes entiers.
- Diffusion des couleurs
J'ai installé pdftotext, wdiff, et colordiff, disponibles dans différents gestionnaires de paquets. (Avec macports : sudo port install poppler wdiff colordiff
)
Ensuite :
wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff
Maintenant je peux voir quels mots, joliment colorés, ont changé.
Plus de détails : http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/
Variation :
Utilisation de dwdiff
peut produire des résultats légèrement meilleurs.
Je voulais aussi une sortie HTML, donc ce petit script fait une page web basique avec un peu de CSS.
bash pc-script.bash old.pdf new.pdf > q.htlm
Ensuite, ouvrez q.html
avec votre navigateur web.
pc-script.bash
fichier :
#!/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 exemple de sortie peut être vu aquí
1 votes
En rapport : stackoverflow.com/questions/145657/
1 votes
Il existe une bibliothèque GRATUITE pour comparer les pdf pixel par pixel. Consultez ce blog : testautomationguru.com/
0 votes
Gratuit. s'exécute dans un navigateur et fonctionne donc sur tous les systèmes d'exploitation. cliquez sur l'icône de sélection de texte en haut à droite, puis ouvrez le document principal dans le volet de gauche et le document secondaire dans la page de droite. cliquez ensuite sur le bouton de lecture en haut à gauche pour lancer la comparaison. faites ensuite défiler les pages pour voir les différences. demo.leadtools.com/JavaScript/DocumentComparison/index.html